|
Experience reports contain first-hand information and reflection: "We saw this, did that, and consider this-and-that about our experiences." If you were interested in adding to your research data or were practitioners looking to avoid problems and focus on success, these presentations provided valuable knowledge gained through hands-on experience. Each report created a portal through which attendees caught a glimpse of what works, what doesn’t and why in employing agile methods in projects. Specialists in computer engineering, business analysis, programming, sociology and management as well as other essential disciplines rounded out the list of presenters.
Scheduled Report Presentations
Experience Reports Abstracts
| R1 |
Change Your Organization (for Peons)
Jim Little, Titanium I.T. LLC, jlittle@wgz.com |
|
In this experience report, a programmer at a medium-sized software company explains his tactics for bottom-up organizational change. The tactics are accompanied by personal recollections of related experiences. Tactics are presented in three primary sections: the difficulty of making change; getting attention; and making a case for change. A brief section on the consequences of change follows. |
| R2 |
Evolving Agile in the Enterprise: Implementing XP on a Grand Scale
Michael Spayd, Qwest Communications, mspayd@qwest.com |
|
How can XP or other agile methods be used in large corporate IT shops? One large company found out, making XP the official corporate software development methodology for all projects over an 18 month period and counting. This paper explores many facets of that experience, beginning with a summary of the eight key determinants of organizational change model. It then follows the organization in implementing XP, using the change model as a yardstick to assess the success of the hoped for change. The paper concludes with key learnings regarding how to implement an agile methodology within a large organization. |
| R3 |
Improving the Interface Between Business and Product Development Using Agile Practices and the Cycles of Control Framework
Jari Vanhanen, Helsinki University of Technology, jari.vanhanen@hut.fi
Juha Itkonen, Helsinki University of Technology, juha.itkonen@hut.fi
Petteri Sulonen, Avain Technologies Oy, petteri.sulonen@avaintec.com |
|
The paper describes how we created and adopted an agile product development process in a small software company based on the Cycles of Control framework by combining selected agile practices and principles from the Scrum and XP methodologies. Describing the development process using the framework helped in identifying the crucial control points between business and development and enabled defining practical and well-functioning connections between them. The control points enable visibility and flexible management of product development status and direction. Currently Business understands development status better, which has led to fewer interruptions between the control points, and thus improved working conditions for Development. Positive experiences are reported of newly adopted practices such as scrum meetings, pair programming, and unit testing. However, finding and adopting technical tools to facilitate the process proved to be challenging.
|
| R5 |
It's More than Just Toys and Food: Leading Agile Development in an Enterprise-Class Start-Up
Joseph Blotner, Sabrix, Inc., joe.blotner@sabrix.com |
|
One of the myths of Agile Development is that self-organizing teams do not need direction. The agile development movement focuses primarily on programmers: programmers should do X, Y and Z, and everyone else should do whatever it takes to support the programmers. A fantastic start, since programmers are the people who actually build the organization’s product; however, few techniques are offered to the rest of the organization.
The admonishment to managers instructing them to only provide “toys and food” and buffer the team from external distractions implies that leaders in an agile environment should do less work, and be less involved with the team on a day-to-day basis, than in a more traditional environment. In fact a leader in an agile group must do more than he/she would in a more traditional environment and must be even more involved in the day-to-day activities of the team.
The Sabrix development discipline has strong and deeply involved management as one of its keys to success. Management best practices, when applied appropriately and discerningly, do not limit, but rather enhance, the productivity and job satisfaction of the individual members of the engineering teams. This paper discusses ways a manager can and should help the team be more productive, have a better understanding of their fit in the organization as a whole and develop team members by being active and involved with the team and the rest of the company.
|
| R4 |
Retrofitting an Acceptance Test Framework for Clarity
Rick Mugridge, University of Auckland, r.mugridge@auckland.ac.nz
Ewan Tempero, University of Auckland, e.tempero@auckland.ac.nz |
|
An XP customer needs to write and check acceptance tests. However, the format for defining the tests needs to be clear. Many acceptance test approaches use arcane formats which do not promote clarity for the customer, due to a conflict of interest between the complexities of automation and the needs of the customer. We discuss the evolution of acceptance tests to improve their clarity for the customer.
Sat is an acceptance test system for testing socket-based servers with multiple clients. The first version used an XML file to define the tests in a test suite. Any errors detected were written to a text log. There were two problems with this first version. The XML format made it difficult to read and edit the tests. When an error was given, it was not easy to identify the place in the test where the problem occurred.
Sat was altered to make use of Fit, a testing framework that uses HTML tables for defining tests and reporting any errors. We found the new version considerably easier to use. The tabular form makes it much simpler to read and alter the tests. Any errors are reported in a copy of the tables, in the place where they occur. We have also found it convenient to include information about the tests in the HTML, providing a form of "literal testing".
|
| R6 |
Ready-to-Roll Boxcar Development - a Flexible, Quality-Weighted Process
Russell Hill, WarpTime, rrhill@attbi.com |
|
In January of 1996, Intuit’s QuickBooks team was faced with an aging code-base using a custom Mac/Win GUI toolkit, a large and rapidly growing customer base, and a rapidly growing and product-inexperienced engineering team. To increase the product’s quality and feature predictability while retaining its ship date rigidity, we created “Ready-to-Roll” Boxcar Development.
The process enabled the defining of each new feature, enhancement, or engineering re-architecture as a set of boxcars on the product train. A “coupled” boxcar was rapidly brought to a supportable level of quality, or “decoupled” for re-evaluation and re-engineering. Frontloading the highest priority boxcars increased predictability of the product train's contents, while the process allowed for greater flexibility with respect to overall content.
“Ready-to-Roll” Boxcar Development kept the product within 2-3 weeks of being supportable and shippable. The process focused on individuals and interactions, working software, customer collaboration and responding to change. Better yet, it worked!
|
| R7 |
Iteration Advocate/Iteration Transition Meeting: Small Sampling of New Agile Techniques Used at a Major Telecommunications Firm
Brian Boelsterli, WaveFront, Inc., brian.boelsterli@wavefrontinc.com |
|
This experience report demonstrates a successful implementation of Agile at a major telecommunications firm. Critical aspects to mention about this particular software endeavor include a) this could be one of the largest implementations of Agile documented thus far (approximately 275 immediate and over 3,000 supportive contributors involved), b) the team practicing Agile did so under the constraints of a waterfall-gated (both milestone and financial) environment, c) a 'practice tapestry'' approach was used to 'weave' together elements of Agile that would work for this organization, and finally, d) new practices, not previously known to the Agile community were applied in addition to those well known thus far. Specifically, iteration advocate and iteration transition meeting are two examples of new concepts. This paper focuses on these new practices in an effort to share them with the Agile community. The weaving together of existing and new practices, enabled this major telecommunications firm to deliver a major software release to its large customer base. |
| R9 |
Making Agile Development Work in a Government Contracting Environment
Measuring velocity with Earned Value
Glen Alleman, CH2M HILL, glen.alleman@rfets.gov
Michael Henderson, CH2M HILL, michael.henderson@rfets.gov
Ray Seggelke, Envision Technology Partners, raymond.seggelke@rfets.gov |
|
Before any of the current “agile” development methods, Earned Value Management provided information for planning and controlling complex projects by measuring how much “value” was produced for a given cost in a period of time. One shortcoming of an agile development method is its inability to forecast the future cost and schedule of the project beyond the use of “yesterday’s weather” metrics. These agile methods assume the delivered value, “velocity” in the case of XP, is compared with the estimated value this is a simple comparison between budget and actual cost resulting in a Cost Variance. No Schedule Variance process is directly available in XP. Earned Value Analysis provides a means of predicting future schedule and cost variances through three measurements budgeted cost for work scheduled, actual cost for work performed, and budgeted cost for work performed (earned value). This paper describes the use of Earned Value in conjunction with Agile Development on a mission-critical, high-security, government project. |
| R8 |
Certifying for CMM Level 2 and ISO9001 with XP@Scrum
Christ Vriens, Philips Research, christ.vriens@philips.com |
|
This experience report describes the followed road of getting certified for both CMM Level 2 and ISO9001:2000 on a time scale of 2 years by using agile methodologies. We discuss why we selected the combination of extreme Programming (XP) and Scrum as the base for our software development process and which "ceremony" we had to add in order to satisfy the requirements of CMM L2 and ISO9001. Also our major challenges at the moment are described, and the way we try to solve them. Furthermore we want to share a number of issues and experiences. |
| R10 |
Agile Development in the Old Economy
Gery Derbier, Solystic, gery.derbier@solystic.com |
|
As part of the delivery an automated hub for a postal operator, the Solystic company has to build a complex and feature rich Information System that supports a highly automated process with multiple intricate sub-processes and exceptions.
The effort has several challenges:
- It is business critical for the customer, and the output of the project will give the customer a leading position;
- It is the first time Solystic is managing a complete system project, although its mother company Northrop Grumman had previous experience of this business;
- The program is one of the first of the Solystic company in the international field;
- It is a fixed price, fixed time contract with a short time frame.
To face all these challenges, the software development group in charge of the Information System has adopted a number of agile practices and techniques to manage the project. The major project settings are adapted from Alistair Cockburn's Crystal set of methodologies, SCRUM and Jim Coplien's work on organizational patterns.
This paper presents the findings and lessons learned by the team and its manager.
|
| R11 |
Introducing Agile Development into Bioinformatics: An Experience Report
David Kane, SRA International, david_kane@sra.com |
|
This experience report describes our efforts to introduce agile development techniques incrementally into our customer’s organization in the National Cancer Institute and develop a partnering relationship in the process. The report addresses the steps we have taken not only to deploy the practices, but also to gain customer support for them. It addresses variations we have used to adapt to our customer’s environment, including our approach to involving customer personnel at remote locations. We also address challenges we still must face, including how best to manage a product-line with agile development techniques. |
| R12 |
Agile Development and Remote Teams: Learning to Love the Phone
Christian Sepulveda, atDesignTime, cs@atdesigntime.com |
|
I currently work on a project where we adopted an agile process that integrates elements of extreme programming and agile modeling. Our approach is unconventional however; instead of the team being co-located, I work remotely as the lead developer.
The risk of increased communication costs can be mitigated rather easily.
However, trust is the most complicated element of team dynamics to establish and maintain. A virtual team must address this issue in order to succeed. Remote teams can work quite well. We have been delivering quality software in a timely manner, within the expectations of management for the last two years. We actually are more efficient and successful with a virtual team than when we were all co-located in the same room.
|
| R13 |
Unfixing the Fixed Scope Project
Jeff Patton, Tomax Corporation, jpatton@tomax.com |
|
Although it seems to be common knowledge that it’s impossible to succeed in a project with fixed time, quality and scope, we often continue to try anyway.
This experience report discusses our successful failure at running fixed time and scope projects. I say successful failure because we actually failed to fix scope but arrived at an acceptable way to vary scope and deliver on time in an environment not normally amenable to variable scope. This paper discusses the methods used and makes recommendations on how you might unfix scope in your development environment.
|
| R14 |
An Agile Request For Proposal (RFP) Process
Jennitta Andrea, ClearStream Consulting Inc., jennitta@clrstream.com |
|
The Request For Proposal (RFP) process can be agile and efficient. At a high level, the key to achieving this is to specify requirements just in time and containing just enough detail. This paper applies the following XP practices and concepts to the RFP process: acceptance tests, business value, iterative & incremental delivery, on-site customer, pair development, planning game, spike, story, velocity, and yesterday’s weather. In addition, the following concepts are combined with those from XP to achieve maximal benefit: user-goal use case, context diagram, level of detail, and decision tree.
The contributions of this paper to the agile community are two-fold: describing a practical application of XP concepts to a non-programming project; and making use case style requirements processes more agile.
|
| R15 |
Daily Iterations: Approaching Code Frost and Half the Team is Not Agile
Curtis Cooley, RADSoft, curtis@radsoft.com |
|
As an XP consultant, I'm asked to bring XP to diverse teams. But what happens when a team is split geographically and half the team prefers non-agile methods? Approaching “Code Frost” we decided to do daily iterations to kill bugs and keep the non-agile half of the team happy. |
Technical Papers Selection Committee
- Dave Thomas, Bedarra Corp., Carleton U. and U. Queensland (Chair, Research Papers)
- Rebecca Wirfs-Brock, Wirfs-Brock Associates (Chair, Experience Reports)
- Alistair Cockburn, Humans and Technology
- Lougie Anderson, Sabrix
- Alan Cameron Wills, Fastnloose Ltd
- Eric Gamma, IBM OTILabs
- Dick Gabriel, Sun Microsystems
- Mike Beedle, Independent Consultant
- Peter Bailey, Synop Pty Ltd
- Bjorn Freeman-Benson, University of Washington
- James Coplien, UMIST
- Laurie Williams, North Carolina State University
- Martine Devos, Avaya Labs Research
- Linda Rising, Independent Consultant
- Pete McBreen, Independent Consultant
- Gregor Kiczales, University of British Columbia
- Ward Cunningham, Cunningham & Cunningham, Inc.
- Sherman R. Alpert, IBM T.J. Watson Research Center
- James Bach, Satisfice, Inc
- Jutta Eckstein, Objects in Action
- Gary Evans, Evanetics, Inc.
- Bret Pettichord, Pettichord Consulting
- Scott W. Ambler, Ronin International, Inc.
- Mary Poppendieck, Lean Software Development
- Gunnar Övergaard, Jaczone
- Peri Tarr, IBM
- Robert C. Martin, Object Mentor Inc.
- Ken Schwaber, Independent Consultant
- Andrew Hunt, The Pragmatic Programmers, LLC.
- Brian Marick, Independent Consultant
- John Lamping, Google
- Larry Constantine, Constantine & Lockwood, Ltd.
- Bruce Anderson, IBM EMEA Component Technology Services
- Robert D. Austin, Harvard Business School
- Helen Sharp The Open University, UK
- Don Wells, Ford Motor Company
- Lars Mathiassen, Georgia State University
- Brian Barry, IBM OTILabs
 |
 |
|