1
0
Fork 0
cp/usth/ICT2.7/P1L2 Life Cycle Models Subt.../1 - Introduction with Barry...

164 lines
3.8 KiB
Plaintext

1
00:00:00,430 --> 00:00:06,300
Hi, in the last lesson we provided an overview of the course and motivated the
2
00:00:06,300 --> 00:00:09,570
need for software engineering. In this lesson,
3
00:00:09,570 --> 00:00:13,090
we will present and start discussing several traditional
4
00:00:13,090 --> 00:00:16,090
software engineering life cycle models. We will
5
00:00:16,090 --> 00:00:18,790
talk about their main advantages, and also about
6
00:00:18,790 --> 00:00:21,840
their shortcomings. We will also talk about
7
00:00:21,840 --> 00:00:25,720
classic mistakes in software engineering that is well
8
00:00:25,720 --> 00:00:29,530
known ineffective development practices, that when
9
00:00:29,530 --> 00:00:32,590
followed, tend to lead to better results. And
10
00:00:32,590 --> 00:00:35,120
covering those, will hopefully help us to avoid
11
00:00:35,120 --> 00:00:38,350
them in the future. And because in this
12
00:00:38,350 --> 00:00:41,290
lesson, I will discuss some fundamental aspects of
13
00:00:41,290 --> 00:00:44,730
software engineering, to suitably introduce these topics, I
14
00:00:44,730 --> 00:00:47,110
went to the University of Southern California, to
15
00:00:47,110 --> 00:00:50,300
interview one of the fathers of software engineering;
16
00:00:50,300 --> 00:00:53,070
Professor Barry Boehm.
17
00:00:53,070 --> 00:00:59,060
>> A well, a software life cycle is a sequence of, of decisions that you
18
00:00:59,060 --> 00:01:01,895
make, and it's fundamentally those decisions are
19
00:01:01,895 --> 00:01:05,280
going to be part of the history of the
20
00:01:05,280 --> 00:01:09,500
software that. You are going to build that other people are going to use, and
21
00:01:09,500 --> 00:01:15,330
the process model is basically answering the question of what do I do next and
22
00:01:15,330 --> 00:01:20,550
how long shall I do it for. And again, because there are a lot of different ways
23
00:01:20,550 --> 00:01:24,220
you can make that decision, you need to
24
00:01:24,220 --> 00:01:27,640
figure out which models are good for which particular
25
00:01:27,640 --> 00:01:31,475
situations. So, for example, we've, written a book
26
00:01:31,475 --> 00:01:34,846
that's called Balancing Agility and Discipline. It says under
27
00:01:34,846 --> 00:01:37,835
what conditions should you use agile methods, under
28
00:01:37,835 --> 00:01:40,824
which conditions should you invest more time in analyzing
29
00:01:40,824 --> 00:01:44,826
the situation and planning what you're going to do and the like. And so,
30
00:01:44,826 --> 00:01:49,866
typically if the project is, is small where it's three to ten
31
00:01:49,866 --> 00:01:55,271
people, agile works pretty well. If it's 300
32
00:01:55,271 --> 00:02:00,545
people, then I think we don't want to go that way. If the affect of
33
00:02:00,545 --> 00:02:05,960
the defect is loss of comfort or limited funds, then agile is fine,
34
00:02:05,960 --> 00:02:11,184
but if it is a loss of life, then you don't. On the other hand if, if
35
00:02:11,184 --> 00:02:13,776
you have a situation where you have lot
36
00:02:13,776 --> 00:02:17,745
of unpredictable change, you really don't want to spend
37
00:02:17,745 --> 00:02:23,439
a lot of time writing plans and lots of documents. In some cases you may have a
38
00:02:23,439 --> 00:02:26,907
project where you want to do waterfall in
39
00:02:26,907 --> 00:02:31,140
some parts and agile in others. So, these are
40
00:02:31,140 --> 00:02:36,180
the kind of things that, that make the choice of life cycle process
41
00:02:36,180 --> 00:02:41,409
model very important and very interesting as a subject of research.