26
Requirements Management in an Agile and Lean Environment Systems and Software Technology Conference P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation Dr. Suzette S. Johnson Agile Engineering Northrop Grumman Corp Columbia, MD Mr. George Haley Director of Architecture, Design & Analysis Northrop Grumman Corp El Segundo, CA Systems and Software Technology Conference Salt Lake City, UT May 2011

Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

Requirements Management in an

Agile and Lean Environment

Systems and Software Technology Conference

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation

Dr. Suzette S. JohnsonAgile Engineering

Northrop Grumman CorpColumbia, MD

Mr. George HaleyDirector of Architecture, Design &

Analysis Northrop Grumman Corp

El Segundo, CA

Systems and Software Technology Conference

Salt Lake City, UT

May 2011

Page 2: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

Report Documentation Page Form ApprovedOMB No. 0704-0188

Public reporting burden for the collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering andmaintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information,including suggestions for reducing this burden, to Washington Headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson Davis Highway, Suite 1204, ArlingtonVA 22202-4302. Respondents should be aware that notwithstanding any other provision of law, no person shall be subject to a penalty for failing to comply with a collection of information if itdoes not display a currently valid OMB control number.

1. REPORT DATE MAY 2011 2. REPORT TYPE

3. DATES COVERED 00-00-2011 to 00-00-2011

4. TITLE AND SUBTITLE Requirements Management in an Agile and Lean Environment

5a. CONTRACT NUMBER

5b. GRANT NUMBER

5c. PROGRAM ELEMENT NUMBER

6. AUTHOR(S) 5d. PROJECT NUMBER

5e. TASK NUMBER

5f. WORK UNIT NUMBER

7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) Northrop Grumman Corp,9160 Guilford Road,Columbia,MD,21046-1803

8. PERFORMING ORGANIZATIONREPORT NUMBER

9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES) 10. SPONSOR/MONITOR’S ACRONYM(S)

11. SPONSOR/MONITOR’S REPORT NUMBER(S)

12. DISTRIBUTION/AVAILABILITY STATEMENT Approved for public release; distribution unlimited

13. SUPPLEMENTARY NOTES Presented at the 23rd Systems and Software Technology Conference (SSTC), 16-19 May 2011, Salt LakeCity, UT. Sponsored in part by the USAF. U.S. Government or Federal Rights License

14. ABSTRACT

15. SUBJECT TERMS

16. SECURITY CLASSIFICATION OF: 17. LIMITATION OF ABSTRACT Same as

Report (SAR)

18. NUMBEROF PAGES

25

19a. NAME OFRESPONSIBLE PERSON

a. REPORT unclassified

b. ABSTRACT unclassified

c. THIS PAGE unclassified

Standard Form 298 (Rev. 8-98) Prescribed by ANSI Std Z39-18

Page 3: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

Discussion Outline

• Defining an Agile Environment

• Requirements, Use Cases, User Stories

• Levels Planning

• User Story Verification and Validation

• Summary

• References

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation2

• References

Page 4: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

• Adaptive, Responsive, Continuous Improvement, Evolving

• Improved transparency of progress

• End-to-end accountability and ownership

• Reduces time-to-deploy operational capability

• Ability to adapt to changing requirements and new technological

An Agile Environment

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation3

• Ability to adapt to changing requirements and new technological advancements

Page 5: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

Building Practice on Principles

Eliminate Waste

Build Quality In

Create Knowledge

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation

Adapted from: Implementing Lean Software Development: From Concept to Cash by Mary and Tom Poppendieck

Defer Commitment

Deliver Fast

Respect People

Optimize the Whole

Page 6: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

Deliver Value

Customer Needs and Product Vision

Developing

Understanding

Creating the

Vision

Captured Capabilities

RequirementsUse Cases

System Level Validations

User Stories and Acceptance Tests

This is the primary focus for our

discussion today

Requirements mapped to stories

Revisit architecture and design each release and iteration

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation

Planning and

Estimating the

Work

Developing

Understanding

• Architecture• Sequence Diagrams• Activity Flow Diagrams

• Functional • Non-Functional

Product Roadmap

Release Planning

Iteration Planning

Daily Plans and Commitment

As needed

Product Backlog

6-9 months 1 – 6 months 1- 4 weeks Daily

Page 7: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

Use cases

• “A use case is the specification of a set of actions performed by a system, which yields an observable result that is, typically, of value for one or more actors or other stakeholders of the system.... Use cases are a means for specifying required usages of a system. Typically, they are used to capture the requirements of a system, that is, what a system is supposed to do”1.

• Agile methods emerged with a focus on user stories. User stories are similar to use cases but are:

– Typically more fine-grained & smaller;

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation

– Typically more fine-grained & smaller;

– Not intended to specify requirements;

– More closely related to schedulable work.

04/27/20116

1 OMG Unified Modeling Language (OMG UML), Superstructure, V2.1.2

Do use cases have a place in Agile environments?

Page 8: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

Use Cases and User Stories

Why?Why?

• System behavior is described operationally from users’ perspectives

– Greatly reduces validation issues

• Drives verification to focus on operationally-relevant cases

How?How?

• In agile environments use cases are written “just-in-time” (for release planning) versus all up front

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation

planning) versus all up front

• Using use cases in an Agile environment. Ask:

– How much do we need to write at this time?

– When do we need to write more?

– What is the fastest way to write/convey them?

– Who benefits from more information or more detail?1

04/27/20117

(2003). Allistair Cockburn. Agile Use Cases (Presentation).

Both approaches can coexist

Page 9: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

Use Case/User Story Definition

• Written from the user perspective

• Captures value to the customer/user (not the developer)

• Emphasizes verbal communication and collaboration

• The right size for estimating and planning (User Stories only)

• Testable

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation

• Testable

• Demonstrable

04/27/20118

Page 10: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

Agile Systems Engineering Ontology

Capability

Epic Story

«satisfy»

Use Case

«satisfy»

Release1

1..*

1

1..*

1..*1..*

11

1

1..*1..*

1

1..*1..*1..*1..*

Validation Event

~2-6 months

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation04/27/20119

Action

Story

1..*

1

1..*

1..*

1

1..*

Iteration1

1..*

1

1..*

2..*

Scenario1..*

2..*

1..*

Functional

Specification

Functionality

Planning

Scheduling

& Planning

11..*

Task

1..*1

1..*

1..*

1..*1..*Verification Case

1..*1..*

Verification &

Validation

1..*

1..*

1..*

1..*Validation Event

~1 day

~2-4 weeks

•“Action” is a.k.a. “Step”•“Scenario” is a.k.a. “Flow”

Page 11: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

Use Case to Scenario to User Story

One Scenario One Scenario within the use within the use

casecase

Use Use CaseCase

11

22

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation10

As a [user/system] I want [what] so that [why]….

33

A A user story is a user story is a segment of a segment of a

scenarioscenario

Page 12: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

IEEE 830 Software Req. Spec

1.The product shall have a gas engine.2.The product shall have four wheels.The product shall have a rubber tire mounted to each wheel

3.The product shall have a steering wheel.

User Stories Convey MeaningExample of traditional approach shortcomings

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation11

3.The product shall have a steering wheel.4.The product shall have a steel body.

Reference: Mike Cohn, mountaingoatsoftware.comSource: Adapted from The Inmates are Running the Asylum by Alan Cooper. (1999)

Page 13: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

User Stories Convey Meaning

As a <lawn service provider> I want to mow lawns quickly and easily.

As a <lawn service

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation12

As a <lawn service provider> I want to sit

comfortably while mowing lawns.

Reference: Mike Cohn, mountaingoatsoftware.com

Page 14: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

Capabilities to User Stories

The system shall provide the capability for making hotel reservations.

As a premiere member, I want to search for available discounted

As vacationer, I want to search for available

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation13

available discounted rooms.

search for available rooms.

As vacationer, I want to save my selections.

Page 15: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

What About Non-Functional Requirements?

As a vacationer and user of the hotel website, I want the system to be available 99.99% of the time…

As vacationer, I want web pages to download in <4 seconds…

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation14

As the hotel website owner, I want 10,000 concurrent users to be able to access the site at the same time with no impact to performance…

Stories for Stories for nonnon--functional functional requirementsrequirements

Describes Describes system system

behavior or behavior or characteristicscharacteristics

Reference: Mike Cohn, mountaingoatsoftware.com

Page 16: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

Advantages and Practices

• Why User Stories are preferred over traditional methods

– Emphasizes verbal communications

– Comprehensible by both customer and developer

– The right size for planning

– Works well for iterative development

– Encourages deferring detail until you have the best understanding you are going to have about what you really need.

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation15

are going to have about what you really need.

– Helps the Team understand to whom they are delivering certain functionality

– Helps the Team understand when they are “done”

• User Stories can be used with traditional requirements

– Best to keep the requirements high level

– A mapping from requirements to users stories needs to be maintained, especially if requirements are part of the contract.

Reference: Mike Cohn, MountainGoatSoftware.com

Page 17: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

User Stories

• A story is either “done” or “not done”.

• As stories are completed, the status of the high-level capability is updated (verified, partial…).

• A set of tests is linked to each story and the high level requirement.

• Each story has a set of test objectives and automated tests.

• Stories are for communication and to better understand the work.

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation16

• Stories are for communication and to better understand the work.

Focused on the Focused on the ConversationConversation

Page 18: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

Release Plan, Iteration Plan, Daily Plan

Design Review 4

Install Baseline 4

Yesterday I started on the interface….

Today I plan to…

Release Plan (Stories)Iteration Plan (Tasks)

PointsHours

The Daily Plan

Example: Hotel Website

Relative Value

80 As a vacationer, I want to search room

Tests:

• Test with search on 1 room

12

Capability 1: Make Room Reservations

User Stories

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation17

ICD Updates 8

