Applying Agile Management Value 2: Working Software Over Comprehensive Documentation
A software development team’s focus should be on producing working products. The second Agile core value emphasizes working software over comprehensive documentation.
On projects using agile management tools, the only way to measure whether you are truly done with a product requirement is to produce the working product feature associated with that requirement. For software products, working software means the software meets what’s called the definition of done: at the very least, developed, tested, integrated, and documented. After all, the working product is the reason for the project.
On a traditional project, if you’re 75 percent done, you don’t have any working software to give the customer — "75 percent done" traditionally means you’re 75 percent in progress and 0 percent done. On an agile project, however, if you’re 75 percent done, you have working product features for 75 percent of your project requirements — the highest-priority 75 percent of requirements.
All projects require some documentation. On agile projects, however, documents are useful only if they’re barely sufficient to serve the design, delivery, and deployment of a working product in the most direct, unceremonious way. When you work on an agile project, however, you concentrate on the documents necessary to support product development. Agile approaches dramatically simplify the administrative paperwork relating to time, cost control, scope control, or reporting.
For example, many project managers spend hours developing, updating, and holding team members accountable to a project schedule complete with start-to-finish dates and tasks. In reality, all team members want to know is when they need to have their product in deliverable shape, and the manager herself basically wants to know whether the project is on schedule, ahead of schedule, or behind schedule.
Agile project teams produce fewer, more streamlined documents that take less time to maintain and provide better visibility into potential issues. Often, the only documentation needs are
Requirements documentation: All projects have requirements — details about product features and needs. Development teams need to know those needs to create a product.
Product technical specifications: Documenting how you created a product can make future changes easier.
Stop producing a document and see who complains. If someone misses the paperwork, ask why the document is necessary. In fact, ask, Why? five times to get to the root reason the document is missed. When you know the core reason for the report, see how you can satisfy that need with a streamlined process.
With agile approaches, project teams spend more time on development and less time on documentation, resulting in a more efficient delivery of a working product.