The Agile Manifesto states that individuals and interactions are preferred over processes and tools. Cloud-based development environments have become a must-have rather than a nice-to-have since stakeholders in development projects have become more and more distributed across the globe, and often across many time zones. Rather than being one more hurdle to overcome in adopting Agile requirements management, cloud-based environments are now assets. Here are six advantages of using cloud-based Agile requirements management tools and processes:
1. Frequent and asynchronous communication in cloud-based collaboration tools
Most Agile practitioners prefer short descriptions of requirements as stories rather than specifications in the form of lengthy documents. They also expect these requirements to change and involve several clarifications and explanations as they roll these into stories and sprints. Cloud-based collaboration tools become crucial additions to Agile iterations, in that much communication between stakeholders is enabled beyond the daily or periodic stand-ups. It also creates permanent written records available to all stakeholders to view, and add their own opinions and suggestions, in an asynchronous way. Cloud-based requirements management provides the most important ingredient in Agile development: frequent and rapid communication among all the stakeholders.
2. Cloud-based tools enable exchange of models and wireframes
Although the intent of Agile development is to present users with software that runs as early as possible with sprints for feedback and refinement, at the earliest stages of any requirement or a story, different stakeholders may hold different conceptions of the requirement in their own minds, leading to communication gaps. Cloud-based environments help a group share, comment, and refine various models, wireframes and even scanned crude sketches among all the stakeholders. These could greatly reduce communication gaps even within an iteration, eliminating the need to possibly spread stories across multiple iterations.
3. Cloud-based test data storage and access
Cloud-based test data storage and access, if possible within a software development project, enables the sharing, commenting and closing of communication gaps between intended requirements and requirements as they were understood by the development team. Cloud-based test data along with Agile test plans help close this communication gap since product owners can verify that they have been understood correctly.
4. Cloud-based Agile requirements enabling on-demand generation
In some companies (especially start-up companies) that use Agile methodologies, the business model itself could be changing rapidly or the requirements could be evolving over time. If stakeholders are distributed geographically, then managing rapidly changing requirements are best handled in cloud-based environments. This allows stakeholders to pull requirements from a stack of sparsely described stories, insert a few new ones, rearrange them based on priorities and add additional details only to those on the top of the stack, those that are slated for the next sprint or iteration. This on-demand detailing of requirements is enabled by cloud-based environments much more than non-cloud ones.
5. Cloud-based centralization of requirements and test data speeds up testing
Cloud-based testing is arriving fast, especially in mobile applications, where the number of potential makes and models that an app needs to be tested against may number in the thousands. When you combine cloud-based requirements with cloud-based centralization of test data and the test environments are also cloud-based, it enables a lot of the testing and quality assurance to be done around the clock, by geographically distributed people, all in parallel. This also enables the use of standardized test data that can be validated by stakeholders wherever they are located physically.
6. Cloud-based workflow speeds up clarification, approval cycles between all stakeholders
Cloud-based collaborative environments invariably include workflow features also. This greatly enhances the speed with which gaps in requirements definition and understanding can be bridged in the shortest amount of time possible. Even in collaborative environments, a discussion forum may not get the same attention and rapid response that an email representing a workflow would. This helps the Agile development group be ready with the requirements for the next sprint, ready to go before the current sprint is done.
Cloud-based Agile requirement management tools are evolving rapidly. They present a number of significant advantages over a centralized set of tools that not all stakeholders may have ready access to at any time, especially if they are geographically distributed across many time zones. Managing Agile requirements over the cloud primarily bridges the communication gaps that could exist between sparse definitions of requirements and the conversations that need to happen before you see that requirement implemented in a sprint. Combine that with cloud-based test data and test environments, and you have a very powerful overall Agile development mechanism.
About the author: Nari Kannan is currently the Chief Delivery Officer of V-Soft Consulting, Inc., a Louisville, Kentucky-based software consulting firm. Nari has 20 years of experience in information technology and started out as a senior software engineer at Digital Equipment Corp. He has since served variously as vice president of engineering or CTO of six Silicon Valley startup companies, working in the areas of business process improvement, IT consulting, automotive claims processing, human resources and logistics applications. He can be reached at email@example.com.
This was first published in August 2011