BAs  love Requirements Management Tools!

I love requirements management tools and wish all business analysts had access to them. Requirements management tools allow you to create requirements in a structured, organized fashion, consistent with other projects which leads to better stakeholder communication, better analysis and better products.  More importantly, being able to reuse requirements increases productivity significantly. Unfortunately few analysts have access to these tools. They are expensive, fairly complex to learn, and don’t always easily integrate with other tools used in an organization. But that may be changing! DevOps is gaining acceptance and requires software development technology including requirements management tools which are integrated with other application life cycle management (ALM) tools because requirements are a critical part of the DevOps process.

What is DevOps?

DevOps stands for software DEVelopment and information technology OPerations.  If you haven’t read about DevOps I encourage you to do some research and learn about the goals of this increasingly popular approach to automating software development. Like most industries, IT professionals are always looking for new ways to improve their ability to deliver products and services to their customers. Software development is still a pretty clunky, manual process in most organizations. New development is often separate from software maintenance and operations. DevOps merges operations with development in one cycle.

The reason for this integration is the acknowledgement that a software application is never really “done.” It is always undergoing enhancements, maintenance, and continuous improvement. The software development and information technology areas are ripe for disruption with a better way of delivering business value. Think of how Uber has totally changed the way transportation services are delivered. Think about how robots with artificial intelligence are taking over many routine tasks. DevOps looks to automate the way software is developed, delivered and maintained.  Many cloud based vendors already use this approach. Think about how your mobile device gets operating systems updates on a regular basis and how much smoother the process has become over the last ten years.

 What does DevOps have to do with Requirements Management Tools?

Requirements, although not listed as a phase in the DevOps cycle, are key to the success of any software development approach. All software development and maintenance starts with a stakeholder need and is described by the requirements.

Like most new IT approaches, DevOps started at the coding and implementation end of a typical project life cycle creating a regular release cycle for continuous improvement.  DevOps envisions a process where software is constantly being monitored and updated to improve efficiency, functionality, and to add new features. Rather than building your software and taking a big sigh of relief that it is done, you acknowledge that it will never be “complete” and will always need maintenance so you build the maintenance cycle into the development cycle.

DevOps promoters have now realized that requirements (and more importantly, analysis) are a key component of the cycle. Every change to the software must be analyzed and requirements are needed. To have this continuous process improvement approach, an analyst will be continually identifying new business needs, analyzing them, and developing requirements for future releases. To automate this entire process, we need tools which will allow us to update the existing requirements rather than starting over every time there is a change. Requirements management tools are the key to automating this cycle. Having a requirements repository allows analysts to work on existing requirements and make adjustments as needed. This allows requirements to be more quickly available for software developers to implement. In addition, requirements management tools have versioning capabilities so an analyst can be working ahead on future changes while maintaining the existing, production version for impact analysis.

Requirements Management Tools

Vendors of traditional requirements management tools are recognizing they have a new value proposition, selling themselves as DevOps tools to CIOs. To do this successfully, they will have to integrate with other DevOps tools and provide strong support for requirements changes, not just the addition of new requirements. Tools that support different requirements types (e.g. nonfunctional, models, decision tables) and traceability will be strong players in the DevOps market.

Should You get Your Hopes Up?

I have had the opportunity to use requirements management tools on a few projects and experienced the value of storing requirements in a reusable, searchable repository.  I am very hopeful that the enthusiasm for DevOps will drive organizations to recognize the value of a requirements repository and set of tools to support it.

Reusability is a guaranteed way to increase productivity and reusing requirements is a guaranteed way to allow analyst to spend more time analyzing and less time documenting. Keep your fingers crossed and sell DevOps wherever you can. Maybe this will be the time we finally get tools of our own!