about summary refs log tree commit diff
path: root/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/12 - Spiral Process - lang_en_vs4.srt
blob: 2d0cdf95b2bd92322675ffc254e5357f2240e18b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
1
00:00:00,120 --> 00:00:02,600
The next model that we will discuss is the spiral

2
00:00:02,600 --> 00:00:05,630
model, which was first described by Barry Boehm, which is

3
00:00:05,630 --> 00:00:08,010
the professor that we interviewed at the beginning of this

4
00:00:08,010 --> 00:00:12,240
lesson. In his paper from 1986 that was entitled A Spiral

5
00:00:12,240 --> 00:00:15,730
Model of Software Development and Enhancement. And one of the

6
00:00:15,730 --> 00:00:18,520
main characteristics of that paper is that it was describing the

7
00:00:18,520 --> 00:00:21,670
spiral model using a diagram, which is the one that

8
00:00:21,670 --> 00:00:25,130
I'm showing you here, and this diagram has become very very

9
00:00:25,130 --> 00:00:27,950
popular, and you probably saw it either in this

10
00:00:27,950 --> 00:00:30,400
form or one of the many variations of the

11
00:00:30,400 --> 00:00:32,680
diagram. So I'm not going to discuss all of

12
00:00:32,680 --> 00:00:34,770
the details of the spiral model, but I just want to

13
00:00:34,770 --> 00:00:37,510
give you an idea of its main characteristics. The

14
00:00:37,510 --> 00:00:41,580
spiral model is an incremental risk-oriented lifecycle model that has

15
00:00:41,580 --> 00:00:46,330
four main phases listed here: determine objectives, identify and

16
00:00:46,330 --> 00:00:51,180
resolve risks, development and tests, and plan the next iteration.

17
00:00:51,180 --> 00:00:53,690
A software project will go through these four phases in

18
00:00:53,690 --> 00:00:57,020
an iterative way. In the first phase, the requirements will

19
00:00:57,020 --> 00:00:59,470
be gathered. In the second phase, the risks and the

20
00:00:59,470 --> 00:01:04,010
alternate solutions will be identified, and a prototype will be produced.

21
00:01:04,010 --> 00:01:06,190
Software and tests for the software are produced in the

22
00:01:06,190 --> 00:01:09,210
development and test phase, which is the third step of the

23
00:01:09,210 --> 00:01:12,830
process. Finally, in the fourth phase, the output of the

24
00:01:12,830 --> 00:01:16,880
project, so far, is evaluated, and the next iteration is planned.

25
00:01:16,880 --> 00:01:19,960
So basically, what the spiral process prescribes is a

26
00:01:19,960 --> 00:01:23,262
way of developing software by going through these phases in

27
00:01:23,262 --> 00:01:26,020
an iterative way, in which we learn more and more

28
00:01:26,020 --> 00:01:29,420
of the software, we identify more and more, and account

29
00:01:29,420 --> 00:01:32,250
for, more and more risks and we go more

30
00:01:32,250 --> 00:01:36,000
and more towards our final solution, our final release. There

31
00:01:36,000 --> 00:01:38,930
are several advantages of using a spiral model. The first

32
00:01:38,930 --> 00:01:41,930
one is that the extensive risk analysis does reduce the

33
00:01:41,930 --> 00:01:44,140
chances of the project to fail. So there is a

34
00:01:44,140 --> 00:01:48,300
risk reduction advantage. The second advantage is that functionality can be

35
00:01:48,300 --> 00:01:51,190
added at a later phase because of the iterative nature of

36
00:01:51,190 --> 00:01:55,175
the process. And finally, software is produced early in the software

37
00:01:55,175 --> 00:01:58,260
lifecycle. So, at any iteration, we have something to show

38
00:01:58,260 --> 00:02:01,300
for our development. We don't wait until the end before producing

39
00:02:01,300 --> 00:02:03,790
something. And then of course there's also the advantage that we

40
00:02:03,790 --> 00:02:07,190
can get early feedback from the customer about what we produced.

41
00:02:07,190 --> 00:02:09,000
The main disadvantages on the other hand of

42
00:02:09,000 --> 00:02:11,870
the spiral model, are that the risk analysis requires

43
00:02:11,870 --> 00:02:16,560
a highly specific expertise. And unfortunately, the whole success

44
00:02:16,560 --> 00:02:19,260
of the process is highly dependent on risk analysis.

45
00:02:19,260 --> 00:02:21,580
So risk analysis has to be done right.

46
00:02:21,580 --> 00:02:24,510
And finally the spiral model is way more complex

47
00:02:24,510 --> 00:02:27,180
than other models, like for example, the water fall

48
00:02:27,180 --> 00:02:29,760
model. And therefore it can be costly to implement.