Author: reqstudio

reqstudio-requirement-management-simple

Software requirements management is a step within the ALM (Application Development Cycle) or SDLC (Software Development Life Cycle). It is the process of:

    • First of all, collecting requirements
    • Analyzing
    • Refining
    • Prioritizing
    • And finally, planning for their delivery

    A requirement defines what the task and result which software should perform. In the Agile context, requirements will include user stories and epics. These can be traced and related to project artifacts.

    This process sits at the front of the IT development, and it doesn’t matter the methodology used: Waterfall or Agile. The process involves communication between the different team members and stakeholders. Teams are often formed by business product owners and development teams.

     

    The purpose of this process is to ensure alignment of business and IT stakeholders. Therefore, the objective is that software deliverables meet the needs of their customers.What are the key elements to take into account for software requirements management?

    Software requirements management must provide at least the following features:

          • Traceability, for compliance and change management reasons
          • Cross-collaboration tools, to enable users’ communications using natural language and interact in real time
          • History tracking or version control, to ensure that every action performed by any user is logged and accounted
          • Prioritization capabilities, to ensure business stakeholders and IT teams are aligned in what is most important and urgent to develop dynamically and keeping track on change management
          • Review and approval workflow process, to ensure accountability and alignment
          • Use of diagrams and natural language for requirements definition
          • Reporting, to oversee team results and project advancement
          • Planning, to organize work efficiently
          • And last, profiling of users, not all users have the same profiles. Tools must adapt to the user profile to ease their job.

     

    This applies to large corporations, as much as to small and medium-sized enterprises.

     

    In conclusion, Software Requirements Management is probably the most important step for any software development project. In conclusion, the difference between an effective or an ineffective Software Requirements Management process can have a huge influence on the likelihood of success for any given project and its profitability.

     

    Finally, if you wish to better understand why software requirements management matters, you will probably like our next article!

    the-importance-of-software-requirements-management

    Software Requirements Management definition was explained in our previous definition article. However, you may wonder where relies the importance of software requirements management.

    The Standish Group has analyzed for over 20 years more than 100,000 IT projects. They present a solid statistic about the percentage of projects which do not meet deadlines and/or budget. Chaos Report 2016 indicates that over 50% of projects were not delivered on time or on budget. And over 9% of projects didn’t meet nor deadline, nor budget.

     

    Obviously, there are key practices in the industry that can improve software development performance. According to The Standish Group there are several things which increase dramatically probability to deliver the software project on target. Agile methodologies, keeping projects smaller or highly trained teams…

     

    Nevertheless, companies still find issues in their projects and seek tools to help them. They need:

    • Traceability for compliance reasons
    • To better manage project dependencies and scope changes
    • Early detection of errors with rapid customer feedback on delivered functionality
    • To lower the odds of needing to dedicate extra time and money to unscheduled rework
    • A strong seamless structure to ensure software development methodology is followed consistently
    • Agile teams to align business and IT stakeholders

     

    What happens in an Agile world?

     

    Poor requirements management is a leading cause of project failure. According to Carnegie Mellon Software Engineering Institute , reworking software can increase between 40 and 50% of effort of the IT development. And the origin of software defects happen in 64% of cases during the requirements and design phase:

     

    Software Defects Origin

    Other sources confirm the trend. Project Management Institute (PMI) study shows that 32% of project failures are attributed to inaccurate requirements gathering and management. Also The Standish Group identifies that in 35% of the cases, root problem was linked to poor requirements management.

    There is little evidence to suggest that things are different when using Agile. The backlog does not normally contain enough information to specify a complete solution. Information such as non-functional requirements, feature descriptions, architectural decisions, etc., can be captured as requirements.

    Research has shown it can cost up to 100 times more to correct a defect later than when it’s still in the requirements definition stage. IBM research confirms too the correlation between cost of fixing software defects and the development stage of the project:

    Relative cost of fixing software defects according to IBM.

    How much can help to have a good requirements management? IBM research proves the importance of software requirement management.

    Statistics indicate that companies can:

    • Reduce development costs up to 57%
    • Improve time to market up to 20%
    • Optimize quality cost control by 69%