Acquire Test Data 8

Code 24

Develop Tests 8

Run Tests 8

Today I plan to…The one thing standing in

my way…

search room availability…

search on 1 room

• Test with search on

executive suite….

75 As a vacationer, I want to save my request…

Test

Objective

8

70 As a vacationer, I want to pay with a credit card…

Test

Objective

21 Product Backlog• The high-level requirements with stories mapped• Prioritized by the product owner in terms of business value

and risk• Reprioritized at the start of each iteration

Page 19: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

User Stories and Testing

Requirements

Team Develops Use Cases

Team write user stories

Team writes test objectives/cases for each story

Typically during release planning

Functional and Non-functional

One Use Case = Multiple User Stories

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation18

Design, Code, Integrate, Test

Individual user story tests verified

Test Case Testing Regression Testing Performance Testing

Test Pass?

Enter defect/error report

NVerified and Validated

Y

Page 20: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

The Iteration Demonstration and Acceptance

• Transparency and information sharing

• Team presents what it accomplished during the iteration

• Typically takes the form of a demo of new features or underlying architecture

• Time-boxed

• Whole team participates

• Feedback from stakeholders and users

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation19

• Feedback from stakeholders and users

• User Stories validated and accepted

User Story User Story ValidationValidation

Page 21: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

Requirements Mapping

• Requirement to story mapping

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation20

• Requirement to Story to Test to Verification

Page 22: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

Monitoring Progress: Product Burndown

Product Burndown for the Release

300

400

500

600

700

800

900

1000

Sto

ry P

oin

ts

Planned

Completed

Focuses on the Points (Work) Remaining

Product

Roadmap

Iteration

Planning

Iteration Demo and

Retrospective

Iteration

Execution

Delivery

Vision

Customer Needs

Release

Planning

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation21

0

100

200

Iteration1 Iteration2 Iteration 3 Iteration 4 Iteration 5 Iteration 6 Iteration 7

• Based on story points planned

• Updated and reviewed each iteration

• As stories are accepted and tests passed, requirement progress is updated

Product Burndown

-20

0

20

40

60

80

100

120

140

itera

tion

0ite

ratio

n 1

itera

tion

2ite

ratio

n 3

itera

tion

4ite

ratio

n 5

Sto

ry P

oin

ts Story points baseline

Burndown (Pts

Remain)5

10

15

20

25

35

30

Product Burndown

-20

0

20

40

60

80

100

120

140

itera

tion

0ite

ratio

n 1

itera

tion

2ite

ratio

n 3

itera

tion

4ite

ratio

n 5

Sto

ry P

oin

ts Story points baseline

Burndown (Pts

Remain)5

10

15

20

25

35

30

A project team’s burndown(team of teams)

A team’s product burndown

Page 23: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

Summary: Bringing It Together

Customer Needs and Product Vision

Developing

Understanding

Creating the

Vision

Captured Capabilities

RequirementsUse Cases

System Level Validations

User Stories and Acceptance Tests

Requirements mapped to stories

Revisit architecture and design each release and iteration

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation

Planning and

Estimating the

Work

Developing

Understanding

• Architecture• Sequence Diagrams• Activity Flow Diagrams

• Functional • Non-Functional

Product Roadmap

Release Planning

Iteration Planning

Daily Plans and Commitment

As needed

Product Backlog

6-9 months 1 – 6 months 1- 4 weeks Daily

Page 24: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

Final Notes

• Requirements and User Stories – High level requirements can be mapped to user stories

– User stories convey understanding (user, need, why)

– User stories create the Product Backlog

• Requirements Analysis and Design– Upfront requirement analysis is done during release planning for the capabilities being

delivered in that release

– Designs are developed/built upon each iteration

– Design reviews for user stories are part of the story’s tasks and are done as needed

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation23

– Design reviews for user stories are part of the story’s tasks and are done as needed

• Requirements Priorities and Changes– Requirements and user stories may be reprioritized

– Contract modifications may be needed, but would not be done every iteration

• Requirements and Tests– High level requirements (end-to-end capabilities) have tests and each user story has tests.

• People– Systems engineers part of the team

– Those responsible for performing the end-to-end capabilities testing should be part of team planning and regular collaboration

Page 25: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

References and Recommended Readings

Agile Requirements and Collaboration

Requirements by Collaboration Ellen Gottesdiener, EBG Consulting

Collaboration Explained Jean Tabaka, Rally Software

User Stories Applied Mike Cohn

Agile Development Practices

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation24

Agile Development Practices

Agile Software Requirements Dean Leffingwell

Agile Software Development with Scrum Ken Schwaber and Mike Beedle

Agile Testing Lisa Crispin and Janet Gregory

Agile Estimating and Planning Mike Cohn

Page 26: Requirements Management in an Agile and Lean Environment · Requirements Management in an Agile and Lean Environment 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER

P##-# (Rev #) Copyright 2011 Northrop Grumman Corporation04/27/201125

IVDRTHRDP GRU/t#/t#AIV