1
0
Fork 0
cp/usth/ICT2.7/P1L2 Life Cycle Models Subt.../12 - Spiral Process - lang_...

192 lines
4.4 KiB
Plaintext

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.