CDC UNIFIED PROCESS PRACTICES GUIDE



Similar documents
CDC UNIFIED PROCESS PRACTICES GUIDE

Practice Overview. REQUIREMENTS DEFINITION Issue Date: <mm/dd/yyyy> Revision Date: <mm/dd/yyyy>

CDC UNIFIED PROCESS PRACTICES GUIDE

CDC UNIFIED PROCESS PRACTICES GUIDE

Creating a Publication Work Breakdown Structure

CDC UNIFIED PROCESS PRACTICES GUIDE

Business Analysis Essentials

CDC UNIFIED PROCESS PRACTICES GUIDE

Quantification and Traceability of Requirements

System Requirements Specification (SRS) (Subsystem and Version #)

SEVEN KEY TACTICS FOR ENSURING QUALITY

Clinical Risk Management: Agile Development Implementation Guidance

VAIL-Plant Asset Integrity Management System. Software Development Process

IO4PM - International Organization for Project Management

The Software Development Life Cycle (SDLC)

Software Development Life Cycle (SDLC)

Scrum, User Stories, and More! CSCI 5828: Foundations of Software Engineering Lecture 22 11/06/2014

EXHIBIT L. Application Development Processes

Issue Management Plan Preparation Guidelines

Course Outline. Foundation of Business Analysis Course BA30: 4 days Instructor Led

JOURNAL OF OBJECT TECHNOLOGY

Bottom-Line Management

CDC UNIFIED PROCESS JOB AID

Project Lifecycle Management (PLM)

Draft Requirements Management Plan

STSG Methodologies and Support Structure

Time Monitoring Tool Software Development Plan. Version <1.1>

Software Test Plan (STP) Template

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Minnesota Health Insurance Exchange (MNHIX)

IMPORTANCE OF SOFTWARE TESTING IN SOFTWARE DEVELOPMENT LIFE CYCLE

SOFTWARE REQUIREMENTS

Managing Process Architecture and Requirements in a CMMI based SPI project 1

11 Tips to make the requirements definition process more effective and results more usable

Develop Project Charter. Develop Project Management Plan

Atomate Development Process. Quick Guide

Objectiver. A power tool to engineer your technical and business requirements!

CHAPTER 1: INTRODUCTION TO RAPID APPLICATION DEVELOPMENT (RAD)

(BA122) Software Engineer s Workshop (SEW)

How To Understand The Business Analysis Lifecycle

Business Analyst Boot Camp Course BA101; 5 Days, Instructor-led

Design Document Version 0.0

Partnering for Project Success: Project Manager and Business Analyst Collaboration

Supporting Workflow Overview. CSC532 Fall06

CS 6361, SPRING 2010 Advanced Requirements Engineering Web Based Meeting Scheduler- Project Plan

Nova Software Quality Assurance Process

PHASE 5: DESIGN PHASE

SECTION 4 TESTING & QUALITY CONTROL

Requirements Definition and Management Processes

PROJECT MANAGEMENT PLAN Outline VERSION 0.0 STATUS: OUTLINE DATE:

4.4 What is a Requirement? 4.5 Types of Requirements. Functional Requirements

CALIFORNIA STATE UNIVERSITY, NORTHRIDGE EVALUATING SOFTWARE PROJECT MANAGEMENT QUALITY USING A CASE STUDY APPROACH

Custom Software Development Approach

Montana Department of Transportation Information Services Division. System Development Life Cycle (SDLC) Guide

OE PROJECT CHARTER TEMPLATE

Organization. Project Name. Project Overview Plan Version # Date

Quick Reference Guide Interactive PDF Project Management Processes for a Project

8. Master Test Plan (MTP)

Program Lifecycle Methodology Version 1.7

<project name> COMMUNICATIONS PLAN

D6 INFORMATION SYSTEMS DEVELOPMENT. SOLUTIONS & MARKING SCHEME. June 2013

A Capability Maturity Model (CMM)

Data Warehouse. Project Process. Project Documentation. Revised Aril, 2013

Introduction to the ITS Project Management Methodology

Software Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti

Business Analyst Work Plan. Presented by: Billie Johnson, CBAP CSM

How To Test For Elulla

Importance of Testing in Software Development Life Cycle

How To Write An Slcm Project Plan

<PROJECT NAME> PROJECT MANAGEMENT PLAN

MOF MSF. Unitek. Microsoft Operations Framework. Microsoft Solutions Framework. Train. Certify. Succeed.

Business Analyst Interview Questions And Answers

SOFTWARE DEVELOPMENT MAGAZINE: MANAGEMENT FORUM December, Vol. 7, No. 12 Capturing Business Rules. By Ellen Gottesdiener,

B usiness P rocess M anagement T raining c atalog

Integration Mgmt / Initiating Process Group 4.1 Develop Project Charter

Information Technology Project Oversight Framework

Requirements Management

So You Want To Be a Requirements Analyst? 1

LEXEVS OPERATIONS AND MAINTENCE SUPPORT PROJECT MANAGEMENT PLAN

Test Plan Template: (Name of the Product) Prepared by: (Names of Preparers) (Date) TABLE OF CONTENTS

Lecture 20: Software Evolution

2.1 Initiation Phase Overview

BAL2-1 Professional Skills for the Business Analyst

Rally Integration with BMC Remedy through Kovair Omnibus Kovair Software, Inc.

How To Validate Software

Requirements Management In Action. A beginners guide to Requirements Management

Overview of STS Consulting s IV&V Methodology

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

Sofware Requirements Engineeing

Appendix 2-A. Application and System Development Requirements

Planning, Monitoring, Evaluation and Learning Program

Value Engineering VE with Risk Assessment RA

Agile and lean methods for managing application development process

Phases, Activities, and Work Products. Object-Oriented Software Development. Project Management. Requirements Gathering

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

This alignment chart was designed specifically for the use of Red River College. These alignments have not been verified or endorsed by the IIBA.

Software Development Processes. Software Life-Cycle Models

NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0

PMAP. Project Management At Penn PMAP

Agile Requirements Methods

Transcription:

Document Purpose The purpose of this document is to provide guidance on the practice of Requirements Management and to describe the practice overview, requirements, best practices, activities, and key terms related to these requirements. In addition, templates relevant to this practice are provided at the end of this guide. Practice Overview Projects often encounter major difficulties because they lack clearly defined and documented requirements. Requirements management is a systematic approach to finding, documenting, organizing, and tracking requirements and the changes that may occur. Requirements Management helps ensure that the end product meets the needs and expectations of the stakeholders. A key step in requirements management is to determine and agree upon specific requirements gathering processes, documentation of requirements, traceability, and testing expectations. Requirements are defined during the planning phase and are managed throughout the entire process from high level requirements, through detailed requirements, design, build, and test. This Requirements Management Practices Guide provides guidelines for managing all requirements for a project and describes the details on how the requirements might be documented, organized, and managed. The intended audience of this document is the project team. A distinction needs to be made between project requirements and product requirements. Project Requirements define how the work will be managed. This includes the budget, communication management, resource management, quality assurance, risk management, and scope management. Project requirements focus on the who, when, where, and how something gets done. Project requirements are generally documented in the Project Management Plan. Product Requirements include high level features or capabilities that the business team has committed to delivering to a customer. Product requirements do not specify how the features or the capabilities will be designed. Requirements Definition Requirements definition provides a solid foundation for the end product and provides the first view of what the intended product must do and clear descriptions of how it should perform. Requirements definition also provides a basis for design and serves as a foundation for testing and user acceptance of the end product. Requirements definition captures all levels of requirements and helps to ensure that the project meets its objectives within the agreed upon limitations of time, cost and functionality. Requirements definition is used to identify the goals, needs, and objectives of the end product by asking questions like: What problem are we trying to solve? What do we need to do to solve the problem? How do we accomplish solving the problem? Requirement Gathering Requirement gathering is an iterative process that involves interacting with the client to gain consensus on the details of those requirements. There is no one perfect method for gathering and analyzing requirements. The most appropriate method for gathering requirements differs from project to project. Some commonly used techniques for gathering requirements are: Interviews Prototyping Use Case Analysis UP Version: 06/30/07 Page 1 of 5

User Stories Workshops INTERVIEWS Interviews are used to gather information. However, the predisposition, experience, and skill of the person being interviewed needs to be taken into account because these elements have a tendency to prejudice information obtained in the interview. One approach to alleviating possible bias would be the use of context-free questions by the interviewer. PROTOTYPING Prototyping is a technique for building a quick and rough version of a desired system or parts of that system. The prototype illustrates the system capabilities to users and designers. It serves as a communications mechanism to allow reviewers to understand interactions with the system. In some cases, prototyping can give the impression that developers are further along in the development of the project than is actually the case which can give users unrealistic project completion expectations. USE CASE ANALYSIS A Use Case Analysis is a narrative document that describes the sequence of events a user uses a system to complete a process. Use cases are meant to capture the intended behavior of the system being developed, without specifying how that behavior is implemented. A use case diagram can be used to depict the business functionality, at a high-level, that the system will support. USER STORIES User Stories are a simple approach to requirements gathering that shifts the focus from formal written requirements documentation to conversation that enables a project to be more responsive from its inception. User stories differ from Use Cases in that User Stories are written by the customers outlining functions that the system should be able to perform and User Stories consist of only a few sentences of written text. WORKSHOPS Requirements gathering workshops provide an opportunity for individual perspectives to be shared, refined, and combined in ways that will benefit and develop upon business requirements. Participants walk away with a better understanding of the issues and as a result may feel a stronger sense of commitment and ownership to the project. Requirements Traceability Requirements tracing is a practice more specific to systems development and is defined as the ability to describe and follow the life of a requirement, in both a forward and a backward direction through the entire project s life cycle. Requirements tracing captures all levels of requirements and helps ensure that the project meets client expectations. Requirements traceability can be considered the backbone of any project and helps ensure accurate delivery to meet client expectations. Tracing requirements through the entire life cycle provides the ability to ascertain that technical requirements have been satisfied by functional requirements that will in turn satisfy business requirements; from project scope to high level requirements to detailed design, down through coding, and testing. Requirements will differs from project to project. Some commonly identified types of requirements are: Functionality Performance Regulatory/Legal UP Version: 06/30/07 Page 2 of 5

Reliability Supportability Usability CDC UNIFIED PROCESS FUNCTIONALITY Functionality requirements identify aspects of the desired final product such as: What the system should do and how the system should do it as it relates to the user s interaction with the system. PERFORMANCE Performance requirements identify aspects of the desired final product such as: Response time for a transaction (minimum, average, maximum) Throughput (e.g., transactions per second) Resource utilization: memory, disk, communications, etc. REGULATORY/LEGAL Regulatory/Legal requirements identify aspects of the desired final product such as: Compliance related requirements such as CPIC, C&A, etc. Federal, state, and local laws RELIABILITY Reliability requirements identify aspects of the desired final product such as: Availability specify % of time available (xx.xx%), hours of use, maintenance access, degraded mode operations etc. Accuracy specify precision (resolution) and accuracy (by some known standard) that is required in the systems output. Maximum bugs or defect rate usually expressed in terms of bugs/kloc (thousands of lines of code), or bugs per function-point. SUPPORTABILITY Supportability requirements identify aspects of the desired final product s requirements that enhance the supportability or maintainability of the system being built, including: Coding standards Naming conventions Maintenance access USABILITY Usability requirements identify aspects of the desired final products such as: Required training time for users to become operationally proficient in its use Specify measurable task times for typical tasks Usability requirements based on other systems that the users know and like SECURITY Security requirements identify aspects of the desired final products such as: Degree to which a system and it s data are protected against threats Best Practices The following best practices are recommended for requirements definition: Stakeholders Identify and involve stakeholders. UP Version: 06/30/07 Page 3 of 5

Iterative Process - Requirements management is an ongoing, iterative process conducted throughout the project lifecycle. Review and Approve - Defined requirements should be reviewed and approved by the business owners. Clearly Documented - Defined requirements should be centrally documented using some type of tracking system or log. Unique Identifier - Each requirement should have a unique identifier and should be recorded as a single line entry. Traceability - Traceability should be centrally documented using some type of tracking system or log. Reviews - Regular reviews of requirements and their traceability is a good project management practice. Depending on the complexity of the project, the review process can occur daily; but should happen at least weekly for even the simplest projects. Practice Activities For software development projects the following practice activities are appropriate: REQUIREMENTS DEFINITION The practice of requirements definition is mainly conducted in the planning phase and involves the following activities: Functionality - Defining functional requirements based on technical assumptions and/or Usability - Defining usability requirements based on technical assumptions and/or client needs. Reliability - Defining reliability requirements based on technical assumptions and/or Performance - Defining performance requirements based on technical assumptions and/or Supportability - Defining supportability requirements based on technical assumptions and/or Constraints - Defining design constraints based on technical assumptions and/or client needs. Risk - Identifying associated risk(s). Communication - Communicating regularly (at least weekly) with stakeholders about the status of requirements. Communicating to stakeholders that the requirement has been completed. REQUIREMENTS TRACEABILITY The practice of requirements traceability is iterative. It is conducted throughout the system lifecycle and involves the following activities: Functionality - Defining functional requirements based on technical assumptions and/or Traceability - Setting up and maintaining a requirements traceability system. Log - Updating regularly (at least weekly) the traceability log with new information. Communication - Communicating regularly (at least weekly) with stakeholders about the status of requirements. Log - Recording data used to track the requirements in the traceability log. Communication - Communicating to stakeholders that a particular requirement has been completed. UP Version: 06/30/07 Page 4 of 5

Practice Attributes This section provides a list of practice attributes to help project teams determine when and how Requirements Traceability impacts a project. Practice Owner Criteria Estimated Level of Effort Prerequisites Practice Dependencies Practice Timing in Project Life Cycle Templates/Tools Additional Information CDC UP Project Office NCPHI All projects regardless of type or size should document how requirements are defined and traced through the system life cycle. Minimal Requirements management is an activity that takes place throughout the entire project life cycle. Key Terms Follow the link below to for definitions of project management terms and acronyms used in this document. http://www2.cdc.gov/cdcup/library/other/help.htm Related Templates/Tools Below is a list of template(s) related to this practice. Follow the link below to download the document(s). http://www2.cdc.gov/cdcup/library/matrix/default.htm None UP Version: 06/30/07 Page 5 of 5