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
|
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.
|