Requirements at the speed of light

Post on 11-May-2015

437 views 0 download

Tags:

description

Slides on a presentation that we give. Requirements on Agile Projects

Transcript of Requirements at the speed of light

Copyright Seilevel

Requirements at the Speed of Light

Requirements on Agile Projects

Copyright Seilevel

What are Requirements?

1. A condition or capability needed by a user to

solve a problem or achieve an objective.

2. A condition or capability that must be met or

possessed by a product or product

component to satisfy a contract, standard,

specification, or other formally imposed

documents.

3. A documented representation of a condition

or capability as in (1) or (2).

Copyright Seilevel

What are Requirements?

Requirements are any

description of what

the users want or

need.

Copyright Seilevel

The Villain

Requirements Design Coding Verification Maintenance

Copyright Seilevel

Building Walls

Artificial Barriers between Users and Developers.

The line in the sand that starts fights.

Copyright Seilevel

Why Do Projects Fail?

•Lack of user input

•Incomplete requirements

•Changing requirements

•Unclear objectives

Standish Group – CHAOS Report, 2004

Copyright Seilevel

A Better Way?

What if we got everyone together and just focused on

building the right software?

Copyright Seilevel

What is Agile?

Individuals & Interactions Processes & Tools

Working Software Comprehensive Documentation

Customer Collaboration Contract Negotiation

Responding to Change Following a Plan

1Manifesto for Agile Software Development - http://agilemanifesto.org/

“That is, while there is value in the items on the right, we value the items on the left more.”

Copyright Seilevel

Many Flavors of Agile

• Scrum

• Extreme Programming

• Short Cycle Time

• Spiral

• Quick Iterations

• Just in Time

• Test-Driven Development

• and more...

Copyright Seilevel

What you might see

REQUESTS BACKLOG

1 – REQUEST

2 – REQUEST

SPRINT

REQUESTS

USER STORY 1

Manage users and permissions

•The system shall support user

roles.

•The system shall support user

permissions.

•The system shall allow

Administrator users to modify

users’ permissions.

•The system shall ....

SILENCE

USER STORY 1

As an Administrator User, I

need to be able to manage

users and permissions, so that

unauthorized access to

restricted data is prevented.

CONFIRMATION:

- Test case 1...

Copyright Seilevel

Fanning the Flames

1Developer.*, 2005 2Agile Modeling, 2007

“In software development,

the design document is a

source code listing.”1

“The reality is that the

requirements document is

usually insufficient,

regardless of how much

effort goes into it…”2

Copyright Seilevel

Pendulum Effect

Too Much Documentation

.

.

.

???

.

.

.

Not Enough Information

Copyright Seilevel

The Search for Balance

Copyright Seilevel

Requirements Tips for Agile

Requirements in Agile Projects

How do you capture the right

requirements, the right way, at the

right time?

Copyright Seilevel

Out of Date Documentation

Write requirements as confirmation statements.

Do them just in time for development iterations.

Copyright Seilevel

Difficult to Remember Agreements

Sometimes, you really just have to write things down.

The human brain can’t track large numbers of tasks!

Copyright Seilevel

Difficult to Remember all Rules

Complex business processes may have hundreds or

thousands of rules. Frame the rules as tests that are

used at the end of the iteration.

Copyright Seilevel

Prototypes are Slower Than Paper

Writing down behavior is sometimes faster than

demonstrating it. Think about when it would make

sense to use paper mockups.

Copyright Seilevel

E

Hard to Find Missing Requirements

A

B C

F

IHG

D

A

B

C D

F

GH

I

Use visual models to find holes in information.Pictures are easy. Words are hard.

Copyright Seilevel

Regulatory and Compliance Requires Documentation

Sometimes you have a choice. Sometimes you don’t.

Copyright Seilevel

Large Functionality cannot be Subdivided

Break off story paths or steps. Use a backlog to track the

rest of what must be implemented.

Copyright Seilevel

Requests with Architectural Impact

Many nonfunctional requirements have architectural

implications, and these are hard to retrofit.

• Scalability

• Reliability

• Portability

• Availability

• Security

• Efficiency

• Localization

Copyright Seilevel

Long Range Budgeting & Planning

The State of Texas

budgets in two year

intervals. How would they

handle an Agile project?

You can control Time and Money, but not Scope.

Agile will focus on delivering the most important

features first.

Copyright Seilevel

Agile is a Great Alternative to Waterfall…

Agile development is just one of many tools in the

box, none of which is appropriate for every situation.

Copyright Seilevel

Joy Beatty

Seilevel

www.seilevel.com/blog

Joy.Beatty@seilevel.com