Tuesday, October 18, 2011

Distributed Agile: Quality before Design

Distributed Agile involves geographically dispersed teams and short iterations of 2 to 4 weeks. Stakeholders of distributed agile projects need to find ways to improve quality before design by means of providing the right work environment and tools to team members and ensuring that project requirements are of good quality. There are five steps that can help us improve quality before design.

Product Vision Document: When distributed agile teams execute iteration activities without knowing the product vision or release vision, they not only miss an opportunity to understand the big picture but also fail to interact with stakeholders by asking context-free questions. Context-free questions increase project awareness among team members and provide for a strong foundation.

Goal-Oriented Requirements: The next step is to ensure that user stories are not generic statements but relate to the goals of end users. When team members receive goal-oriented requirements or users stories, they relate them to the goals of end users and come up with innovative ways to find solutions.

Not Only Functional Requirements: The third step is to include non-functional requirements such as performance requirements or security requirements in user stories. When this is accomplished, distributed agile teams optimize the time spent in defining the acceptance criteria and ‘Definition of Done’ for user stories. Also, this improves the quality of test cases and test scripts in projects.

Prioritization: Product Owners and Scrum Masters of distributed Scrum projects need to have an objective and proactive prioritization approach in order to define priority categories unambiguously. When prioritization of user stories becomes a reactive approach, it can lead to changes during iterations and hence can put lot of strain on team members. Distributed agile teams need to be aware of the rationale behind the prioritization of user stories. Lack of awareness among team members can lead to perceived notions on lack of inclusiveness.

Tool Selection: Tool selection plays a vital role in distributed agile projects. Effective tools for managing user stories as well as related communication and coordination mechanisms contribute positively to distributed agile projects. Indecisive approaches to tool implementation or introduction of new tools during project execution will hamper effective management of user stories. It is strongly recommended that distributed agile teams consider a web based tool that supports specification of user stories as well as facilitates collaboration among team members.

Finally, quality before design is quintessential to improve project success. My article, ‘Distributed Agile: Steps to Improve Quality before Design’, published by Agile Record articulate these steps with additional details.

No comments: