Lecture Notes in Computer Science 4044 CommencedPublicationin1973 FoundingandFormerSeriesEditors: GerhardGoos,JurisHartmanis,andJanvanLeeuwen EditorialBoard DavidHutchison LancasterUniversity,UK TakeoKanade CarnegieMellonUniversity,Pittsburgh,PA,USA JosefKittler UniversityofSurrey,Guildford,UK JonM.Kleinberg CornellUniversity,Ithaca,NY,USA FriedemannMattern ETHZurich,Switzerland JohnC.Mitchell StanfordUniversity,CA,USA MoniNaor WeizmannInstituteofScience,Rehovot,Israel OscarNierstrasz UniversityofBern,Switzerland C.PanduRangan IndianInstituteofTechnology,Madras,India BernhardSteffen UniversityofDortmund,Germany MadhuSudan MassachusettsInstituteofTechnology,MA,USA DemetriTerzopoulos UniversityofCalifornia,LosAngeles,CA,USA DougTygar UniversityofCalifornia,Berkeley,CA,USA MosheY.Vardi RiceUniversity,Houston,TX,USA GerhardWeikum Max-PlanckInstituteofComputerScience,Saarbruecken,Germany Pekka Abrahamsson Michele Marchesi Giancarlo Succi (Eds.) Extreme Programming and Agile Processes in Software Engineering 7th International Conference, XP 2006 Oulu, Finland, June 17-22, 2006 Proceedings 1 3 VolumeEditors PekkaAbrahamsson VTTTechnicalResearchCentreofFinland Kaitoväylä1,90571Oulu,Finland E-mail:pekka.abrahamsson@vtt.fi MicheleMarchesi UniversityofCagliari DIEE,DepartmentofElectricalandElectronicEngineering Piazzad’Armi,09123Cagliari,Italy E-mail:[email protected] GiancarloSucci FreeUniversityofBozen/Bolzano CenterforAppliedSoftwareEngineering PiazzaDomenicani3,39100Bozen/Bolzano,Italy E-mail:[email protected] LibraryofCongressControlNumber:2006926928 CRSubjectClassification(1998):D.2,D.1,D.3,K.6.3,K.6,K.4.3,F.3 LNCSSublibrary:SL2–ProgrammingandSoftwareEngineering ISSN 0302-9743 ISBN-10 3-540-35094-2SpringerBerlinHeidelbergNewYork ISBN-13 978-3-540-35094-1SpringerBerlinHeidelbergNewYork Thisworkissubjecttocopyright.Allrightsarereserved,whetherthewholeorpartofthematerialis concerned,specificallytherightsoftranslation,reprinting,re-useofillustrations,recitation,broadcasting, reproductiononmicrofilmsorinanyotherway,andstorageindatabanks.Duplicationofthispublication orpartsthereofispermittedonlyundertheprovisionsoftheGermanCopyrightLawofSeptember9,1965, initscurrentversion,andpermissionforusemustalwaysbeobtainedfromSpringer.Violationsareliable toprosecutionundertheGermanCopyrightLaw. SpringerisapartofSpringerScience+BusinessMedia springer.com ©Springer-VerlagBerlinHeidelberg2006 PrintedinGermany Typesetting:Camera-readybyauthor,dataconversionbyScientificPublishingServices,Chennai,India Printedonacid-freepaper SPIN:11774129 06/3142 543210 Preface Unbelievable, we have reached the seventh edition of the XP2k+n conference! We started at the outset of the new millennium, and we are still proving that agile proc- esses were neither a millennium bug nor a YAF (yet another fad). In its first editions, this conference was a get-together of a few pioneers who de- bated about how to make agile processes and methods accepted by the mainstream researchers and practitioners in software engineering. Now agile approach to software development has been fully accepted by the software engineering community and this event has become the major forum for understanding better the implications of agility in software development and proposing extensions to the mainstream approaches. These two aspects were fully reflected in this year’s conference. They were re- flected in the keynote speeches, which covered the background work done starting as early as the early eighties by Barry Boehm, definition of the field by Kent Beck, a successful industrial application in a success story by Sean Hanly, the perspective and the future of agile methods in large corporations by Jack Järkvik, and even some in- sightful views from a philosopher, Pekka Himanen. They were reflected in the technical sessions and in their papers, spanning from the definition and the consolidation of the theory (with specific attention to topics like pair programming, quality, experimental data) and reaching controversial areas, such as distributed agile development and new practices involving usability and security issues The papers went through a rigorous reviewing process. Each paper was reviewed by at least three Program Committee members. Of 59 papers submitted, only 16 were accepted as full papers. Panels, workshops, activities, and tutorials enriched the conference, introducing a wide variety of topics and of discussion techniques. But the highest value of any conference, and especially of a XP2k+n conferences is in the people who attend it, this is why we think that this seventh edition of the confer- ence was unique: because of its wide variety of ingenious, curious, dynamic, and nice participants. We thank all who contributed to the XP 2006 event. The authors, sponsors, the chairs, the reviewers, and all the volunteers: without their help, this event would not have been possible. April 2006 Pekka Abrahamsson Michele Marchesi Giancarlo Succi Organization VTT Technical Research Centre of Finland University of Oulu Executive and Program Committee General Chair: Steven Fraser (QUALCOMM®, USA) Program Chair: Pekka Abrahamsson (VTT, Finland) Organizing Chair: Päivi Jaring, Finland Organizing Co-chair: Kari Liukkunen, Finland PhD Chair: Paul Gruenbacher, Austria Panel Chair: Prof. Brian Fitzgerald, Ireland Workshop Chair: Giancarlo Succi, Italy Tutorial Co-chairs: Michele Marchesi, Italy Tua Huomo, Finland Poster Co-chairs: David Hussman, USA Daniel Karlström, Sweden Open-Space Chair: Charlie Poole, USA Service Chair: Mike Hill, USA Scientific Committee Marco Abis, Italy Hubert Baumeister, Germany Pär Åkerfalk, Ireland Stefan Biffl, Austria Mustafa Ally, Australia Laurent Bossavit, France Scott Ambler, Canada Anna Börjersson, Sweden Emily Bache, Sweden Ko Dooms, Netherlands Geoff Bache, Sweden Yael Dubinsky, Israel Ralf Back, Finland Tore Dybå, Norway VIII Organization Jutta Eckstein, Germany Martin Lippert, Germany Hakan Erdogmus, Canada Markku Oivo, Finland John Favaro, Italy Frank Maurer, Canada Steve Freeman, UK Grigori Melnik, Canada Jim Highsmith, USA Rick Mugridge, New Zealand Mike Hill, USA Paul Grünbacher, Austria Mike Holcombe, UK Barbara Russo, Italy Helena Holmström, Ireland Outi Salo, Finland David Hussman, USA Pinna Sandro, Italy Tuomas Ihme, Finland Helen Sharp, UK Ron Jeffries, USA Alberto Sillitti, Italy Nicolai Josuttis, Germany Christoph Steindl, Austria Daniel Kallström, Sweden Ciancarlo Succi, Italy Conboy Kieran, Ireland Don Wells, USA Kai Koskimies, Finland Laurie Williams, USA Tuomo Kähkönen, Finland Sponsors (as of April 13, 2006) Platinium level (Main sponsor) Exoftware™ (http://www.exoftware.com/) Gold level Silver level Partners: F-Secure Oyj, Elbit ltd. Table of Contents Foundation and Rationale for Agile Methods A Distributed Cognition Account of Mature XP Teams Helen Sharp, Hugh Robinson ................................... 1 Foundations of Agile Decision Making from Agile Mentors and Developers Carmen Zannier, Frank Maurer ................................ 11 Software Development as a Collaborative Writing Project Brian Bussell, Stephen Taylor .................................. 21 Comparative Analysis of Job Satisfaction in Agile and Non-agile Software Development Teams Grigori Melnik, Frank Maurer .................................. 32 Effects of Pair Programming Investigating the Impact of Personality Types on Communication and Collaboration-Viability in Pair Programming– An Empirical Study Panagiotis Sfetsos, Ioannis Stamelos, Lefteris Angelis, Ignatios Deligiannis ........................................... 43 The Collaborative Nature of Pair Programming Sallyann Bryant, Pablo Romero, Benedict du Boulay .............. 53 Is External Code Quality Correlated with Programming Experience or Feelgood Factor? Lech Madeyski................................................ 65 Quality in Agile Software Development Leveraging Code Smell Detection with Inter-smell Relations Bl(cid:1)az˙ej Pietrzak, Bartosz Walter................................. 75 Studying the Evolution of Quality Metrics in an Agile/Distributed Project Walter Ambu, Giulio Concas, Michele Marchesi, Sandro Pinna ................................................ 85 X Table of Contents The Effect of Test-Driven Development on ProgramCode Matthias M. Mu¨ller ........................................... 94 Issues in Large Scale Agile Development Configuring Hybrid Agile-Traditional Software Processes Adam Geras, Michael Smith, James Miller ....................... 104 (cid:1) Rolling the DICER for Agile Software Projects Bart(cid:1)lomiej Zio´(cid:1)lkowski, Geoffrey Drake ........................... 114 Agility in the Avionics Software World Andrew Wils, Stefan Van Baelen, Tom Holvoet, Karel De Vlaminck ........................................... 123 New Practices for Agile Software Development Architecture and Design in eXtreme Programming; Introducing “Developer Stories” Rolf Njor Jensen, Thomas Møller, Peter S¨onder, Gitte Tjørnehøj .............................................. 133 Towards a Framework for Integrating Agile Development and User-Centred Design Stephanie Chamberlain, Helen Sharp, Neil Maiden ................ 143 Security Planning and Refactoring in Extreme Programming Emine G. Aydal, Richard F. Paige, Howard Chivers, Phillip J. Brooke.............................................. 154 Experience Papers Divide After You Conquer: An Agile Software Development Practice for Large Projects Ahmed Elshamy, Amr Elssamadisy .............................. 164 Augmenting the Agile Planning Toolbox J.B. Rainsberger .............................................. 169 Incorporating Learning and Expected Cost of Change in Prioritizing Features on Agile Projects R. Scott Harris, Mike Cohn .................................... 175 Table of Contents XI Automatic Changes Propagation Maciej Dorsz................................................. 181 Making Fit / FitNesse Appropriate for Biomedical Engineering Research Jingwen Chen, Michael Smith, Adam Geras, James Miller ......... 186 SprintDrivenDevelopment:Agile Methodologiesina DistributedOpen Source Project (PyPy) Beatrice Du¨ring .............................................. 191 Posters and Demonstrations Storytelling in Interaction: Agility in Practice Johanna Hunt, Pablo Romero, Judith Good ...................... 196 Towards an Agile Process for Building Software Product Lines Richard F. Paige, Xiaochen Wang, Zo¨e R. Stephenson, Phillip J. Brooke.............................................. 198 Extendingthe EmbeddedSystemE-TDDunit TestDrivenDevelopment Tool for Development of a Real Time Video Security System Prototype Steven Daeninck, Michael Smith, James Miller, Linda Ko ......... 200 Evaluation of Test Code Quality with Aspect-Oriented Mutations Bartosz Bogacki, Bartosz Walter................................ 202 Experimenting with Agile Practices – First Things First Fergal Downey, Gerry Coleman, Fergal McCaffery ................ 205 Test-Driven Development: Can It Work for Spreadsheet Engineering? Alan Rust, Brian Bishop, Kevin McDaid......................... 209 Comparison Between Test Driven Development and Waterfall Development in a Small-Scale Project Lei Zhang, Shunsuke Akifuji, Katsumi Kawai, Tsuyoshi Morioka.... 211 A Practical Approach for Deploying Agile Methods Minna Pikkarainen, Outi Salo .................................. 213 Streamlining the Agile Documentation Process Test-Case Driven Documentation Demonstration for the XP2006 Conference Daniel Brolund, Joakim Ohlrogge ............................... 215 XII Table of Contents Panels Open Source Software in an Agile World Steven Fraser, P¨ar J. ˚Agerfalk, Jutta Eckstein, Tim Korson, J.B. Rainsberger .............................................. 217 Politics and Religion in Agile Development Angela Martin, Rachel Davies, Jutta Eckstein, David Hussman, Mary Poppendieck ............................................ 221 How Do Agile/XP Development Methods Affect Companies? Steven Fraser, Barry Boehm, Jack Ja¨rkvik, Erik Lundh, Kati Vilkki ................................................... 225 Author Index.................................................. 229
Description: