A Consultant's View

Prairie Trail Software, Inc. ............................................................. April 2006

Agile Development

While many organizations look to ISO 9000 compliance, others search for a means to define the free-wheeling ways of most developers.

ISO 9000 is a way of defining everything from a management point of view. Companies that implement ISO 9000 generate lots and lots of documentation.

Unfortunately, such documentation becomes a drag on rapid change. It has to be collected, managed, and updated on a regular basis or it becomes useless. Too often, the documentation codifies something that should have been changed, not codified as the "way things are done."

Mrs. Fields Cookies once had a competitor that operated with lots of documentation and control. The founder of that company talked about how much control he wanted over the specifics of how cookies were made. That competitor is no longer in the retail business.

Mrs. Fields does have strong rules, but the rules are implemented differently. There is strong reporting about what is happening at the stores, analysis of trends, and suggestions about how to improve. The recipes are the same for all the stores, but how to sell them, how to get customers in, and what the customer prefer are not. Mrs. Fields focuses more on communications than on control.

In the supply chain field, some try for extreme control and some try for extreme communication-but then stuff happens to mess up the supply chain. The hurricanes in the gulf not only messed up gasoline production, they also messed up how gasoline was moved from one place to another. Organizations that tried to keep good control (such as FEMA) took time to respond; whereas, organizations that had good communications (such as hospitals) did what ever it took to get the job done.

One of the problems is deciding who to give the visibility to and what visibility to give. Often, documentation is done for the wrong reasons and given to the wrong people. In many industries, one can't spend the time to write things down and run them through committees. When Just In Time manufacturing is running out of supplies, the right people need data on where things are Right Now!

In software development there are two radically different needs: quick availability and high reliability. Banks and financial networks are known for their focus on the latter. Change is very slow for them. Visa may issue new requirements and allow five years for implementation.

In an effort to provide a means to develop software faster, but with higher reliability a number of people are working on "Agile Methods", including the modeling, development, and documentation of the system. While banks might not like Agile Methods, other organizations might like the results.

The point of Agile Documentation is communication. In the software arena, most documentation is overhead-it doesn't help the developers, it doesn't indicate where the software is failing, and it slows the developers down. Under the Agile Documentation rules, documents are created only when they are needed. The documents have a specific audience and are written to communicate specific issues.