In a previous blog: “How to improve the quality of your requirements” I addressed three key questions:
- How do you judge the quality of the requirements within your organization?
- How do you find defective requirements?
- How do you improve the quality of your requirements?
In answering these questions, our focus was on what people can do to improve the quality of their requirements. The advice given was mainly on manual processes: train your people, define and enforce the use of requirement development and management processes, use a quality checklist, define requirement quality metrics, conduct requirement inspections, access your current processes, etc.
While all of these actions are critical to an organization’s ability to achieve quality requirements, what is missing is the role that requirement management tools (RMTs) play in helping an organization develop quality requirements.
In this blog, we revisit this topic, with a focus on steps you can take to automate your requirement quality processes.
First, we want to make it clear that addressing requirement quality is critical to your project success. We are often asked: “What is the return on investment (ROI) in ensuring you have a quality set of requirements?” My response is: “What are the costs associated with a failed project?”
Impact of requirements and project success
In my paper “Triple Your Chances of Project Success Risk and Requirements” I quote a variety of sources that make it clear that “Having poor requirements places projects at risk of significant cost overruns, schedule delays, and performance shortfalls. In fact, recent studies have shown that projects that fail to take effective actions to ensure a good set of requirements triple their chances of project failure.”
With an emphasis on well-written, defect-free, quality requirements, it is logical to assume that project managers are looking to avoid the risks associated with having a poor set of requirements and accordingly follow proven best practices to ensure their requirements are of the highest quality before proceeding to design.
Unfortunately, this is not always the case. Many managers simply do not understand the importance of quality requirements and therefore do not focus on requirements quality. Because of this, many projects are being set up for failure from the beginning, tripling their chances of project failure.
So what role can RMTs play in helping a project develop a quality set of requirements?
Requirement Management Tools (RMT) and requirements quality
Today’s projects are getting increasingly complex with software/hardware hybrid systems. To help manage this complexity, the trend is away from hardcopy document-based systems engineering and toward Data Based Systems Engineering (DBSE) where all the artifacts of the SE processes are managed via software and databases.
To enable DBSE, a set of SE software tools are needed. There are a large number of SE tools on the market, with a variety of features and capabilities, and it can be confusing for an organization to choose a set of SE tools that meet their needs. To help with this selection process, we published a blog: “Features an SE Tool Set Should Have”.
The first item on the list of features is: Requirement Best Practices: Does the tool include the capability to support requirement best practices as defined in the INCOSE Guide to Writing Requirements or our Checklist for Writing Good Requirements? This includes the ability of the tool to support requirement engineering and analysis that helps requirement authors to write properly formed requirements (spelling, grammar, ambiguous terms, requirement statement structure, etc.). (Note: Send me an email at firstname.lastname@example.org and I will send you a copy of our checklist.)”
A RMT should contribute to an organization’s ability to develop quality requirements. Again…unfortunately, we find this is often not the case! Many RMTs on the market do not include a feature that “helps requirement authors to write properly formed requirements (spelling, grammar, ambiguous terms, requirement statement structure, etc.)” In other words, these tools treat requirements as an object that can be linked to other artifacts in the tool and allow other artifacts to link to that object, without addressing the quality of the object that is a requirement statement. In other words they support a “garbage in; garbage out” philosophy!
At the INCOSE 2015 International Symposium, the INCOSE Requirements Working Group (RWG) published a significant update to the INCOSE Guide to Writing Requirements – of which I am one of the authors. I wrote a blog summarizing the contents of this Guide. (If you are a member of INCOSE, you can download a copy of the Guide from the INCOSE website for free.)
In the INCOSE Guide to Writing Requirements, there is a list of characteristics for both individual requirements and sets of requirements as well as rules to follow that will, if followed, result in quality requirements .
While the Guide clearly defines each rule, provides guidance in implementing the rules, and gives examples, it can still be overwhelming for requirement authors to implement these rules to achieve a high quality set of requirements.
With advances in natural language processing (NLP), the technology exists for RMT vendors to integrate NLP into their tools. This technology enables the RMTs to assess the quality of the requirements and helps authors write defect-free, quality requirements and avoid the current “garbage in; garbage out” limitations found in many of today’s RMTs. Thus, our first feature of a SE Tool set is to provide a capability to address and manage the quality of your requirements.
Fortunately, there are vendors that are addressing this issue. In my next blog, I will discuss one of these vendors: The ReUse Company (TRC).
Requirements are the common thread that binds all product development lifecycle stages together. Knowing that the quality of your requirements is directly proportional to the success of your project, why put your project at risk of failure when there are now RMT tools available to help improve the quality of your requirements? Using these tools will help to improve the quality of your requirements and triple the chances of delivering a winning product – one that delivers what is needed, within cost and schedule, with the desired quality.
Comments to this blog are welcome.
If you have any other topics you would like addressed in our blog, feel free to let us know via our “Ask the Experts” page and we will do our best to provide a timely response.