Maturity Levels of Requirements Engineering
Requirements Management and Requirements Engineering have a vital role in the development process. Requirements are the starting point of all projects, since they define what features should be in the product. The importance of Requirements Management and Requirements Engineering has increased significantly in the past few years to minimize and eliminate potential failures of the development process. Companies often believe that defining requirements is critical to the success of the final product, the failure of defined requirements is likely to result in product failure.
Maturity Levels of Requirements Engineering Survey
Our recent survey about the Maturity Levels of Requirements Engineering was done with the aim to show how seriously companies deal with Requirements Management and Requirements Engineering.
From our experience, it is important for companies that:
– Product quality is determined by proper requirements definition and validation, this influences the final quality of the product (survey 80-90% respondents claimed this to be the case). Requirements should be defined by trained requirements engineers; however the definition of requirements should be done in a collaborative way, together with clients, product owners and business analyst.
– Since non-functional requirements (NFRs) requires more technical knowledge, 60% of the companies find it important that these NFRs should be defined by different teams (mainly by technologists) as long as the functional requirements are usually defined by the same teams (mainly by business analysts).
– Since it is less costly to detect and eliminate failures in the requirements definition phase, 70% of the companies apply four-eye principal to evaluate and approve requirements before the development starts.
– 70% of the companies have integrated requirements evaluation in their quality management to define workflow for requirements evaluation and to avoid rework of requirements. If requirements require rework it means extra costs and resources for companies. The average ratio of requirements with rework is still 10-30%.
– Collaboration has an important role in requirements management during different development phases. It is less important in the “definition process” and the most important in the “change management”. Collaboration has less importance in the final QA phase since it is done by test engineers.
– Re-use of requirements in new projects enable companies to save resource and expense. With 40% of companies already using requirements re-use; however the ration of changing requirements in new projects is 30%.
The survey confirmed that the potential source of lot of future problems is the poorly defined and the missing requirements. In many cases the false validation and the wrongly documented (or not documented) requirements are equally responsible for project failures. Ineffective change management and a lack of traceability are a key cause of failures and financial damage.
Check out the Requirements Management module of codeBeamer ALM software solution to minimize and eliminate potential failures of the development process.