Introduction
Enterprise Requirements Management is critical to the success of any project. The success of a product is dependent on the rigorous engineering and management of its requirements. However, creating detailed requirements too early in the project can have serious negative consequences. Agile requirements management, on the other hand, welcomes change, emphasizes flexibility, adaptability and speed. It provides teams with the ability to respond efficiently to changing requirements, improving outcomes, and customer satisfaction. In this article, you will learn about agile enterprise requirements management and how it can help you lower development costs, improve quality control, minimize risk and avoid project delays.
What are Requirements and Requirements Management?
A requirement is a statement that identifies a product or processes operational, functional or design characteristic, or constraint, which is unambiguous, testable or measurable and necessary for product or process acceptability. (ISO 2007)
In simpler terms, requirements are mandatory behaviors or characteristics that ensure the success of a system in its anticipated missions. These requirements describe what the system has to be able to do and how well our system has to be able to do it. Everything within the system must be traced back to the requirements to verify justification for its existence, its goals, and its defined purpose.
Products are only as good as the requirements that drive them and it is apparent that rigorous requirements engineering and management is essential for product success. Excellent requirements management is imperative to the success of a project, overcoming the complexity of today's products, lowering the cost of development across the product life cycle, improving quality control, and minimizing risk for safety-critical products. It is therefore no secret that the single most common reason for project delays, cost overruns, and project failure is connected with requirements and requirements management.
A frequent problem in requirements management is creating detailed requirements too early in a project — for example, with the “big requirements up front” or sometimes called “point-based” approach typical of conventional waterfall development where you try to do all possible work and commitments to a set of requirements upfront. This has serious negative consequences as defining the end-state of the product at the beginning leaves very little room for change and inhibits flexibility. Even worse than the lack of flexibility, this approach often uses incorrect assumptions made early in the project lifecycle. Their late discovery and the need for inevitable change in the later stages of the development process are significantly more time-consuming and expensive to rework, implement, or fix than using an agile approach.
Agile Requirements Management
The clear benefits of agile development — better collaboration, incremental delivery, early error detection, and the elimination of unnecessary work — have made it the default approach for many teams. Agile methods are also being adopted by systems engineering teams to deliver the same benefits. Some developers have questioned whether requirements fall into the category of unnecessary work and can be cut down or even completely eliminated.
As we described in the previous section, requirements are vital for project success, and there is no evidence to suggest that things are different in an agile world. Agile emphasizes improving collaboration and understanding between the project team and the customer, which implies that requirements are actually more . Agile sees change as an opportunity to better align projects with customer needs, rather than an impediment to delivery. Requirements are the means of formally capturing customer needs and communicating them unambiguously to the project team. Therefore, in the world of constant change and updates, requirements and traceability are more important than ever before.
The notion of "agile requirements management" does not exist in a singular and universally accepted form. There is no prescribed definition or set of procedures that can be effortlessly adapted and adopted to declare adherence to agile requirements management. Rather, numerous tools, concepts, processes, and best practices are employed to improve the accuracy and comprehensibility of requirements within an agile framework.
At the core of any agile requirements management lie the principles of speed, change, flexibility, and adaptability. This means being able to readily iterate and modify requirements to achieve a more accurate understanding of customer needs and provide better outcomes while lowering the risk of erroneous deliveries and delays at the same time. By prioritizing flexibility, agile methodologies enable teams to respond efficiently to changing circumstances and requirements, resulting in improved outcomes and better customer satisfaction.
The process of capturing requirements in an agile project management environment bears similarities to the traditional "waterfall" approach, such as conducting meetings with different stakeholders, subject matter experts and end-users, documenting business workflows, and creating mockups. However, the difference between agile and traditional project management lies in the management of requirements over time.
It is important to note that agile requirements management is not free of structure. The agile requirements management process still follows a particular workflow and methodology, but it is considerably more flexible and adjustable.
The essence of Agile requirements management is that while high-level requirements are still captured at the beginning, it is acknowledged that these requirements may evolve throughout the project's lifecycle. In the beginning, the focus is on capturing high-level initial business requirements, outlining the product's vision, scope, needs, and capabilities based on the available information at that time. The decomposition of these requirements and providing additional details is done incrementally along the way as more information is gathered and decisions are made. This is the basis of “set based design”.
As described by © Scaled Agile, Inc., Set-Based Design (SBD) is a Lean development practice that keeps requirements and design options flexible for as long as possible during the development process. Instead of choosing a single-point solution upfront, teams use SBD to explore multiple options simultaneously, eliminating poorer choices over time. This approach enhances flexibility and design outcomes by committing to technical solutions only after validating assumptions. System development involves continuously converting uncertainty into knowledge. With SBD, teams make design decisions only after they have gained sufficient knowledge and data. They maintain multiple requirements and design options open for a longer time in the development cycle. As the timeline advances, they use experiential data to narrow the focus on the final design option. Through this approach, they embrace the “assume variability principle,” which preserves options for as long as possible, providing maximum flexibility.
The Scaled Agile Framework (SAFe) methodology is an industry-standard framework for helping organizations scale agile and lean practices to an enterprise level. The framework defines roles, activities, artifacts, and workflows that provide best practices and guidance for enterprises to use lean and agile principles across the organization, which spans both business and engineering roles. This helps to deliver value across agile portfolios that include solutions, programs, and teams.
Requirements management is a key aspect of the SAFe® methodology that takes a systems view of the features that are being delivered, capturing expected behavior, models, wireframes, and related requirements to drive an iterative approach to feature delivery.
SAFe provides a scalable requirements model that demonstrates a way to express system behaviors: Epics, Capabilities, Features, Stories, Nonfunctional Requirements (NFRs), and more...
1.) SAFe Scalable Requirements Model
It is important to mention that in products and systems and regulated IT, increments must generally include deliverables beyond the working system itself, such as evidence of compliance with standards, user documentation, support documentation, as well as the exact set of final requirements which align with the actual verified and released product. So at some point just before release it's necessary to create baselines across all documents, including the valid requirements at that moment. Much of the information for these deliverables is derived from project artifacts and must be reliably maintained as changes occur. That is why there is a need for excellent enterprise requirements management software that enables teams to work on a centralized platform that increases their agility by providing excellent tools for collaboration, traceability, visibility, and scalability. As requirements are the basis for understanding and communicating customer needs, which is essential for delivering value and ensuring project success, we need a solution that makes data work for us and helps us capture, trace, map, and understand change.
DOORS Next is the industry-leading solution for enterprise requirements management. It offers support for a range of requirements practices, from lightweight requirements to fully regulated systems engineering. Designed for collaboration, it provides a single platform for managing requirements so that teams can work more effectively across disciplines, time zones, and supply chains. IBM Engineering Requirements Management DOORS Family includes requirements management, traceability and impact analysis capabilities for more formal, rigorous requirements engineering purposes.
To support agile enterprise requirements management DOORS Next provides predefined process templates that support Scrum and Scaled Agile Framework (SAFe) to help you capture expected behavior and related requirements across all the configurations. You can use each template to create a Requirement Management project area that includes the necessary roles, artifact templates and categories, and a dashboard for that configuration.
Softacus Services
We, in Softacus, are experts when it comes to consulting and service delivery of IBM software products and solutions in your business. We help our clients to improve visibility and transparency when licensing and managing commercial software, providing measurable value while increasing efficiency and accountability and we are providing services in different areas (see Softacus Services).
IBM ELM extensions developed by Softacus are free of charge for the customers who ordered IBM ELM licenses via Softacus or for the customers who ordered any of our services. If you are interested in any of our IBM ELM extensions, you found a bug or you have any enhancement request, please let us know at info@softacus.com.