Friday, August 3, 2007

Using a Wiki For Requirements Management



A colleague of mine commented some time ago on the problem of finding and tracing requirements in traditional requirements documentation (i.e. documents such as Word). This is especially true when you need to trace requirements in one document to requirements in one or several other documents. References between requirements in different documents are often incorrect, pointing to a non-existing document or pointing to the wrong location, or simply missing.

I have been responsible for the requirements management in many software development projects. To manage the requirements documentation, we have either just stored the documents in a folder structure on a file server, or managed them with a versioning system such as CVS or ClearCase. A few times we have coordinated and traced requirement documentation with a tool such as Requisite Pro, but since it is problematic to use such a tool in conjunction with a versioning system (even ClearCase) we have had to skip either the tool or the versioning system.

Even though managing requirements documentation is a big challenge in any software development project, one of the biggest challenges with requirements management is to capture the right requirements, and this has often to do that it is problematic to get them reviewed and validated by all stakeholders. It is a time-consuming process to get every stakeholder to continuously review and give feedback on captured requirements and it really is no option to review all requirements together with each and every stakeholder every week. If stakeholders were to participate more in the requirements management process, it would be easier to detect and correct misunderstandings and conflicts at an earlier stage and thus avoiding costly changes later on. In other words, stakeholder participation is necessary for capturing the right requirements.

To me it seems reasonable that a wiki could increase stakeholder participation in the requirements management process. With a wiki, it will be easier for team members and stakeholders to access and find information. For novice users of versioning systems, it is often problematic to access and find the information. A wiki would also allow them to tag any conflicts and misunderstandings as well as incorrect, incomplete or missing requirements, and to discuss with each other on how to solve these. In addition, instead of mailing word documents to stakeholders for review, they can simply visit the wiki and read the documentation online. A wiki also provides versioning and a detailed revision history for each page (document), which is essential for managing changes of requirements. But most importantly, it is the collaborative aspect of wikis that make them interesting as tools for requirements management.

If anyone has experiences to share from using wikis for requirements management, I would be happy to hear about them. Please leave a comment.

4 comments:

  1. http://www.computer.org/portal/cms_docs_software/software/content/promo/s2028_07.pdf

    ReplyDelete
  2. Hello Oskar,

    I fully agree with your idea to use a wiki for distributed teams or an easy communication with stakeholder.
    There is a project running in Germany. Only a few papers are available in the web(German only). try to search for "DisIRE".
    Pls, let me know if you find something more.

    Q-wing@web.de

    ReplyDelete
  3. Stakeholder participation will be stimulated by empowering these stakeholders. And a wiki is a very good technology to support empowerment.
    The site wikipatterns.com
    http://www.wikipatterns.com/display/wikipatterns/Wikipatterns
    Has several patterns that are useful to support empowerment
    E.G. "Seed it with content", "Barnraising" will be useful to get the masses going.

    But something extra is required to maintain the speed of quality growth

    ReplyDelete
  4. Thanks for pointing me to this valuable resource.

    /Oscar.

    ReplyDelete