about summary refs log tree commit diff
path: root/usth/ICT2.7/P4L4 Agile Development Methods Subtitles/4 - Extreme Programming (XP) - lang_en_vs4.srt
blob: 62cc2fa7d62943fc9b0b661f53f6f0b128a25217 (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
1
00:00:00,100 --> 00:00:02,490
So now let's talk about a specific agile method, which

2
00:00:02,490 --> 00:00:05,850
is also one of the first ones, extreme programming, also called

3
00:00:05,850 --> 00:00:08,430
XP. And to introduce XP, I'm going to start with

4
00:00:08,430 --> 00:00:12,520
a quote. The quote says XP is a lightweight methodology for

5
00:00:12,520 --> 00:00:16,180
small to medium sized teams developing software in the face

6
00:00:16,180 --> 00:00:19,770
of vague or rapidly-changing requirements. And this is a quote from

7
00:00:19,770 --> 00:00:23,010
Kent Beck the American Software Engineer that created extreme programming.

8
00:00:23,010 --> 00:00:25,630
And by the way Beck was one of the original 17

9
00:00:25,630 --> 00:00:29,570
developers who signed the manifesto in 2001. And as you can see

10
00:00:29,570 --> 00:00:31,940
we are still talking about the methodology. So we are not just

11
00:00:31,940 --> 00:00:35,760
talking about going out and just start writing software. There are principles.

12
00:00:35,760 --> 00:00:38,130
And there are practices that we need to follow, but we're going

13
00:00:38,130 --> 00:00:40,330
to do it in a much more agile, and a much more

14
00:00:40,330 --> 00:00:43,720
flexible ways than we did for our software processes. And also note

15
00:00:43,720 --> 00:00:45,340
that the vague and rapidly changing

16
00:00:45,340 --> 00:00:47,190
requirements are explicitly mentioned, because this

17
00:00:47,190 --> 00:00:51,130
is really one of the important parts about all of this agile methodologies.

18
00:00:51,130 --> 00:00:54,780
so what is XP? XP is a. Lightweight. Humanistic.

19
00:00:54,780 --> 00:00:58,250
Discipline. Of software development. It is lightweight because it doesn't

20
00:00:58,250 --> 00:01:02,190
overburden the developers with an invasive process. So process

21
00:01:02,190 --> 00:01:04,510
is kept to a minimum. It's humanistic because as we

22
00:01:04,510 --> 00:01:07,760
said, it's centered on people. People, developers, customers, are

23
00:01:07,760 --> 00:01:10,520
at the center of the process. It's a discipline, as

24
00:01:10,520 --> 00:01:12,870
we said, it includes practices that we to Follow.

25
00:01:12,870 --> 00:01:16,470
And finally, is of course about software development. Software development

26
00:01:16,470 --> 00:01:19,530
is a key point of the whole method. In XP, developing

27
00:01:19,530 --> 00:01:22,910
is like driving, imagine having a road, a wind road, we need

28
00:01:22,910 --> 00:01:25,110
to able to drive our car down the road, take the

29
00:01:25,110 --> 00:01:29,640
abrupt turns, react promptly to changes, for example obstacles on the road.

30
00:01:29,640 --> 00:01:32,610
So, in a nutshell, change is the only constant. Eyes always

31
00:01:32,610 --> 00:01:34,980
have to be on the road and it's about steering and not

32
00:01:34,980 --> 00:01:38,110
pointing, and XP is trying to do the same thing, while creating

33
00:01:38,110 --> 00:01:42,190
softer systems. In XP we need to adopt a mentality of sufficiency,

34
00:01:42,190 --> 00:01:44,820
what does that mean? How would you program if you had all

35
00:01:44,820 --> 00:01:48,010
the time in the world? No time constraints at all, you will probably

36
00:01:48,010 --> 00:01:51,090
write tests instead of skipping them, because there's no more resources. You

37
00:01:51,090 --> 00:01:53,200
will probably restructure your code often,

38
00:01:53,200 --> 00:01:55,210
because you see opportunities to improve it,

39
00:01:55,210 --> 00:01:57,300
and you will take them. And you will probably talk to fellow

40
00:01:57,300 --> 00:02:00,910
programmers and with the customer, interact with them, and this is actually the

41
00:02:00,910 --> 00:02:04,700
kind of mentality that XP is trying to promote and agile processes

42
00:02:04,700 --> 00:02:07,760
in general. And we will see that the following some of the practices

43
00:02:07,760 --> 00:02:11,250
that XP is advocating, you can actually achieve these goals and you can

44
00:02:11,250 --> 00:02:12,840
actually behave in this way. And the

45
00:02:12,840 --> 00:02:15,010
development process is going to benefit overall.