This book contains most of the papers presented at the 4th International C- ference on Extreme Programming and Agile Processes in Software Engineering (XP 2003), held in Genoa, Italy, May 2003. The XP 200n series of conferences were started in 2000 to promote the - change of new ideas, research and applications in the emerging ?eld of agile methodologies for software development. Over the years, the conference has - come the main world forum for all major advances in this important ?eld. Also this year the contributions to Agile Methodologies and Extreme P- gramming were substantial. They demonstrate that the topic is continuing to gain more and more momentum. In spite of some criticism of agile meth- ologies, everyone agrees that they address some unresolved needs of software practitioners. People still do not know how to develop software on time, with the desired features, and within the given budget! This volume is divided into several thematic sections, easing reader’s na- gation through the content. Full papers are presented ?rst, followed by research reports, papers from the Educational Symposium, and papers from the Ph.D. Symposium. The presentations given during three panel sessions held at the conference conclude the book. The section on Managing Agile Processes includes contributions highlighting the sometimes di?cult relationship between agile methodologies and mana- ment, and includes approaches and suggestions that should facilitate the acc- tance of agile methodologies at the di?erent levels of management.
Table of ContentsManaging Agile Processes.- XP after Enron - Can It Survive?.- Trailing-Edge Management.- Value Based Management and Agile Methods.- Lean Management A Metaphor for Extreme Programming?.- Methodology Issues.- Metaphor Design Spaces.- An Experiment Working with RUP and XP.- Bridging Cognitive and Social Chasms in Software Development Using Extreme Programming.- A System Dynamics Simulation Model to Find the Effects of XP on Cost of Change Curve.- Extending Agile Methodologies and XP.- Real-Time Extreme Programming.- Software Development under Stringent Hardware Constraints: Do Agile Methods Have a Chance?.- Maturing XP through the CMM.- Formal Extreme (and Extremely Formal) Programming.- Methods and Tools.- Agile Development Using Naked Objects.- XPSwiki: An Agile Tool Supporting the Planning Game.- CruiseControl.NET: Continuous Integration for .NET.- Tool Support for Complex Refactoring to Design Patterns.- Teaching and Introducing Agile Methodologies.- Experiences in Learning XP Practices: A Qualitative Study.- Swimming around the Waterfall: Introducing and Using Agile Development in a Data Centric, Traditional Software Engineering Company.- Cross-Continent Development Using Scrum and XP.- Coaching Coaches.- Testing.- Where Do Unit Tests Come from?.- Three Patterns in Java Unit Testing.- XP with Acceptance-Test Driven Development: A Rewrite Project for a Resource Optimization System.- A Customer Test Generator for Web-Based Systems.- A Framework for Testing at the Edge An Experience Report.- Pair Programming.- An Empirical Analysis on the Discontinuous Use of Pair Programming.- Pair-Programming Effect on Developers Productivity.- When Does a Pair Outperform Two Individuals?.- Other XP Practices.- Being Jane Malkovich: A Look Into the World of an XP Customer.- Using Actual Time: Learning How to Estimate.- Coaching a Customer Team.- Extreme Design by Contract.- Inline Method Considered Helpful: An Approach to Interface Evolution.- Experience Reports.- Practical Experiences of Agility in the Telecom Industry.- XP-Call in the Social Workers.- Embracing Change: An XP Experience Report.- Extreme Makeover: Bending the Rules to Reduce Risk Rewriting Complex Systems.- Research Reports: Methods and Tools.- Component-Oriented Agile Software Development.- Unit Testing beyond a Bar in Green and Red.- Developing Testable Web-Applications with Bugkilla.- Extreme Programming: A More Musical Approach to Software Development?.- Automated Extract Component Refactoring.- Successful Automation of GUI Driven Acceptance Testing.- Extreme Terseness: Some Languages Are More Agile than Others.- EnterpriseXP: Can the Combination of XP and DSDM Improve the Appeal of XP to the Business Community?.- Using Function Points in XP - Considerations.- Refactoring with Aspects.- Research Reports: Experience Reports.- Extreme Programming at Work.- Combining Agile Practices with UML and EJB: A Case Study in Agile Development.- Practice Makes Perfect.- A Designing Practice and Two Coding Practices for Extreme Programming (XP).- Practical Aspects of XP Practices.- Scaling Extreme Programming in a Market Driven Development Context.- Building Standard ERP Software Packages Using Self-developed Agile Methodologies.- Convincing the Inconvincable.- Comparing Extreme Programming to Traditional Development for Student Projects: A Case Study.- XP: Good for Anything Other than Software Development?.- Extreme Educational Symposium.- Using Instructor Written Acceptance Tests Using the Fit Framework.- Teaching Team Work: An Extreme Week for First-Year Programmers.- Design-led & Design-less: One Experiment and Two Approaches.- Agile Teaching of an Agile Software Process.- Five Challenges in Teaching XP.- Challenges in Teaching Test Driven Development.- Filleting XP for Educational Purposes.- Using XP with Children for Learning Mathematics.- Using Metaphors in eXtreme Programming Projects.- Ph.D. Symposium.- Doctoral Symposium at XP 2003.- Collaboration on Software Tasks.- Unit Testing Using Design by Contract and Equivalence Partitions.- Exploring the XP Customer Role.- Extending Testability for Automated Refactoring.- Software Configuration Management for Test-Driven Development.- A Study on Introducing XP to a Software Development Company.- Teaching eXtreme Programming in a Project-Based Capstone Course.- Mitigating Risks in Mobile System Development.- Extreme Advertised Bidding.- Software Effort Estimation: Planning XP Guidelines Compared to Research on Traditional Software Development.- Collecting Data in Web Service Development.- Measuring the Effectiveness of Agile Methodologies Using Data Mining, Knowledge Discovery and Information Visualization.- Evaluation of New Software Engineering Methodologies.- Evaluation of Product Metrics Applied to Agile Methodologies.- Panels.- Coaching for Agile and Xtreme Practices A Fishbowl with Piranhas.- XP Practices versus Values?.- Test Driven Development (TDD).