Orit Hazzan, Yael Dubinsky1848001983, 978-1-84800-198-5, 978-1-84800-199-2
Table of contents :
Undergraduate Topics in Computer Science……Page 1
Overview and Goals……Page 6
Organization and Features……Page 7
The Academic Community……Page 8
The Industrial Community……Page 10
Acknowledgments……Page 11
Contents……Page 12
1.1 Overview……Page 19
1.3 Study Questions……Page 20
1.4 Three Perspectives on Software Engineering……Page 21
1.5 The Agile Manifesto……Page 22
1.5.1 Individuals and Interactions over Processes and Tools……Page 23
1.5.2 Working Software over Comprehensive Documentation……Page 24
1.5.4 Responding to Change over Following a Plan……Page 25
1.6 Application of Agile Software Development……Page 26
1.7 Data About Agile Software Development……Page 31
1.8.2 Teaching and Learning Principles……Page 33
1.8.3 The Studio Environment……Page 35
1.8.4 The Academic Coach Role……Page 36
1.8.5 Overview of the Studio Meetings……Page 37
1.8.6 Launching the Project Development in the Studio……Page 38
1.9 Summary and Reflective Questions……Page 41
References……Page 42
2.1 Overview……Page 43
2.3 Study Questions……Page 44
2.4 A Role Scheme in Agile Teams……Page 45
2.4.1 Remarks on the Implementation of the Role Scheme……Page 49
2.4.2 Human Perspective on the Role Scheme……Page 50
2.5 Dilemmas in Teamwork……Page 52
2.6.1 Teaching and Learning Principles……Page 54
2.6.2 Role Activities……Page 55
2.6.3 Student Evaluation……Page 58
References……Page 60
3.1 Overview……Page 62
3.3 Study Questions……Page 64
3.4.1 Customer Role……Page 65
3.4.2 Customer Collaboration……Page 71
3.5 The User……Page 72
3.5.1 Combining UCD with Agile Development……Page 74
3.6.1 Teaching and Learning Principles……Page 78
3.6.3 Case Studies of Metaphor Use……Page 79
3.7 Summary and Reflective Questions……Page 84
References……Page 85
4.1 Overview……Page 87
4.3 Study Questions……Page 88
4.4 Time-Related Problems in Software Projects……Page 89
4.4.1 List of Time-Related Problems of Software Projects……Page 90
4.4.2 Case Study 4.1. Software Organizational Survey from the Time Perspective……Page 91
4.5 Tightness of Software Development Methods……Page 93
4.6 Sustainable Pace……Page 95
4.6.1 Case Study 4.2. An Iteration Timetable of an Agile Team……Page 96
4.7.1 Time Measurements……Page 97
4.7.2 Prioritizing Development Tasks……Page 99
4.8.1 The Planning Activity……Page 102
4.8.2 Teaching and Learning Principles……Page 104
4.8.4 The Academic Coach’s Perspective……Page 105
4.9 Summary and Reflective Questions……Page 106
References……Page 107
5.1 Overview……Page 109
5.4 Why Are Measures Needed?……Page 111
5.5 Who Decides What Is Measured?……Page 112
5.6 What Should Be Measured?……Page 113
5.8 How Are Measures Taken?……Page 114
5.10 How Are Measures Used?……Page 115
5.11.1 Measure Definition……Page 116
5.11.2 Measure Illustration……Page 118
5.12.1 Teaching and Learning Principles……Page 124
5.12.2 Measurement Activities……Page 125
5.12.3 Case Study 5.2. Role-Related Measures……Page 127
References……Page 130
6.1 Overview……Page 131
6.2 Objectives……Page 132
6.4 The Agile Approach to Quality Assurance……Page 133
6.4.1 Process Quality……Page 135
6.4.2 Product Quality……Page 136
6.5 Test-Driven Development……Page 137
6.5.1 How Does TDD Help Overcome Some of the Problems Inherent in Testing?……Page 138
6.5.2 Case Study 6.1. TDD Steps……Page 140
6.5.3 Case Study 6.2. Reflection on TDD……Page 141
6.6 Measured TDD……Page 143
6.7.1 Case Study 6.3. Size and Complexity Measures……Page 144
6.7.2 Case Study 6.4. Illustrating Measured TDD……Page 146
6.7.3 Teaching and Learning Principles -|The Case of Quality……Page 152
6.9 Summary……Page 153
References……Page 154
7.1 Overview……Page 155
7.3 Study Questions……Page 156
7.4.1 Agile Software Development from the Constructivist Perspective……Page 157
7.4.2 The Role of Short Releases and Iterations in Learning Processes……Page 158
7.5 Learning in Learning Environments……Page 160
7.5.1 Gradual Learning Process of Agile Software Engineering……Page 161
7.5.2 Learning and Teaching Principle……Page 162
7.5.4 Intermediate Course Review and Reflection……Page 163
References……Page 168
8.1 Overview……Page 170
8.2 Objectives……Page 171
8.3 Study Questions……Page 172
8.4.1 Roles in Agile Teams……Page 173
8.4.2 Case Study 8.1. Abstraction During Iteration Planning……Page 174
8.4.3 The Stand-Up Meeting……Page 176
8.4.4 Design and Refactoring……Page 177
8.5 Abstraction in Learning Environments……Page 179
8.5.1 Teaching and Learning Principles……Page 180
8.5.2 Case Study 8.2. RefactoringActivity……Page 181
8.6 Summary and Reflective Questions……Page 184
References……Page 185
9.1 Overview……Page 186
9.3 Study Questions……Page 187
9.4 Software Intangibility and Process Transparency……Page 188
9.5 Game Theory Perspective in SoftwareDevelopment……Page 190
9.6 Ethics in Agile Teams……Page 194
9.7 Diversity……Page 198
9.8.1 Teaching and Learning Principle……Page 201
9.9 Summary and Reflective Questions……Page 202
References……Page 203
Globalization……Page 204
10.2 Objectives……Page 205
10.4 The Agile Approach in Global Software Development……Page 206
10.4.1 Communication in Distributed Agile Teams……Page 207
10.4.3 Case Study 10.1. Tracking Agile Distributed Projects……Page 208
10.4.4 Reflective Processes in Agile Distributed Teams……Page 209
10.4.5 Organizational Culture and Agile Distributed Teams……Page 210
10.5.1 Case Study 10.2. Book Writing……Page 211
10.6.1 Teaching and Learning Principles……Page 212
10.6.2 An Agile Perspective on the Book/Course Structure……Page 213
10.6.3 Case Study 10.3. Follow-the-Sun with Agile Development……Page 214
10.7 Summary and Reflective Questions……Page 216
References……Page 217
11.1 Overview……Page 219
11.3 Study Questions……Page 220
11.4 Case Study 11.1. Reflection on Learning in Agile Software Development……Page 221
11.5 Reflective Practitioner Perspective……Page 222
11.6 Retrospective……Page 224
11.6.1 The Retrospective Facilitator……Page 225
11.6.2 Case Study 11.2. Guidelines for a Retrospective Session……Page 226
11.6.3 Application of Agile Practices in Retrospective Sessions……Page 227
11.6.4 End of the Release Retrospective……Page 229
11.8 Summary and Reflective Questions……Page 233
References……Page 234
12.1 Overview……Page 236
12.2 Objectives……Page 237
12.4 A Conceptual Framework for Change Introduction……Page 238
12.4.1 Changes in Software Requirements……Page 240
12.4.2 Organizational Changes……Page 243
12.5 Transition to an Agile Software Development Environment……Page 247
12.5.1 Organizational Survey……Page 248
12.5.2 Case Study 12.1.AReport of an Organizational Survey……Page 250
12.5.3 Case Study 12.2. Applying an Agile Process to a Transition Process……Page 254
12.6.1 Introducing the Teaching of Agile Software Development……Page 257
12.6.2 Two-Day Workshop……Page 258
12.6.3 Two-Day Workshop Format for a Team of Academic Coaches……Page 263
12.7 Summary and Reflective Questions……Page 264
References……Page 265
13.1 Overview……Page 266
13.3 Study Questions……Page 268
13.4 Leaders……Page 269
13.4.1 Leadership Styles……Page 270
13.4.2 Case Study 13.1. The Agile Change Leader……Page 271
13.6 Leadership in Learning Environments……Page 277
13.6.2 Case Study 13.2. A Coaching Framework……Page 278
References……Page 286
14.1 Overview……Page 288
14.3 Study Questions……Page 289
14.4.1 Towards the End of the Release……Page 290
14.4.2 Release Celebration……Page 291
14.4.3 Reflective Session Between Releases……Page 293
14.5 Cyclicality……Page 300
14.6.1 The Delivery in the Studio……Page 301
14.6.2 Teaching and Learning Principles……Page 303
14.8 Summary……Page 304
References……Page 305
Epilogue……Page 306
Index……Page 307
Reviews
There are no reviews yet.