Here's a summary of ways that wiki can help with agile development. Need to add illustrations of each of the components and reference links. Improvements and additions most welcome Adina
Wiki was invented to help with Extreme Programming, and can be very helpful in various phases of agile development process. For those not familar with the buzzwords, Agile is a family of development methods with shorter, more iterative cycles than traditional "big bang" development.
Wiki can be useful in a range of XP and agile development practices, including:
Wiki also helpful in facets of development not tied directly to XP
Planning game
Agile development processes use short iterations, from one week to three months in length. (Socialtext uses one month iterations). The decision about which features to release is made co-operatively between the customer and the development team. The development team analyzes a user story and determines the amount of development time needed. The customer decides which stories are highest priority.
A wiki page can be used to create an index list of user stories with descriptions, owners, and time estimates. A naming convention and category can be used to maintain a series of "planning game" pages that build a record of development progress over time.
During the "planning game" conversation, some stories are sorted in priority. A number of items are selected to fit the time until the next release. Items can be moved up and down in the list, until the team agrees on priorities.
User stories
A user story is a unit of functionality that lets a user achieve a desired goal. A wiki page is created for each user story. The development team works with the customer to understand the user stories in enough depth to create a set of estimates. Then the customer decides which stories are most important.
Development tasks
The set of user stories is broken down into a finer-grained set of development tasks. These can be organized in an index list. As items are completed, a developer can move tasks from the "to-do" list to the "done list", providing a sense of satisfaction as more items are completed, and providing management and customers with progress visibility.
Requirements roadmap
A pure XP process involves living in the present, planning little more than the next release out. However, commercial software development and good-sized software development projects need a longer-horizon.
A wiki can be used to create and manage a product requirements document. The link structure of a wiki shines, enabling the creation and easy re-organization of a hyperlinked document.The PRD can be maintained as an index of the areas of functionality. For each item, there can be a drill-down to pages describing user stories in greater granularity.
When an agile method is used, the "stories" for the next few iterations will be fleshed out in more detail than the "stories" for later iterations.
Acceptance testing
In XP and other agile methods, the user stories are used to define a set of "acceptance tests" that customer uses to define when a feature is correct and complete. Acceptance tests can be written for each user story.
Acceptance test matrices can be managed with spreadsheets or word documents. The versions of the matrices can be stored in a wiki, for easy team visibility. Or the matrix can be maintained in a wiki.
Metrics for problem-solving
XP and other agile methods don't require a long list of metrics to assess performance. Instead, metrics are used to help teams address particular performance improvement goals and solve particular problems. For example (steal example from the XP book.) A weblog can be used to post results against the metric goals. It's fast and easy for the record-keeper to post the metrics, and for the team to follow along.
Emergent documentation
A wiki can be used to create and maintain documentation. Documentation can be built as a series of pages, with a table of contents whose entries link to the individual documentation items. The wiki provides visibility to the status of documentation under development.
Page Last Updated: May 7 7:30am by Mark Scrimshire