This book contains the refereed proceedings of the 11th International Conference on Agile Software Development, XP 2010, held in Trondheim, Norway, in June 2010. In order to better evaluate the submitted papers and to highlight the applicational aspects of agile software practices, there were two different program committees, one for research papers and one for experience reports. Regarding the research papers, 11 out of 39 submissions were accepted as full papers; and as far as the experience reports were concerned, the respective number was 15 out of 50 submissions. In addition to these papers, this volume also includes the short research papers, the abstracts of the posters, the position papers of the PhD symposium, and the abstracts of the panel on “Collaboration in an Agile World”.
Author(s): Alberto Sillitti, Angela Martin, Xiaofeng Wang, Elizabeth Whitworth (Eds.)
Edition: 1st Edition.
Publisher: Springer
Year: 2010
Language: English
Pages: 430
Lecture Notes in Business Information Processing 48......Page 2
Introduction......Page 14
Refactoring and Program Behavior Preservation......Page 16
Refactoring and Unit Tests Adaptation......Page 17
Unit Test: A Specialized Client......Page 18
Type II: Refactoring Guidelines That Correctly Refactor the Production Code but Break Or Require Extension to the Test Code......Page 20
Type III: Refactoring Guidelines That Are Insufficient for Restructuring Production and Test Code......Page 21
Extending Refactoring Guidelines......Page 22
References......Page 25
Introduction......Page 27
Penetration Testing......Page 28
Comparison of Methods......Page 29
Extending Agile Security Testing and Integrating It into Scrum......Page 30
Case Study......Page 34
Results and Discussion......Page 36
Conclusion and Further Work......Page 38
References......Page 39
Introduction......Page 41
Theoretical Background......Page 42
Research Approach......Page 43
Diagnosing......Page 45
Action Planning......Page 48
Action Taking......Page 49
Evaluating......Page 50
Specifying Learning......Page 52
Conclusions......Page 53
References......Page 54
Software Product Line Engineering......Page 56
Software Product Lines and Agility......Page 57
Overview......Page 58
The Variability Introduction Process......Page 59
Automation......Page 65
Goals and Setting......Page 66
Results and Limitations......Page 67
Threats to Validity......Page 68
Conclusion......Page 69
References......Page 70
Introduction......Page 71
The Overview Pyramid......Page 72
Detection Strategies......Page 74
Data Collection......Page 76
Results and Findings......Page 77
System Coupling......Page 78
Re-structuring of a God Class......Page 79
Team Factors......Page 82
Summary and Conclusions......Page 83
References......Page 84
Research Method......Page 86
Data Analysis......Page 87
Results......Page 88
Context......Page 89
Skepticism and Hype......Page 90
Lack of Time Commitment......Page 91
Ineffective Customer Representative......Page 92
Problems in Securing Feedback......Page 93
Changing Priority......Page 94
Story Owners......Page 95
E-Collaboration......Page 96
Discussion and Related Work......Page 97
References......Page 99
Introduction......Page 101
Background......Page 102
Challenges in Agile Transformation......Page 103
Research Context......Page 104
Defect Data......Page 106
Perceptions of Code Quality......Page 108
Perception of Change in Defect Data......Page 109
Engagement in Agile Transformation......Page 110
Discussion......Page 111
References......Page 113
Appendix A: Emotional Engagement Survey Questions......Page 115
Introduction......Page 116
The Problem......Page 117
Related Work......Page 118
Similarity Measure......Page 119
The Architecture......Page 121
Learning Weights......Page 122
Evaluation Data......Page 123
An Example......Page 124
Results......Page 125
Evaluation......Page 126
Future Work......Page 127
References......Page 128
Introduction......Page 130
Related Work......Page 131
Goals......Page 132
Metrics......Page 135
Study Design......Page 136
Data Collection......Page 137
Results......Page 138
Interpretation......Page 141
Threats to Validity......Page 142
Conclusion and Outlook......Page 143
References......Page 144
Introduction......Page 145
Background and Motivation......Page 146
Tool Support for Test-Driven Development......Page 147
Continuous Test Queuing, Selecting, and (Re-)Executing......Page 148
Propagating Modifications to the Code Base......Page 149
Queuing and Executing Tests for TDD......Page 150
Re-executing Selected Tests for OO Software......Page 152
Establishing a Coverage Relationship......Page 153
Test Set Reduction......Page 154
Tool Support for Test-Driven Development......Page 155
Regression Test Selection......Page 156
References......Page 157
Introduction......Page 160
Development and Research Objectives......Page 162
The MacXim Case Study......Page 163
Data Collection......Page 165
Case Study Result......Page 166
Related Work......Page 169
Conclusions and Future Work......Page 170
References......Page 171
Introduction......Page 173
The Approach......Page 174
Workflow......Page 175
Tools Suite......Page 177
References......Page 178
Introduction......Page 179
The Study Context......Page 180
Data Gathering and Analysis......Page 181
Findings......Page 182
Discussion and Conclusions......Page 183
References......Page 184
Research Method and Participants......Page 185
The Importance of Trust......Page 186
Increasing Effective Communication......Page 187
Understanding Cultural Differences......Page 188
References......Page 189
Introduction......Page 191
Shaped by Decisions......Page 192
Conclusions and Future Work......Page 195
References......Page 196
Introduction......Page 197
Research Methodologies and Data Collection......Page 198
Main Issues Raised Initially in the First Stage Interview......Page 199
Conclusions and Summary......Page 201
References......Page 202
Introduction......Page 203
Problem Description......Page 204
User Stories Dependencies Identification Method......Page 205
Example of Use......Page 207
References......Page 208
Introduction......Page 209
Data Collection and Analysis......Page 210
Creating Effective Agile Documents......Page 211
Personality Factors toward Successful Creation of Agile Documents......Page 212
References......Page 213
Introduction......Page 215
Related Work......Page 216
Architecture of the AFA Framework......Page 217
Discussion......Page 218
References......Page 219
Introduction......Page 221
People......Page 222
Code Design......Page 223
What to Test in STDD......Page 224
Discussion......Page 225
References......Page 226
Introduction......Page 227
Case Study......Page 228
Methodological Approach......Page 229
Results......Page 230
References......Page 232
Introduction......Page 233
Background: A Test-Driven Approach for Web Applications......Page 234
Representing Changes as First-Class Objects......Page 235
Mapping Requirement Changes onto the Implementation......Page 236
A Proof of Concept......Page 237
References......Page 238
Introduction......Page 239
Framework for Assessing Software Engineering Process Technologies......Page 240
Organizational Adoptability......Page 241
Community Adoptability: Economics of Technology Standards......Page 242
Conclusions......Page 243
References......Page 244
Introduction......Page 245
Context and Data......Page 246
Analysis Methods......Page 247
Limitations......Page 248
Conclusions......Page 249
References......Page 250
Introduction......Page 251
Rolling Forecast for Product Planning......Page 252
Supporting Release Planning Model......Page 253
Real-Life Example......Page 254
References......Page 256
Introduction......Page 257
Nobody Owns the UI......Page 258
I Own the UI......Page 259
They Own the UI......Page 260
Conclusion......Page 262
Project Environment and Context......Page 264
Pragmatic Solutions to Difficult Problems......Page 265
The Value of Tools......Page 266
Shared Documents......Page 267
Example: Retrospective Meeting......Page 268
Effective Benefits......Page 269
Finding the Right Time......Page 270
Human Flaws......Page 271
Conclusion......Page 272
References......Page 273
Overview of Organization and Adoption Process......Page 274
Transitioning with TDD Styles......Page 275
Case 1: New Development, Team Used Pure TDD......Page 278
Case 3: Test Drive towards Sketch Design......Page 279
Case 4: New Development, Test after Coding......Page 280
Summary and Conclusions: Transitioning to TDD Lessons Distilled......Page 281
Introduction......Page 282
Wooden Pyramid of Success......Page 283
Characteristics of Successful Coaches......Page 284
The Importance of a Well Defined System......Page 285
Using Sports Coaching in Agile......Page 286
Inspecting and Adopting Is Part of Sports Coaching......Page 287
Agile Assessment Results......Page 288
References......Page 289
Introduction......Page 290
Starting the Project......Page 291
Prototyping Phase......Page 292
Changing the Rules......Page 293
Adapting to the New Rules......Page 295
Current Status......Page 297
Conclusion......Page 298
References......Page 299
Introduction......Page 300
Framing Lightweight Experiments with the Scientific Method......Page 301
Data Collection......Page 303
The Experiment Work Plan......Page 304
Observations about Software Quality......Page 305
Observations about Effort and Schedule......Page 306
Additional Observations......Page 307
Conclusion......Page 308
References......Page 309
Introduction......Page 310
Context......Page 311
Make Work Visible......Page 312
Help Work to Flow......Page 313
Growing Kanban......Page 314
Team Challenges......Page 315
Organizational Challenges......Page 316
Conclusion and Recommendations......Page 318
Reference......Page 319
Organisation and Growth......Page 320
Growing First Wave......Page 321
Test Automation Strategy......Page 322
Test Automation and Continuous Integration (CI)......Page 323
Analysis of Achieved Results......Page 325
Conclusions......Page 326
References......Page 327
Introduction......Page 328
Assessing Agile Projects......Page 329
Iterative Development Is Not Agile Development......Page 333
Focus on Value Delivered, Not Effort Expended......Page 334
Conclusions......Page 336
References......Page 337
The Iteration......Page 338
Release Cycle......Page 339
The Move to Flow-Based Development......Page 340
Define a Workflow......Page 341
Same-Size Work Items......Page 343
Establish Holistic Key Performance Indicators......Page 344
Improve Relentlessly......Page 345
References......Page 347
Introduction......Page 348
Stakeholder Engagement in API Design......Page 349
Test Client Application......Page 350
Shared API Component......Page 352
The Test Client Evolves with the API......Page 353
API Design Meetings......Page 354
Conclusions......Page 355
Defining the Chaos......Page 357
Development Focus......Page 358
A Focus on Quality......Page 359
Moving to Minimum Marketable Features......Page 360
Discussion......Page 363
Conclusions......Page 364
References......Page 365
A Brief History......Page 366
The Mats Subsystem......Page 367
Application Layer Separation......Page 369
Summary......Page 370
Difficulties......Page 371
Effect......Page 372
Summary......Page 373
References......Page 374
Our Team......Page 375
First Steps......Page 376
Kaizen Workshop – Getting to Know the Project......Page 377
Transition to Agile......Page 378
Organizing Release Project According to Patterns......Page 379
Mentoring and Coaching Infrastructure......Page 380
Mentoring Lessons Learnt and Hints......Page 381
Final Words......Page 383
References......Page 384
Introduction......Page 385
Trialing Scrum......Page 386
Life in the ``Agile Room''......Page 387
Outcomes......Page 389
Recommendations......Page 390
Agile at Cimex: Post-Trial......Page 391
Reinforcing the Learning of Agile Practices Using Coding {\it Dojos}......Page 392
References......Page 393
Introduction......Page 394
References......Page 395
Open Source and Agile Methods: Two Worlds Closer than It Seems......Page 396
References......Page 397
Proposed Technique......Page 398
References......Page 399
The Language Gap......Page 400
References......Page 401
Introduction......Page 402
References......Page 403
Balanced Process of Project Management......Page 404
References......Page 405
TDD Does Not Influence Internal Quality Directly......Page 406
References......Page 407
Results......Page 408
References......Page 409
Results......Page 410
References......Page 411
Methods and Result......Page 412
References......Page 413
Objective and What to Achieve......Page 414
References......Page 415
Description of the Study......Page 416
References......Page 417
Research Questions......Page 418
References......Page 419
Research Approach......Page 420
Research Methodology......Page 421
References......Page 422
Steven Fraser {\it (panel impresario)}......Page 423
Bjørn Alterhaug......Page 424
David Anderson......Page 425
Diana Larsen......Page 426
Scott Page......Page 427
Author Index......Page 429