27
Sponsored by: Requirements Management Best Practices Karl Wiegers Principal Consultant, Process Impact www.processimpact.com

RequirementOne requirements management - best practices - web

Embed Size (px)

DESCRIPTION

Requirements development deals with getting good software requirements. Requirements management addresses the challenges of handling these requirements as the project proceeds over time. This presentation summarizes several best practices for requirements management. The following topics are addressed: • Version control of requirements documents • Change control • The change control board • Impact analysis of change requests • Requirements attributes • Tracking requirements status • Requirements traceability • Using requirements management tools

Citation preview

Page 1: RequirementOne requirements management - best practices - web

Sponsored by:

Requirements Management Best Practices

Karl Wiegers

Principal Consultant, Process Impactwww.processimpact.com

Page 2: RequirementOne requirements management - best practices - web

2

Sponsor: RequirementOne

Delivers 100% of Karl’s recommended requirement tool capabilities

Collaborative working in the cloud

Write individual requirements in intuitive Word format

Quick to implement

Free 30 day trial $45/month/project Unlimited users

Page 3: RequirementOne requirements management - best practices - web

Phone #:

E-mail:

3

Sponsored By

Blog:

Featured Speaker

Karl WiegersPrincipal Consultant, Process Impact

www.processimpact.com

503-698-9620

[email protected]

Consulting Tips & Tricks Blog: www.karlconsulting.blogspot.com

Page 4: RequirementOne requirements management - best practices - web

Sponsored By

4

Elicitation

Components of Requirements Engineering

Requirements Engineering

Requirements Development

Requirements Management

Analysis ValidationSpecification

Page 5: RequirementOne requirements management - best practices - web

Sponsored By

5

Key Requirements Management PracticesCreating a requirements baseline.

Manage versions of requirements documents.

Adopt and enforce a change control process.

Perform requirements change impact analysis.

Store requirement attributes.

Track the status of each requirement.

Trace requirements into designs, code, and tests.

Store requirements in a requirementsmanagement tool.

Page 6: RequirementOne requirements management - best practices - web

Sponsored By

6

The Requirements Baseline Baseline: A reviewed, approved, and agreed-upon

setof requirements committed to a specificproduct release.

“Sign-off” is a matter of approving the baseline.

When a baseline is defined: formal change control begins managers make schedule commitments managers determine the staff and budget

needed to meet their schedule commitments

Page 7: RequirementOne requirements management - best practices - web

Sponsored By

7

Requirements Version Management Place requirements documents under version control.

keep requirements documentation up to date everyone must have access to current versions restrict document update access to authorized individuals

Best: Store requirements in a database.

Better: Store documents in a configuration management system.

Good: Define a version identification scheme.

#1= “version 1.0 draft 1”

#2= “version 1.0 draft 2”

#n= “version 1.0 approved”

#n+1 = “version 1.1 draft 1” or “version 2.0 draft 1”

Page 8: RequirementOne requirements management - best practices - web

Sponsored By

8

Requirements Change ControlUncontrolled changes cause problems:

rework, degraded quality, unpredictable schedules

Define a requirements change process. propose, review, approve, and incorporate changes define state-transition model for allowed change states include impact analysis support with a tool, but a Tool Is Not a Process!

All change requests must follow the process.

Requirements changes may require renegotiating project commitments.

changeprocess

Page 9: RequirementOne requirements management - best practices - web

Sponsored By

9

Possible Change Request Statuses

Evaluated

Approved

Canceled

SubmittedChangeRequest

Change Made

Verified

Closed

Rejected

Page 10: RequirementOne requirements management - best practices - web

Sponsored By

10

A Change Control System

e-mailwithentry

e-mail with entrye-mail with entry

CustomerReps

SupportStaff

Change Tool

database

e-mail withresponse

defect report,enhancement,

requirement change

User

response response

reports

Page 11: RequirementOne requirements management - best practices - web

Sponsored By

11

Change Control Board Diverse group

development testing project management customer documentation others?

Authorized to make binding decisions

Adopt a CCB Charter purpose, scope of authority, membership, meeting frequency,

decision-making process, communicating status

Consider change requests periodically request impact analysis make and communicate accept/reject decisions set priorities or targeted releases

Page 12: RequirementOne requirements management - best practices - web

Sponsored By

12

Impact Analysis for Requirements Changes - 1

Identify conflicts with existing requirements.

Identify affected design, code, test components.

Assess impact on user interface, database, reports, files, help screens, publications.

Identify other systems, libraries, or hardware affected.

Determine which work products willrequire reviewing.

Identify plans to update(SPMP, SCMP, SQAP, etc.).

Page 13: RequirementOne requirements management - best practices - web

Sponsored By

13

Impact Analysis for Requirements Changes - 2

Will the change affect performance or other quality attributes?

