CWDS
Requirements Management Plan
Executive Summary
“Requirements Management” is the process of documenting, analyzing, tracing, prioritizing and agreeing on requirements and then controlling change and communicating to relevant stakeholders. It is a continuous process throughout a project. In Agile, the goal is to create a process by which requirements can be thoroughly vetted, organized, and communicated in a manner that is iterative, timely, and quality-focused.
The aim of any Agile development project is to deliver working software as fast as possible, where “working” actually means a product that is able to successfully resolve the customer’s problems. In order to be able to deliver a solution, one must first understand what the problem is. Requirements management is at the heart of the CWS-NS project.
In the new world of Agile, requirements are documented through the creation of user stories that live within a specific feature called an epic. These user stories will document the business and functional needs of the Child Welfare Services New System (CWS-NS) Project and will serve as the Product Backlog of the work to be completed once the development teams are selected. Requirements traceability will still need to be conducted in this Agile environment. Previously, using the Waterfall approach, baselined business and technical requirements were traced to the Feasibility Study Report and Special Project Reports. Now, using the Agile approach, the epics are traced to the previously baselined requirements.
The CWS-NS Requirements Management Plan (RMP) identifies the processes used to plan, develop, monitor and control requirements in all stages of a project’s lifecycle. This document is the foundation for all project requirement management policies for the CWS-NS Project.
Successful implementation of the RMP requires coordination of all the organizations working on the CWS-NS Project. The Requirements Management Process, in conjunction with the Agile/scrum methodology, consists of the following primary activities:
- Initiation - During the Initiation phase of the project, a Feasibility Study Report or Stage Gate Analysis provides a proposed technical solution that will support the current and future needs of Child Welfare Services. Business requirements are defined, and a proposed technical solution is documented to address the business requirements.
- Planning & Procurement - The Digital Service Teams develop user stories based on the business and technology needs, utilizing the business, functional, and technical requirements identified in the Initiation and Planning & Procurement phases. Requirements are fed into a product backlog within Pivotal Tracker. They are decomposed into sprint backlogs items/user stories through sprint planning and these user stories are then confirmed against the existing business requirements developed during initiation and Planning. If needed, a gap analysis is performed.
- Development - During the Development phase of the project, the user stories are further refined based on the business and technical needs. Transition requirements and quality requirements are developed and an Excel spreadsheet tracks the system requirements for any changes/modifications made during the solicitation process.
-
Traceability - Requirements traceability ensures that the business need is tied to a defined epic or feature along with the user stories contained within them. Traceability occurs throughout the life of the project. The Requirements Traceability Matrix (RTM) (Note: This link is temporarily for OSI internal use only) is currently maintained in an Excel workbook by the Requirements Manager and stored with version control in SharePoint. Requirements traceability will occur between the following: system requirements and epics, and system requirements and the BPPs.
- Verification/Validation - The purpose of requirements verification is to ensure that work products meet requirements. Verification demonstrates things are well done. Validation demonstrates things are done correctly. The main goal of verification and validation is to ensure that final product will be delivered as it was understood by the team. It includes software testing such as unit testing, integration testing, and so on. Thus, when a product-backlog item (e.g. a user story) is derived from a portfolio element, the product-backlog item should also be verified.
Introduction
Requirements are the foundation of a project’s scope, quality planning, and procurement activities. Requirements management is a continuous process throughout the life of the project. Maintaining the integrity of these requirements throughout the life of the project is vital to the success of the quality of the system that is implemented.
“Requirements Management” is the process of documenting, analyzing, tracing, prioritizing and agreeing on requirements and then controlling change and communicating to relevant stakeholders. It is a continuous process throughout a project. In Agile, the goal is to create a process by which requirements can be thoroughly vetted, organized, and communicated in a manner that is iterative, timely, and quality-focused.
The term “requirements traceability” refers to the ability to map requirements back to business goals and objectives, including mapping requirements forward to test cases, business processes, software, training materials, and more. Conducting a traceability provides a way to tie everything together from start to finish, and make sure that the system aligns with originating goals and objectives.
Agile Scrum allows development teams to build software incrementally over two-week events, or sprints. Requirements are fed into a product backlog prior to sprint inception; they are decomposed into sprint backlog items through sprint planning. The development team starts by discussing what needs developed in a given sprint based on organizational needs and strategy. The work items are pulled from the product backlog and directed by the product owner, with the process controlled and managed by the Scrum Master. The goal for the business is to make sure they feed the product backlog and can support and describe what needs built by the development team prior to the start of the sprint.
In the new world of Agile, requirements are documented through the creation of user stories that live within a specific feature called an epic. These user stories will document the business and functional needs of the Child Welfare Services New System (CWS-NS) Project and will serve as the Product Backlog of the work to be completed once the development teams are selected. Requirements traceability will still need to be conducted in this Agile environment. Previously, using the Waterfall approach, baselined business and technical requirements were traced to the Feasibility Study Report and Special Project Reports. Now, using the Agile approach, the epics are traced to the previously baselined requirements.
Purpose
The CWS-NS Requirements Management Plan (RMP) identifies the processes used to plan, develop, monitor and control requirements in all stages of a project’s lifecycle. This document is the foundation for all project requirement management policies for the CWS-NS Project.
Policy
The Project used Microsoft Excel to document and manage the business functional and technical system requirements elicited prior to adopting the Agile approach.
With the pivot to Agile in November 2015, the Project is using Pivotal Tracker to document and manage user stories (requirements). The Project will be using Microsoft Excel to document and manage the traceability matrix.
Scope
In-Scope
The following processes are in scope for the CWS-NS RMP:
-
Requirements Identification
-
Requirements Evaluation
-
Requirements Validation
-
Requirements Baseline
-
Requirements Control throughout life of the project
-
Requirements Traceability
Out-of-Scope
The following processes are not in scope for the CWS-NS RMP:
-
The CWS-NS Change Management Plan documents the process used to manage requirement changes.
Document Maintenance
This document will be reviewed and updated on an as needed basis.
This document contains a revision history log. When changes occur, the version number will be updated to the next increment and the date, owner making the change, and change description will be recorded in the revision history log of the document.
There will be a need for the refinement of existing user stories and the subsequent delivery of detailed system requirements specifications. As such, this RMP will be updated to reflect any changes made to the processes used to monitor and control requirements based on a collaborative plan established with the selected vendors.
Roles and Responsibilities
Role |
Responsibility |
Executive Leadership Team (ELT) |
|
Project Director |
|
Project Management Office (PMO) |
|
Service Managers and Product Owners |
|
Scrum Masters |
|
Requirements Manager (RM) |
|
Technical Solution Manager |
|
System Engineer/Lead System Developer |
|
Subject Matter Experts (SME) |
|
Program/Policy Subject Matter Expert |
|
IV&V Consultants |
|
Requirements Management Process
The requirements management process is triggered by a request for a new program, system or service or a change to the same requirement. Agile requirements depend on a shared understanding of the customer that is shared between the product owner, designers, and the development team.
Requirements Management Process is an iterative process controlled via the project’s Change Management process and interacting with other project management processes. Scrum allows development teams to build software incrementally over two- week sprints. Requirements are fed into a product backlog prior to sprint inception and they are decomposed into sprint backlogs items through sprint planning. development team starts by discussing what needs developed in a given sprint based on organizational needs and strategy. The Product Owner prioritizes and pulls work items from the product backlog, with the process controlled and managed by the Scrum Master. The goal for the business is to make sure they feed the product backlog and can support and describe what needs built by the development team prior to the start of the sprint.
Requirements deliverables and artifacts include the following possibilities:
-
The baselined CWS-NS requirements (v7.5)
-
User Stories in Pivotal Tracker
-
Requirements presentations to core counties
-
Meeting Minutes recording decisions made in design sessions and/or JADs
-
Design, Development, and Implementation Work Plan
-
Requirement Quality Assurance Checklist
-
Populated Requirement Traceability Matrix (RTM)
-
Policy Letters, Regulations, and other legally mandated documents
-
Written Policy Clarifications (if applicable)
Successful implementation of the RMP requires coordination of all the organizations working on the CWS-NS Project. The Requirements Management Process, in conjunction with the Agile/scrum methodology, consists of the following primary activities:
-
Initiation
-
Planning & Procurement
-
Development
-
Traceability
-
Verification/Validation
Initiation
During the Initiation phase of the project, a Feasibility Study Report provides a proposed technical solution that will support the current and future needs of Child Welfare Services. Business requirements are defined, and a proposed technical solution is documented to address the business requirements.
The CWS-NS Project Charter was created as a preliminary scope statement outlining the high-level scope and its meaning regarding the characteristics, parameters, and functionality of the project or new system. Requirements were developed using Business Practice Packages (BPPs), and Joint Application Development sessions (JADs) with Subject Matter Experts (SMEs) to verify and validate the as-is business processes and requirements. The "as is" business requirements were used as reference material during the development of the CWS-NS system requirements. The business requirements are maintained in a Microsoft Word table that is managed by the Requirements Manager.
During the Waterfall approach, the system requirements for both business and technical areas were developed using the Agile scrum process. Although the RFP was never released to the public, and the requirements were never formally baselined, the project is considering these approved requirements (version 7.5) baselined for the purpose of establishing a benchmark to assess future requirements analysis against.
During the initiation phase, an initial requirements envisioning phase is fundamental. At this stage, the objective is not to drill down to the details of how your end product will work. Instead, you aim to identify your project’s scope, which will help you to understand and estimate the cost and time needs of the project. The main objective is to develop a high-level understanding of CWS-NS business goals and an outline of what’s needed.
Once the project’s high-level goals, schedule and costs have been agreed on, it’s time to really get the Agile requirements management lifecycle rolling.
Planning and Procurement
During the Planning & Procurement Phase of the project, the Feasibility Study Report and Project Charter are used to define the Project’s Work Breakdown Structure (WBS), management of project cost, schedule, requirements, quality planning, and a process to manage changes to approved requirements.
The Digital Service Teams develop user stories based on the business and technology needs, utilizing the business, functional, and technical requirements identified in the Initiation and Planning & Procurement phases. User stories are short, informal descriptions of an everyday use case – basically, one or a few sentences in plain, every day or business language describing how the user expects the software to work in a certain scenario. The general template for user stories use is the following: “As a <role>, I want <goal/desire> so that <benefit>”. The requirements backlog could include visual models or UML diagrams, functional requirements, user stories, etc.
Requirements/User Stories are then fed into a product backlog within Pivotal Tracker. They are decomposed into sprint backlogs items/user stories through sprint planning and these user stories are then confirmed against the existing business requirements developed during initiation and Planning. If needed, a gap analysis is performed.
The next step of the planning process aims to evaluate requirements based on business strategy and objectives, and to define what needs to be built. Requirements (user stories, functional requirements, etc) are prioritized based on their importance, effort needs, etc.
The resulting set of general requirements will go through decomposition and some “grooming” before making their way to the product backlog. Essentially, this stage of the process helps you refine requirements and “translate” them into actual features (directions that your developers will understand). Including your development team in the process helps make sure that all the requirements are clear and easily understood by the team that will implement them. It’s important that user stories are linked to epics and features and tasks, so that developers don’t only understand what their task is, but why they are doing what they’re doing.
Development
Once a system development contract is awarded for a Digital Service team, user stories will be further refined to provide the contractor with detailed business, functional and technical specifications for Design, Development and Implementation (DD&I).
In Scrum, the product to be developed is described by the backlog, a set of items — generally user stories, but not necessarily; backlog items are selected according to priorities for implementation in successive iterations — which Scrum calls sprints.
Requirements Data
Requirements data is collected utilizing a variety of tools and techniques including, but not limited to:
-
User stories
-
Project Charter
-
All relevant State and Federal legislation and regulations
-
All relevant Federal and State Implementation Letters
-
Written Policy Clarifications
-
Information gathered from Subject Matter Experts (SMEs)
-
Expectations of key stakeholders
-
Joint Requirements Planning (JRP) Sessions
-
Technical Assessment/Review
-
Enterprise Architecture Review
-
State and Federal security requirements
-
Interviews
-
Mind mapping
-
Fishbone Diagramming
-
Surveys
-
Observations
Requirements Documentation
Requirements documentation may include the following:
-
Business Requirements – The business requirements are described in the Feasibility Study Report and the Project Charter and are also further refined in the Request for Proposal, which forms the basis for the baseline of the requirements.
-
Technical/System Requirements – A proposed technical solution is described in the Feasibility Study Report and the Project Charter and are also further refined in the Request for Proposal, which forms the basis for the baseline of the requirements.
-
Project Requirements – Project requirements are described in the Feasibility Study Report, the Project Charter, the CWS-NS Project Management Plan, and the subsidiary project management plans.
-
Quality Requirements – Validation of successful completion of a project deliverables or fulfilment of other project requirements are described in the Statement of Work, the System Integrator contract, support contracts, CWS-NS Quality Management Plan, the CWS-NS Deliverable Management Plan, and the CWS-NS Contract Management Plan.
Requirements Development Process
During the Development phase of the project, the user stories are further refined based on the business and technical needs. Transition requirements and quality requirements are developed and an Excel spreadsheet tracks the system requirements for any changes/modifications made during the solicitation process.
The Service Manager and Product Owner’s role is to define the high-level scope in terms of epics or features. The Scrum Master, working with the vendor and core team, decomposes those epics and features into user stories. The Service Manager or Product Owner prioritizes and pulls the work items/user stories from the product backlog with the process controlled and managed by the scrum master. The goal for the Digital Service Teams is to make sure they feed the product backlog and can support and describe what needs built by the development team prior to the start of the sprint.
The overall objective in the development phase is to make sure that the business (specifically, the product owner) can clearly articulate what needs built and define what is of high quality. To accomplish this, the requirements cycle follows a Scrum-like process that mirrors the development cycle but stays two to three steps ahead. The goal is to create a process by which requirements can be thoroughly vetted, organized, and communicated in a manner that is iterative, timely, and quality-focused.
In order to foster a shared understanding between the customer, the developers and the design team, the following guidance is observed:
-
When conducting customer interviews, include a member of the design and development teams so they can hear from a customer directly instead of relying on the product owner's notes. It will also give them the chance to probe deeper while the topic is fresh in the customer's mind.
-
Make developing and using customer personas a team effort. Each team member has unique perspectives and insights, and needs to understand how the personas influences product development.
-
Make issue triage and backlog grooming a team sport as well. These are great opportunities to make sure everyone is on the same page, and understand why the product owner has prioritized work the way they have.
Traceability
Requirements traceability ensures that the business need is tied to a defined epic or feature along with the user stories contained within them.
Should business needs change, the Agile methodology embraces the change process and provides traceability through the use of Pivotal Tracker along with the requirements gap analysis performed throughout user story development/refinement. The user stories are tied to artifacts such as test cases, providing further traceability. The goal of tracing is to ensure that requirements (and ultimately, solution components) are linked back to a business objective. In other words, traceability ensures that every requirement has a business purpose, and that no requirement is superfluous.
Traceability occurs throughout the life of the project. The Requirements Traceability Matrix (RTM) (Note: This link is temporarily for OSI internal use only) is currently maintained in an Excel workbook by the Requirements Manager and stored with version control in SharePoint. Requirements traceability will occur between the following: system requirements and epics, and system requirements and the BPPs.
Prior to accepting the system, requirements traceability is validated to ensure all requirements have been addressed in the design and testing phases. Any gaps in requirements coverage or testing coverage must be documented and approved. IV&V is contracted to provide an independent review of the traceability in addition to the Quality Assurance contractor who has a role in validating the requirements. The ELT shall be included in the decision to accept the system and in the final signoff process.
During system development, Quality Control review of the RTM is a key Deliverable of the Requirements phase and should also be reviewed and approved.
Verification/Validation
The purpose of requirements verification is to ensure that work products meet requirements. Verification demonstrates things are well done. Validation demonstrates things are done correctly.
The main goal of verification and validation is to ensure that final product will be delivered as it was understood by the team. It includes software testing such as unit testing, integration testing, and so on. Thus, when a product-backlog item (e.g. a user story) is derived from a portfolio element, the product-backlog item should also be verified.
In a review of requirements, customers may discover ambiguous requirements (verification) or unneeded ones (validation). If development teams are meeting with the customer on a regular basis, validation happens early and it happens often. Requirements validation is an ongoing process to ensure that stakeholder, solution, and transition requirements align to the business requirements.
Some recommended methods to approach requirements validation:
-
Click through a series of wireframes with the customer to walk them step-by-step through the requirements.
-
Document the textual requirements in a user story format for the technical stakeholders.
-
Creating a product backlog where the value statement becomes embedded right into the user story syntax. As a [user], I want to [do something] so that [perceived value]. The syntax forces you to contextualize the business value into each and every requirement you write.
Requirements validation is a critical activity. While sign-off is often thought of as the tried-and-true way to validate requirements, the reality is that every question you ask to ensure the completeness of your requirements and their link back to the business need is part of requirements validation.
Requirements Management Workflow
The workflow for requirements management is provided below: