Requirements at the Speed of Light: Tips for Capturing Requirements on Agile Projects
1. Requirements at
the Speed of
Light
Requirements on Agile
Projects
Copyright Seilevel
2. 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
3. What are Requirements?
Requirements are any
description of what
the users want or
need.
Copyright Seilevel
4. The Villain
Requirements Design Coding Verification Maintenance
Copyright Seilevel
5. Building Walls
Artificial Barriers between Users and Developers.
The line in the sand that starts fights.
Copyright Seilevel
6. Why Do Projects Fail?
•Lack of user input •Changing requirements
•Incomplete requirements •Unclear objectives
Copyright Seilevel Standish Group – CHAOS Report, 2004
7. A Better Way?
What if we got everyone together and just focused on
building the right software?
Copyright Seilevel
8. What is Agile?
Individuals & Interactions Processes & Tools
Working Software Comprehensive Documentation
Customer Collaboration Contract Negotiation
Responding to Change Following a Plan
“That is, while there is value in the items
on the right, we value the items on the left
more.”
Copyright Seilevel 1Manifesto for Agile Software Development - http://agilemanifesto.org/
9. Many Flavors of Agile
• Scrum • Quick Iterations
• Extreme Programming • Just in Time
• Short Cycle Time • Test-Driven Development
• Spiral • and more...
Copyright Seilevel
10. What you might see
REQUESTS BACKLOG REQUESTS
1 – REQUEST
2 – REQUEST
…
SPRINT
•The system shall
USER STORY 1 support user
As an
roles. Administrator User, I
Manage users and permissions
•The system shall support user
need to be able to manage
users and permissions, so that
permissions.SILENCE
•The system shall allow
unauthorized access to
restricted data is prevented.
Administrator users to modify
users’ permissions.
CONFIRMATION:
•The system shall ....
- Test case 1...
Copyright Seilevel
11. Fanning the Flames
“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 1Developer.*, 2005 2Agile Modeling, 2007
12. Pendulum Effect
Too Much Documentation
.
.
.
???
.
.
.
Not Enough Information
Copyright Seilevel
14. Requirements Tips for Agile
Requirements in Agile Projects
How do you capture the right
requirements, the right way, at the
right time?
Copyright Seilevel
15. Out of Date Documentation
Write requirements as confirmation statements.
Do them just in time for development iterations.
Copyright Seilevel
16. 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
17. 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
18. 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
19. Hard to Find Missing Requirements
A B C
C D A
D E F
F
H
G
I
B G H I
Use visual models to find holes in information.
Pictures are easy. Words are hard.
Copyright Seilevel
20. Regulatory and Compliance
Requires Documentation
Sometimes you have a choice. Sometimes you don’t.
Copyright Seilevel
21. 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
22. Requests with Architectural Impact
• Scalability
• Reliability
• Portability
• Availability
• Security
• Efficiency
• Localization
Many nonfunctional requirements have architectural
implications, and these are hard to retrofit.
Copyright Seilevel
23. 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
24. 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
25. Joy Beatty
Seilevel
www.seilevel.com/blog
Joy.Beatty@seilevel.com
Copyright Seilevel