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
|
1
00:00:00,218 --> 00:00:03,030
Next I'm going to go over some of the XP's values
2
00:00:03,030 --> 00:00:05,870
and principles that I just hinted on earlier in the lesson.
3
00:00:05,870 --> 00:00:08,820
The first one, the first important value is communication. There
4
00:00:08,820 --> 00:00:12,350
is no good project without good communication. And XP tries to
5
00:00:12,350 --> 00:00:15,470
keep the right communication flowing and it uses several practices
6
00:00:15,470 --> 00:00:18,890
to do that. It's got practices based on and require information
7
00:00:18,890 --> 00:00:21,950
and in general share the information. For example, pair programming.
8
00:00:21,950 --> 00:00:25,140
And we're going to say more about that. User stories, customer involvement,
9
00:00:25,140 --> 00:00:28,240
all activities that help communication,
10
00:00:28,240 --> 00:00:30,440
that faster communication. Another important
11
00:00:30,440 --> 00:00:33,420
principle that we already saw, is simplicity. And the motto here
12
00:00:33,420 --> 00:00:35,680
is live for today without worrying too much about the
13
00:00:35,680 --> 00:00:38,230
future. When you have to do something, look for the simplest
14
00:00:38,230 --> 00:00:40,580
thing that works. And the emphasis here is on, that
15
00:00:40,580 --> 00:00:43,520
works. We want to build something simple, but not something stupid.
16
00:00:43,520 --> 00:00:47,090
Feedback. That's extremely important in XP, and it occurs at
17
00:00:47,090 --> 00:00:50,560
different levels, and it is used to drive changes. For example,
18
00:00:50,560 --> 00:00:53,910
developers write test cases. And that's immediate feedback. If your test cases
19
00:00:53,910 --> 00:00:56,140
fail, there's something wrong with the code. Or there's something that you
20
00:00:56,140 --> 00:00:59,690
still haven't developed. Developers also estimate new stories right away as soon
21
00:00:59,690 --> 00:01:02,060
as they get them from the customers and that's immediate feedback to
22
00:01:02,060 --> 00:01:05,515
the customer. And finally, on a slightly longer time frame, customers and
23
00:01:05,515 --> 00:01:07,820
tester develop together functional system test
24
00:01:07,820 --> 00:01:09,600
cases to assess the overall system.
25
00:01:09,600 --> 00:01:12,100
And also in this case, that's a great way to provide feedback
26
00:01:12,100 --> 00:01:15,850
and by the way, also to help communication. And finally, courage, the courage
27
00:01:15,850 --> 00:01:18,860
to throw away code if it doesn't work. To change it if you
28
00:01:18,860 --> 00:01:21,710
find a way to improve it. To fix it if you find a problem.
29
00:01:21,710 --> 00:01:24,300
To try out new things if you think that they might work better
30
00:01:24,300 --> 00:01:27,410
than what you have right now. Now, that we can build and test systems
31
00:01:27,410 --> 00:01:30,150
very quickly, we can be much braver than what we were before. So
32
00:01:30,150 --> 00:01:33,790
how do we accomplish all that? And what are XP's practices that are going to
33
00:01:33,790 --> 00:01:37,750
help us follow these principles and adhere to those values? These are some
34
00:01:37,750 --> 00:01:40,900
of XP practices. There are more, but those are the ones that I'd like
35
00:01:40,900 --> 00:01:44,240
to discuss in a little more depth, individually. Incremental planning,
36
00:01:44,240 --> 00:01:48,230
small releases, simple design, test first, refactoring. We will actually
37
00:01:48,230 --> 00:01:51,680
have a whole lesson next on refactoring. Pair programming, continuous
38
00:01:51,680 --> 00:01:55,240
integration, and on-site customer. So let's start with incremental planning.
|