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