Is the change technically feasible?

Will the change overload computer resources for development, test, or host environment?

Will you have to discard other completed work?

Does it violate any business rules?

Does the change affect any othercurrent tasks?

Page 14: RequirementOne requirements management - best practices - web

Sponsored By

14

Impact Analysis for Requirements Changes - 3

Estimate total labor hours for all tasks to be performed. create new designs, code, tests, UI, database, files, reports modify existing designs, code, tests, UI, database, files, reports develop and evaluate prototype retesting reviews and rework

Allocate resources to tasks.

Sequence tasks and identify predecessors.

Determine if change is on critical path.

Estimate schedule and cost impact from effort.

Page 15: RequirementOne requirements management - best practices - web

Sponsored By

15

Requirement Attributes Store additional information about each requirement.

Some suggestions: status date created and version number author and person responsible for the requirement origin or rationale behind the requirement allocated subsystem, product release, and build priority risk criticality validation method

Track project status through requirements status.

~~~~~~~~~~~~~~~~~~~~~~~~

The Spec

Page 16: RequirementOne requirements management - best practices - web

Sponsored By

16

Requirements Status Tracking - 1Proposed requirement was requested by a

legitimate source

Approved requirement was analyzed, impactevaluated, and allocated to a baseline

Implemented code was designed, written, and tested

Verified requirement was shown to beimplemented correctly in the product

Deleted planned requirement was deleted fromthe baseline

Rejected requirement was requested, not approved

Page 17: RequirementOne requirements management - best practices - web

Sponsored By

17

Requirements Status Tracking - 2

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

1 2 3 4 5 6 7 8 9 10

Month

Pe

rce

nt

of

Re

qu

ire

me

nts

Proposed

Approved

Implemented

Verified

Deleted

Page 18: RequirementOne requirements management - best practices - web

Sponsored By

18

Requirements Traceability

Functional Requirement

System Requirement, Use Case, Business Rule

Design Component

Source Code File & Function

Test Case

Each requirement must be uniquely identified: 3.1.4.2, FR-117, Print.ConfirmCopies

Page 19: RequirementOne requirements management - best practices - web

Sponsored By

19

Requirements Traceability Matrix - 1

Benefits:

1. No requirements are overlooked during design and implementation.

2. You can see at a glance what work has been completed.

3. If a test fails, it points to the code to search for the problem.

4. A requirement change points to the affected design, code, and test elements.

Req. Design Element Source File Function Test Case

FR-117 DFD 8.8.7 progmgr.c execute_action, select_manage

action.1, action.3

Page 20: RequirementOne requirements management - best practices - web

Sponsored By

20

Requirements Traceability Matrix - 2

Use Cases

FunctionalRequirements UC-1 UC-2 UC-3

FR-1

FR-2

FR-3

FR-4

FR-5

FR-6

Page 21: RequirementOne requirements management - best practices - web

Sponsored By

21

Where Traceability Links Might Come From

Link Source Link Target Information Source

Product requirement Software or hardware requirement

System Engineer

User requirement Functional requirement Business Analyst

Functional requirement Functional requirement Business Analyst

Functional requirement Test case Test Engineer

Functional requirement Architecture element Architect

Functional requirement Software or hardware design element

Developer

Design element Code Developer

Business rule Functional requirement Business Analyst

Page 22: RequirementOne requirements management - best practices - web

Sponsored By

22

Limitations of Requirements Documents

Difficult to handle requirements for multiple releases

Difficult to move a requirement from one baseline to another

Difficult to reuse requirements information

Difficult to link information in multiple locations across documents

Difficult to give stakeholders access to current versions

Page 23: RequirementOne requirements management - best practices - web

Sponsored By

23

Requirements Management Tool CapabilitiesManage versions and changes

version history of every requirement baselining capability

Store requirements attributes system and user-defined filter to view requirements with specific attribute values

Define traceability links requirements to other requirements, designs, tests, etc. assist with change impact analysis

Control access group and individual permissions web access to requirements database

Page 24: RequirementOne requirements management - best practices - web

Sponsored By

24

Getting the Most from Your RM Tool

Write good requirements first.

Don’t expect the tool to replace a requirements process.

Expect a culture change.

Don’t create too many requirement types or attributes.

Train the tool users.

Assign responsibilities.

Take good advantage of tool features.

Page 25: RequirementOne requirements management - best practices - web

Sponsored By

25

Requirements Management Best Practices

NO

SURPRISES!

Page 26: RequirementOne requirements management - best practices - web

26

Sponsor: RequirementOne

Execute Karl’s recommendations TODAY!

Sign up for a free 30 day trial www.requirementone.com

Specifications app $45/project/month

Page 27: RequirementOne requirements management - best practices - web

Sponsored By

27

Q & A