The first step that most software-development projects take is to develop and document the project’s requirements. The ability to do so well is crucial to the project’s success. The fact that poor requirements frequently lead to rework, cost overruns, and even project failure, has been pretty well documented. However, while a number of industrial-strength tools have been developed to help with requirements management – which kicks in after requirements have been developed, there is much less support for the process of developing high-quality requirements to manage. The technology that has been developed, in academia or industry, has gotten little uptake in real-world projects. This is particularly true for the declarative, textual requirements lists which are the most common form of requirements documentation in enterprise projects. Experts in requirements engineering, both within and outside Accenture have developed best practices for writing good requirements. However, in current practice, most of the activities in requirements development - specification, review, visualization, and analysis of requirements, are typically done manually.
At Accenture Technology Labs, we are working on a Requirements Engineering Innovation Agenda, which seeks to change this. We are developing a suite of intelligent tools that will support all aspects of requirements development including acquisition, specification, review, visualization, and seeding downstream processes. We are developing these tools in close cooperation with Accenture’s expert practitioners. Our tools seek to automate various tasks in requirements development in a way that operationalizes the best practices that they have developed through years of experience.
In the figure below, we show the 4 micro-phases that we divide the requirements development process into, along with the tools we have under development to support each micro phase.
As you can see, these tools are at various stages of maturity – ranging from deployed tools to early concepts. At the mature end of the spectrum is the Requirements Analysis Tool. This tool uses a combination of semantic and syntactic techniques to automate the review of textual requirements against best practices for requirements documentation and has been deployed at over 200 projects and has been shown to have significant cost savings at those projects. Some of the other tools are just out of the oven in initial pilots, and still others are in the initial design stages.
Stay tuned for more updates, ranging from case studies to deeper dives on specific tools.
(Note: Accenture employees can get more information of Requirements Analysis Tool and the other tools at the following link: https://acres.accenture.com. External folks can read some of our papers on the Requirements Analysis Tool here and here.)