The purpose of requirements management is to assure each project documents, verifies, and meets the needs and expectations of its customers and internal or external stakeholders. A requirements management program providing processes and tools for effective and efficient elicitation, capture, elaboration, validation, review and approval of requirements and management expectations is considered essential for successful SDLC.
Requirements management is central to SDLC, as a means of guiding planning, change management, and quality management to deliver solutions that meet business and client goals, needs and expectations. Requirements must be linked to the business goals and strategies that motivated them, to the work items that produce the solutions that address them, and to the test cases that validate their achievement. Requirements traceability enables impact analysis in order to address changing requirements, and to assess, and develop a plan for closing the gap between what is needed and what has been delivered.
Poor requirements practices can have a detrimental impact on solution delivery and pose significant challenges across teams. Organizations often struggle with limited budgets and cannot consistently meet customer needs. Analysts face impediments to accurately capture requirements, gain consensus and ensure they are accurately implemented and tested. Development teams encounter challenges identifying changes and evaluate which requirements are most important to implement. Economic pressures are driving the need for organizations to achieve value in investments faster than ever, despite common challenges encountered.
The whole team creates and uses requirements. Requirements are inputs to other areas in the development lifecycle and high quality requirements are essential. Without high quality requirements common quality symptoms include: business needs are not met, poorly coordinated team effort, difficult to incorporate or manage change, and possible cost overrun and budget delays.
Some of these quality issues may be addressed by engaging a wide range of stakeholders in the requirements process and more importantly gaining concurrence regarding requirement content. Requirement content is not only textual but it is visual as well. There are a diverse set of artifacts which may be captured to help define a “to be” solution. Some examples include BPMN diagrams describe the business process, use case diagrams to define actors and use cases for what the system must do, and visualization of the user interfaces through sketches and storyboards.
Requirements Management challenges include:
- Eliciting and collecting requirements
- Determining how much requirements management is necessary
- Clients and users often don’t know what they want until you show them something that isn’t it implying that requirements may not be known or understood until late in the development lifecycle
- Difficulty in choosing an appropriate method: Agile: manage requirements incrementally as they are discovered through iteration deliveries or Waterfall: Analyze requirements up front to know what you want to build before you build the wrong thing
- Using Requirements
- Difficulty using and reviewing document-centered approaches to requirement collection
- Connecting requirements to the the designs and work that implement them, and the test cases that validate them
- Organizing and presenting requirements so they are meaningful to other stakeholders
- Coping with requirements complexity
- Managing Requirements
- Understanding the impact of large collections of rapidly changing, loosely related requirements
- Treating requirements as simple lists of items with insufficient relationships to support change and impact analysis
- Quantifying and communicating the value of requirements management to stakeholders
- Inability to determine if completed work produces the intended outcomes
- No agreed upon or practiced governance management process
- Ineffective use of requirements to manage outsource projects
Context Determines the approach for how, when and how many requirements to collect. Both the agile and waterfall approaches to requirements engineering are appropriate in their own context. Projects with a lot of change that need to get out to the market quickly might be best done with high-level, low-ceremony requirements practices. Stable projects with safety-critical implications could best be done with a plan-driven, well-documented specification.
IBM recommends that clients use RRC to capture requirements directly instead of using traditional requirements documents. Capture requirements from existing office documents, and harvests those documents into RRC for further analysis to reduce duplicate effort. Document-centric collaboration across individuals, teams and organizations has many challenges including:
- Documents focus on presentation for human consumption, commingling the view with the underlying data making it difficult to create different views for different stakeholder needs
- This can cause business analysts and solution architects to spend a lot of time on presentation creation, not on eliciting, using, and managing requirements and other rich SDLC information
- Documents can take a significant amount of time to develop, even documents that are automatically generated
- Documents tend to copy reused information (rather than link) which results in the same information being reviewed multiple times
- It is not practical to support fine-grained linking between elements across documents, manual hyperlinks are just too difficult to maintain.
- Documents can be costly to maintain, especially when the copied information has to be updated in multiple places
- Document collaboration and version management can introduce challenges, especially when email is the the primary means of information sharing
- Documents are often out of date shortly after they have been published resulting in consumers working with incorrect information
- It is difficult to process information in documents through automation, and documents provide poor change and impact analysis
The requirements should be collected as individual items in a database in order provide more efficient and effective requirements management. Instead of using using requirements documents, the business analysts, project managers and other stakeholders can enter their business requirements directly in a requirements management tool. Then various dashboards and reports can be used to manage these requirements by the stakeholders, and create published reports and/or documents using Rational Insight or Rational Publishing Engine as needed. Requirements reviews can be done directly in tools like DOORS-NG instead of reviewing potentially static and out of date requirements documents.
The use of DOORS-NG provides an organization the ability to elicit, capture, elaborate, validate and reach concurrence on a rich set of artifacts in single repository. Analysts may organize and manage requirements through the use of attributes and standardize content capture through artefact templates. Report and query content via out of the box reports and dashboards. Through a collaborative environment organizations may reach consensus of requirements faster, aided by the use of reviews as well as gain deep visibility into team activity via CLM integrations with test and development.
The next section describes the key functional capabilities needed to support effective requirements management. Requirements management tools should provide both requirements definition and management capabilities.
Requirements Definition and Elaboration:
- Organize requirement content via custom types of requirements such as (Stakeholder Needs, Wants, Functional Requirements, Non-Functional Requirements).
- Categorize requirement types to capture content such as priority, complexity and status through the use of attributes.
- There are many artifacts that are inputs to the requirements process. The use of modules, collections, shared filters tags, attributes, hyperlinks and advanced searches to help you find and organize requirements and related information. These features help improve productivity and increase reuse.
- Better stakeholder involvement leads to higher quality requirements and better project outcomes. Involve different roles in the requirements process from business users, development, test, operations and production through an online community. Provide visibility to requirements and their related business context visible to the extended team.
- Break down the information islands that exist among the various SDLC tools and data format used to express requirements information. Establish relationships among related information using hyperlinks, collections, attributes and tags. Have group conversations in threaded comments; see what others are creating, changing and commenting on. Include in this web of requirements information files created by the tools you use today: office documents, recording of conference calls, and informal documentation (for example, snapshots of white boards).
- Consolidate unstructured information (rich text, images, tables, links, etc…) with easy document creation. Embed artifacts (diagrams, sketches) to create concise and clear vision and specification documents. Using this editor, users capture the annotated information to support any project, business goal or requirement.
- Organize and find requirements by leveraging collections, shared filters, tags, attributes, hyperlinks and advanced searches to help you find and organize requirements and related information. These features help improve productivity and increase reuse.
- The ability to analyze, organize and manage requirements and their changes efficiently using attributes, collections, tags, filters, and views.
- Capture common terms from text and organize in a glossary through the use of Dynamic Glossaries, Word Documents.
- Identify relationships between requirements and other artifacts through requirement links.
- Business process models aid teams to capture “as is” and “to be” business process content. Business process diagrams help teams create, share and validate current and future state business processes, including roles, rules, tasks, and decision points. Link business process diagram elements, tasks, and decision points to use cases, UI sketches, and requirements. Allow stakeholders to conceptualize how various inputs, outputs, and roles can work together to execute processes that create value for the business. Then relate other requirements artifacts to this business process to create a web of requirements information.
- Flush out additional details for the solution by identifying requirements that are related to business process diagrams, sketches and storyboards.
- Express user interfaces (UIs) with wire frame mock-ups through a simple UI Sketching editor. Create mock-ups and workflow examples for web-based interactions that link any UI component to rich document descriptions and requirements. Visualize system transactions and interactions as the user would, identify user experience issues prior to costly web-development.
- Storyboards are a common, proven technique in movie-making: a fast, inexpensive way of communicating ideas; finding points of consensus, disagreement, and ambiguity; then making decisions. Requirements definition and solution design are highly iterative and likewise benefits from this kind of visual expression of user scenarios. Both non-technical and technically-minded stakeholders can readily grasp the relevance of the storyboarded scenarios, and this can raise the quality of the requirements elicitation and validation conversations beyond what typically happens during textual document reviews. Quickly assemble UI storyboards in Requirements Composer from sketches using reusable components and templates. Make fast, consistent changes, which are propagated automatically. Link any UI part to other documents and requirements. UI storyboards can be represented in low visual fidelity when communicating general ideas, or in more life-like, higher fidelity, when communicating notions of visual design.
- Use Case Model aid teams to capture use case diagrams that capture system behavior. Elaborate use cases with rich document descriptions. Link use cases diagrams with use case specifications, user interfaces sketches, storyboards, process flows and requirements.
Requirements Validation and View:
- Validation of requirement content can both be formal and informal in nature. The key goal is to ensure requirement content is clear and understood. The comment functionality aids organizations to ask teams to pose questions and feedback related to requirements. This information is stored in the history of the artifacts.
- A web-based review and approval workflow enables your teams to achieve consensus and validate requirements faster by shortening the review and approval cycles. The reviews help depict business decisions that are made. The customizable user dashboards and viewlets provide collective information about project membership, recent activity, recent requirements, collaboration, and reviews. Commenting capabilities now include direct comments to multiple users.
- Project Dashboards, customised with viewlets providing project team members with a consistent view of project information. Let the important information find you. Web dashboards include customizable viewlets, which can pull information from multiple tools (Requirements Composer, Team Concert, Quality Manager). See the latest comments for you or for the whole team; see new and recent changes in the project artifacts.
- Express sophisticated relationships among requirements, view, and analyze them. Define custom link types, use them when relating requirements, and filter views to display relationships of interest, including multi-level traceability views such as “stakeholder needs are satisfied by features” and “features are satisfied by user stories and supplementary (non-functional) requirements“. Requirements and their relationships can be displayed in tree views (shown above) and in various row and column views. This helps analysts to uncover traceability gaps (coverage analysis) and to analyze the impact of proposed changes.
- More in depth cross discipline information with Collaborative Lifecycle Management (CLM) based filtering. With the enhanced filtering, it’s now easier to create, save, and share specific dynamic views that report on key project management concerns. For example, using CLM links it’s possible to see related development tasks, test plans, and test cases –- and filter on their status –- directly in the requirements management user interface.
Although requirements management tools facilitate the quick capture and elaboration of content, published content can be critical for some teams. Harvesting content from documents into a requirements management tool, and generating documents using templates from a requirements management tools can be a effective means of reducing waste in your requirements management process, and can be a first step at moving away from document-centered collaboration. Automate tasks for generating and publishing hand-offs, contracts, reports, traditional reviews, use case survey documents and requirements specifications using out-of-the-box reporting based on Rational Publishing Engine technology. Out-of-the-box report templates include UI Specification, Use Case Specification, Traceability Report, Review/Approval Summary, and Audit History. A reporting wizard guides you in creating these reports in common file formats, including Microsoft Word, PDF, HTML, and XSL formatting objects (XSL-FO).
The end result of effective requirements management is closing the demand/supply gap faster, with lower costs, and at lower risks. It provides an efficient and effective process for analyzing the impact of change, and for responding to changing business influencers and priorities as needed in a dynamic marketplace. In summary, use requirements management to:
- Involve all stakeholders and facilitate active collaboration around the requirements
- Increase efficiency and improve quality by optimizing requirements communication, collaboration and verification
- Achieve shared vision and understanding of project and program requirements
- Unify teams around a common vocabulary using the integrated glossary facility
- Enable new team members to become productive faster by making available online your requirements, business context, and past discussions about them