1
0
Fork 0
cp/usth/ICT2.7/P1L2 Life Cycle Models Subt.../15 - Agile Process - lang_e...

124 lines
2.8 KiB
Plaintext

1
00:00:00,150 --> 00:00:02,300
The next type of software process models that I
2
00:00:02,300 --> 00:00:06,300
want to discuss are Agile Software Development Processes. And this
3
00:00:06,300 --> 00:00:08,470
is a group of software development methods that are
4
00:00:08,470 --> 00:00:12,620
based on highly iterative and incremental development. And in particular,
5
00:00:12,620 --> 00:00:16,000
I'm going to discuss Test Driven Development or TDD. The
6
00:00:16,000 --> 00:00:18,490
space on the iteration of three main phases. In
7
00:00:18,490 --> 00:00:20,970
the first one that we mark as red, we
8
00:00:20,970 --> 00:00:25,350
write test cases that encode our requirements, and for which
9
00:00:25,350 --> 00:00:29,180
we haven't written code yet. And therefore, they will fail, obviously.
10
00:00:29,180 --> 00:00:31,800
So we're in this sort of red or fail phase. From
11
00:00:31,800 --> 00:00:34,830
this phase, we move to this phase, in which after we
12
00:00:34,830 --> 00:00:37,970
write the just enough code to make the test cases pass.
13
00:00:37,970 --> 00:00:40,670
We have a set of test cases that are all passing.
14
00:00:40,670 --> 00:00:43,810
And therefore, we can consider this as the green phase. We
15
00:00:43,810 --> 00:00:46,930
had enough code to make the test cases pass because the
16
00:00:46,930 --> 00:00:50,520
test cases encode our requirements. We have just written enough code to
17
00:00:50,520 --> 00:00:53,940
satisfy our requirements. When we do this over time though,
18
00:00:53,940 --> 00:00:57,080
what happens is that the structure of the code deteriorates, because
19
00:00:57,080 --> 00:00:59,100
we keep adding pieces. So that's why we have the
20
00:00:59,100 --> 00:01:02,540
first step, which is refactoring. In this step, we modify the
21
00:01:02,540 --> 00:01:05,724
code, and we will talk about refactoring extensively. We'll devote
22
00:01:05,724 --> 00:01:08,190
one lesson to it. We modify the code to make it
23
00:01:08,190 --> 00:01:12,650
more readable, more maintainable. In general, we modify to improve the
24
00:01:12,650 --> 00:01:15,560
design of the code. And after this phase, we will go
25
00:01:15,560 --> 00:01:17,670
back to writing more test cases for
26
00:01:17,670 --> 00:01:19,730
new requirements, write code that makes these
27
00:01:19,730 --> 00:01:24,870
test cases pass, and so on. So we'll continue to iterate among these phases. And
28
00:01:24,870 --> 00:01:26,500
also, in this case, we will talk
29
00:01:26,500 --> 00:01:29,390
about Agile Software Processes. And in particular,
30
00:01:29,390 --> 00:01:32,250
about extreme programming, or XP, and Scrum
31
00:01:32,250 --> 00:01:35,349
in more details, in minor course number four.