Does the above graph ring a bell?
Many articles, papers and books have talked about the impact of fixing a defect at later stages of development life cycle. Researches have also been proved that majority of the software defects found in a project are related to requirements and continues to be higher than that arising due to design or coding issues. According to studies conducted, approximately 60%-70% of IT project failures result from poor requirements gathering, analysis, and management*. The most successful products and applications have been built with a thorough understanding of what they are intended for. Understanding and managing requirements are by far the most important aspect in the development life cycle irrespective of which technology, development process, industry or purpose of the software or system under development. The beauty of an effective requirements management is that it provides complete insights into how the development of a system is progressing for every stakeholder in the team yet at a level of abstraction neutral to technology, platform or perspective. It thus becomes the corner stone of software or systems development!
In today’s world, developing smarter products at the lowest time to market has become a norm for success. Often the level of pressure that mounts to get started and come up with a prototype or the product itself is high and requirements are cornered with least importance. But if we check statistics, we can see many examples that have caused hefty prices and disasters due to hasty development or lack of thrust given to understand the real requirements. Read a compilation by Computer World UK here. These two videos from IBM and IAG Consulting respectively talks about why you should consider requirements seriously.
If you watched the above videos, it is clear that the process of how requirements, are managed and collaboration and communication between stakeholders are equally important for an effective requirements management. Also many mistakenly believe that requirements management is something that takes place during the definition stages of a project and is then complete. However the reality is that requirements exist in some form at virtually every stage of development.
The three main factors to be considered while defining the requirements management are
- Requirements definition. The requirements should not only be concise and unambiguous, they should also be testable.
- Requirements classification. To manage project development effectively, each requirement statement must be classified appropriately for the application to aid in effective decision making and resource allocation.
- Requirements traceability. Stakeholders of a project must be able to track requirements through the stages of development .
Stay tuned for more posts on requirements management, analysis and other topics...
Have some suggestions/opinions/comments/topics...send us!
* Source: The Meta Group market research firm, a division of Gartner, March 2003