Agile Lifecycle

Classification
TypePattern
FocusAdoption

Web 2.0 technologies, including wikis, inherently support change. This flexibility is expressed in a wiki's ability to support continually changing knowledge and content using a collaborative approach. This support of changes is also supported by the fact that most wikis have been built using an open architecture that makes it easy to extend a wiki technology in unanticipated ways. Many wikis have a vibrant ecosystem of third-party developers providing robust high-value extensions.

The platform agility provided by most wikis is one of its key selling points. New requirements are easy to accommodate. Typically wiki functionality can be extended for a variety of purposes . However, a platform can only be as agile as the set of SDLC (software development life cycle) processes used by the group responsible for maintaining wiki platform changes. Agile delivery practices such as those discussed by XP, SCRUM, etc. are ideal when structuring and managing the continual set of changes often required to make any wiki platform successful over the long term.

Usage

There are three points to consider in relationship to this pattern.

  1. when selecting a wiki, choose one that has an open architecture, an obvious mechanism to apply extensions, and a vibrant developer ecosystem that has a established history of creating new extensions using an open, collaborative approach.
  2. when installing a wiki-based platform, there may be a requirement for a technical team to extend the platform beyond its base capability. Structure this team using lightweight best practices such as those found in the agile developer collection. Take advantage of evolutionary design, test driven development, continual integration, and minimal documentation to support rapid and continual change.
  3. use the wiki itself for all technical related documentation, including project plans, design, operational support guides, and anything else necessary to support and extend the wiki platform.