More Related Content Similar to Managing Requirements in Agile Development - Best Practices for Tool-Based Requirements Management Using Jama (20) Managing Requirements in Agile Development - Best Practices for Tool-Based Requirements Management Using Jama1. Managing Requirements in Agile
Development
Best Practices for Tool-Based Requirements Management
Using Jama
Handout Version
Dr. Andreas Birk und Gerald Heller, Software.Process.Management
July 18, 2014, Webinar of QA Systems Akademie
Includes additional notes &
comments
2. Agenda
What is agile development? – What is agile requirements management (RM)?
Agile requirements practices
User stories & more
Requirements collaboration & reviews
From user stories to agile development cycles
Agile requirements in product development & for hardware/software systems
Transition to agile RM
Summary
2July 18, 2014 © 2014, Software.Process.Management
3. What Is Agile Development?
3July 18, 2014 © 2014, Software.Process.Management
4. Agile Methods
Lean
Scrum
FDD
DAD
XP
ASD
Crystal
Kanban
4July 18, 2014 © 2014, Software.Process.Management
Agile development can be
characterized by referring to the use
of agile methods.
Scrum, XP, Lean, and Kanban might
be the most well-known. Scrum might
be by far the one applied most often.
Many organizations use a blend of
agile methods.
5. 5July 18, 2014 © 2014, Software.Process.Management
The Agile Manifesto summarizes the
widely agreed-upon common values
of agile development.
6. Scrum Overview (By The Book)
Sprint
Planning
Increment
Sprint
1-4 Weeks
Agile Iteration
Cycle (Sprint)
Sprint Review &
Retrospective
Daily Scrum
Sprint
Backlog
Product
Backlog
Source:J.Sutherland,K.Schwaber:TheScrumGuide:TheDefinitiveGuidetoScrum:TheRulesof
theGame.Srum.org,July2013.
6July 18, 2014 © 2014, Software.Process.Management
Scrum illustrates important
characteristics of agile development.Backlogs and backlog items define
the work to be done
Iterative development cycles (Sprints)
structure the development work
Increments make the work focus on
relevant results and help critiquing
and improving the work done so far
But where are the requirements?! …
8. 8July 18, 2014 © 2014, Software.Process.Management
There is no such thing like “Agile RM”
… at least, there is no agreed-upon, comprehensive definition of
“Agile Requirements Management”
9. Agile RM Is …
Agile RM is an evolving collection of practices
Every project or organization should adopt its own suitable approach to agile RM
However, there are blueprints of recommended agile RM practices
Frameworks are available that help setting agile RM practices into context
9July 18, 2014 © 2014, Software.Process.Management
Most agile methods have emerged
with a focus on implementation.
Although agile has made many
important contributions to RM, a
mature and comprehensive agile RM
approach is still lacking.
10. Agile Requirements Frameworks
Scaled Agile Framework SAFe (Leffingwell)
Scaling Lean & Agile Development LeSS (Larman, Vodde)
Disciplined Agile Delivery DAD (Ambler)
Discover to Deliver (Gottesdiener)
Specification by Example SBE (Adzic, Fowler, and others)
Acceptance Test Driven Development ATDD (Gärtner, Koskela, and others)
User Stories Applied (Cohn)
Use Case 2.0 (Jacobson)
Agile Product Canvas (Pichler)
Agile Modeling & Agile Documentation (Ambler, Rüping and others)
Further information: http://makingofsoftware.com/2014/agile-requirements-frameworks
10July 18, 2014 © 2014, Software.Process.Management
Agile requirements frameworks guide
the design of your specific agile RM
approach. However, they nearly
always must be tailored to the
situation at hand.
SAFe is perhaps the most
comprehensive and useful agile RM
framework available today
You find a brief presentation of the
Agile Product Canvas later in this
presentation
11. Map of Selected Agile RM Practices
User Story
Epic
Feature
Task
Work Item ArtifactsGoal & Coordination Artifacts
Vision
Investment Theme
Sprint Goal
Story Map
Supporting Practices
Acceptance Test
3 C‘s
Role – Feature – Reason
Given – When – Then
Definition of Ready
INVEST
Persona
11July 18, 2014 © 2014, Software.Process.Management
Agile RM practices can guide and
support requirements activities on an
individual activities level
User stories are the most important
fundamental concept of agile RM
12. Challenges & Gaps of Agile RM
Elicit & collect backlog items
Organize backlog for multiple teams & on one product
Achieve overall product view
Organize HW/SW system development
Support reuse of products & requirements
12July 18, 2014 © 2014, Software.Process.Management
Most available agile RM approaches
leave several challenges and gaps
when it comes to more complex
development tasks or contexts.
Be prepared to design and evolve
your RM practices in order to deal
with such challenges.
Below, you find suggestions and
recommendations for how you design
your agile RM approach in order to
master these challenges.
14. User Story
A User Story is a software system requirement formulated as
one or two sentences in the everyday or business language of
the user
A User Story must be small enough to be completed in one cycle
A User Story is an informal statement of the requirement as long as the
correspondence of acceptance testing procedures is lacking
14
Wikipedia July, 2009
cancel reservation
As a traveler
I want to cancel my
reservation
cancel reservation (back)
□ a premium member can cancel the
same day without a fee
□ a non-premium member is charged
10% for a cancellation
□ an email confirmation is sent out
□ the hotel is notified of any
cancellation
July 18, 2014 © 2014, Software.Process.Management
15. Agile RM - User Story
15July 18, 2014 © 2014, Software.Process.Management
This screen shot shows how you can
design and structure your user story
items in Jama.
16. Extended Agile RM Framework
16
Agile Development Cycles
(e.g., according to Scrum or SAFe)
Define Project
Elicit
Requirements
Goals
Scope
Stake-
holders
Requirements Artifacts & Knowledge Representation
Initial
Backlog
Address requirements
activities & information
that precede and
accompany agile
development cycles
July 18, 2014 © 2014, Software.Process.Management
Many agile methods leave it open
how you can gain the initial backlog.
We recommend you start using
established RM practices.
Consider to maintain a continuous
requirements base while performing
the agile development workflow.
17. Support a Product View Perspective:
The Product Canvas Structure
17
Source:RomanPichler,PichlerConsulting,http://www.romanpichler.com/
July 18, 2014 © 2014, Software.Process.Management
The Agile Product Canvas provides a
structure of early high-level product
planning and requirements definition.
18. Structure Agile Projects
18July 18, 2014 © 2014, Software.Process.Management
Within an RM tool like Jama,
represent each aspect of the Agile
Product Canvas by a separate
requirements set.
You might also define specific item
types for individual kinds of
requirement, e.g., for personas.
19. Configure Relationships of Requirements
19July 18, 2014 © 2014, Software.Process.Management
From Jama version 2014.1 on, you
can explicitly define the relationships
between requirements item types.
This helps maintaining large
requirements structures and provides
guidance to requirements managers.
21. Communicate about Requirements
21July 18, 2014 © 2014, Software.Process.Management
Jama offers many collaboration
features that facilitate and foster agile
communication on requirements.
22. Review Requirements
22July 18, 2014 © 2014, Software.Process.Management
Jama’s review functionality is another
useful support to agile collaboration
within the team and for customer
interaction
23. From User Stories to
Agile Development Cycles
23July 18, 2014 © 2014, Software.Process.Management
24. Connect Features and User Stories
24July 18, 2014 © 2014, Software.Process.Management
In medium to large size agile
development, user stories must be
assigned to features or epics.
Use Jama’s relationships to link
these item types with each other.
Trace relationships can be visualized
in the explorer window, helping to
maintain good requirements structure
and supporting easy navigation.
25. Cascades of Agile Requirements Backlogs
25
Sprint
Backlog
(User
Stories)
Portfolio
Backlog
Release
Backlog
Product
Backlog
Sprint
Backlog
(Tasks)
Let‘s illustrate this in Jama ...
July 18, 2014 © 2014, Software.Process.Management
Agile development usually requires a
cascade of related requirements and
tasks backlogs.
26. Agile RM - Sprints
26July 18, 2014 © 2014, Software.Process.Management
In Jama, you can organize different
kinds of backlogs as separate
requirements sets.
27. Agile RM – Release Backlog
27July 18, 2014 © 2014, Software.Process.Management
The release can conveniently be
defined using Jama’s release concept.
28. Transfer User Stories to Agile Workflow Tool
28
transfer & synchronize user stories
Jama offers integrations with specialized agile tools like JIRA Agile
Consider to use such integrations in order to blend strong RM support with agile workflow support
July 18, 2014 © 2014, Software.Process.Management
Often, it can be required to link a
requirements tool with a specialized
agile workflow tool like JIRA Agile.
Jama offers plug-ins for transferring
and synchronizing requirements to
those other tools.
29. Use Specialized Agile Workflow Support in
Conjunction with RM Tool like Jama
29
Image Source: https://www.atlassian.com/software/jira/agile
While managing requirements and
early phases of the agile workflow in
Jama, tools like JIRA Agile provide
specific agile development support,
e.g., task boards & burndown charts
July 18, 2014 © 2014, Software.Process.Management
30. Product Development &
Hardware/Software Systems
30July 18, 2014 © 2014, Software.Process.Management
In continuous product development
or for integrated hardware/software
systems, you often need to manage
requirements collections for agile as
well as for non-agile development.
31. Manage Overall Requirements Collection
for Agile & Non-Agile Development
31
Overall system requirements
and subsystem-requirements …
Hardware requirements: Non-agile workflow
Software requirements: Agile workflow
Manage all requirements centrally
Serve different workflows per subsystem
July 18, 2014 © 2014, Software.Process.Management
This example shows hot you can
structure requirements to serve agile
as well as non-agile development.
32. Transition to Agile RM
32July 18, 2014 © 2014, Software.Process.Management
How can you transition to agile RM?
What principles can guide this
transition?
33. Build Your Own Agile RM Practices
Start with a basic & simple approach
Eliminate impediments while moving forward
Use available agile improvement approaches:
Daily Scrum, Scrum master, retrospectives etc.
33
Photo:Byedgarator,CreativeCommonsby-na,http://www.flickr.com/photos/edgarator/5848267059/
July 18, 2014 © 2014, Software.Process.Management
When moving to agile RM, start
simple and gradually evolve your
practices.
34. Summary
Integrate agile methods with established RM
practices
Establish strong tool support: RM with/plus Agile
Develop your own customized agile RM solution
34July 18, 2014 © 2014, Software.Process.Management
36. Further Information
Survey of agile requirements management frameworks
http://makingofsoftware.com/2014/agile-requirements-frameworks
Training der QA-Systems Akademie
Requirements-Management in der agilen Software-Entwicklung
6. November 2014, Ludwigsburg bei Stuttgart
http://www.qa-systems.de/akademie/einzelansicht.html?tuid=36
36July 18, 2014 © 2014, Software.Process.Management
37. Agile RM
D. Leffingwell, Agile software requirements: Lean requirements
practices for teams, programs, and the enterprise. Boston, MA: Addison
Wesley, 2010.
Scaled Agile Framework (SAFe™) website:
http://scaledagileframework.com/
M. Cohn, User stories applied: For agile software development.
Amsterdam: Addison-Wesley Longman, 2004.
July 18, 2014 © 2014, Software.Process.Management 37
38. Agile RM
R. Pichler, Agile product management with scrum: Creating products
that customers love, 1st Ed. Amsterdam: Addison-Wesley Longman,
2010.
July 18, 2014 © 2014, Software.Process.Management 38
J. Bergsmann, Requirements Engineering für die agile
Softwareentwicklung: Methoden, Techniken und Strategien. Heidelberg:
dpunkt.verlag, 2014.
39. Agile Improvement
E. Derby and D. Larsen, Agile retrospectives: Making good teams great.
The Pragmatic Programmers, 2006.
N. L. Kerth, Project retrospectives: A handbook for team reviews.
Sunnyvale, CA: Computer Bookshops, 2001.
July 18, 2014 © 2014, Software.Process.Management 39
40. Agile Improvement
L. Rising and M. L. Manns, Fearless change: Patterns for introducing
new ideas. Amsterdam: Addison-Wesley Longman, 2004.
July 18, 2014 © 2014, Software.Process.Management 40