agile business analysis - softed spec’d courtesy philippe ... purchased full fare ticket? ... 2...
TRANSCRIPT
22/11/2011
(c) Software Education, 2010 1
Agile Business Analysis
The Key to Effective Requirements
on Agile Projects Shane Hastie MIM, CSM
Debunking the Myths
In Agile projects we don‟t just sit
down and write code like free-
form poetry!
– James King
22/11/2011
(c) Software Education, 2010 2
Directions
• Why Agile?
• Agile Needs Analysis
• Agile Changes Analysis
• The Agile Analyst
• Different Engagement Types
• Agile Analysis Tools
• What Next?
• Q & A
64% 20% 16%
22/11/2011
(c) Software Education, 2010 3
Manifesto for Agile Software Development
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more.
Manifesto para Desenvolvimento Ágil de Software
Estamos descobrindo maneiras melhores de desenvolver
software, fazendo-o nós mesmos e ajudando outros a
fazerem o mesmo. Através deste trabalho, passamos a valorizar:
Indivíduos e interações mais que processos e ferramentas
Software em funcionamento mais que documentação abrangente
Colaboração com o cliente mais que negociação de contratos
Responder a mudanças mais que seguir um plano
Ou seja, mesmo havendo valor nos itens à direita,
valorizamos mais os itens à esquerda.
22/11/2011
(c) Software Education, 2010 4
The Agile Lifecycle
Envision 5%
Speculate 10% Explore 80%
Close 5%
Uncertainty in the Project Goal
Initial State Actual Path and precision of artifacts
Uncertainty in Stakeholder Satisfaction Space
What our SRS spec’d
Courtesy Philippe Kruchten
Source: W. Royce, IBM
The Right Solution
22/11/2011
(c) Software Education, 2010 5
As a xxx I want yyy so that zzz
Story 1
Story 2
Story 3
Story 4
Story 5
Story 6
Story 7
Story 8
Story 9
Epic 1
Epic 2
Epic 3
Backlog
Task 1
Task 2
Task 3
Task 4
Task 5
Task 6
Task 7
Task 8
Task 9
Task 10
Iteration Tasks
Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8 Day 9 Day 10
Iteration
Planning
Task
Work
Task
Work
Task
Work
Task
Work
Task
Work
Task
Work
Task
Work
Task
Work
Wrapup
Daily
Standup
Daily
Standup
Daily
Standup
Daily
Standup
Daily
Standup
Daily
Standup
Daily
Standup
Daily
Standup
Daily
Standup
Task
Work
Task
Work
Task
Work
Task
Work
Task
Work
Task
Work
Task
Work
Task
Work
Present/
Retrospect
Uncompleted Story 3
Inside an Iteration
Story 3
Iteration
Planning
Story 1
Story 2
Iteration Backlog
Agile Needs Analysis
The hardest part
of building any
software system
is determining
precisely what to
build Frederick Brooks
22/11/2011
(c) Software Education, 2010 6
But the
Perception
Worse
I want a range of color
options including green, blue , and
purple
It shall be green.
I like purple.
It should be red or green.
22/11/2011
(c) Software Education, 2010 7
Agile Changes Analysis
Business Analysis Planning and Monitoring
Elicitation Requirements
Analysis
Solution
Assessment &
Validation
Enterprise
Analysis
Requirements Management and Communication
Current release: V2.0 (© 2009)
The Shocking
Truth About
Requirements
22/11/2011
(c) Software Education, 2010 9
Reducing Waste
Leave things until the last RESPONSIBLE moment
Photo by Nick Wheeler
Progressive Elaboration
Vision
Personas & Goals
Epics
Stories
Acceptance Criteria
22/11/2011
(c) Software Education, 2010 12
Epics
• Elementary Business Process
• One person, one place, one time
• Could come from a process
map
• Someone doing something
• Enough to prioritise
• Fulfil to the Vision & Goals
22/11/2011
(c) Software Education, 2010 13
User Stories
• User Stories
• Guidelines for success
• Just-in-time
• Three C‟s
– Card
– Conversation
– Confirmation
Common format:
“As a <role> I want <thing to be delivered> so that <reason for the need>”
From Epic to Stories
• Identify the key process
elements
• Each piece of CRUD
• Consider the UI components
• “Happy days” steps
• “When things go wrong” –
preventing bad things from
happening
22/11/2011
(c) Software Education, 2010 14
How Do Your Stories Smell?
• The Value of Quality
• Performance
• Efficiency
• Reliability
• Functionality
• Useability
• Maintainability
22/11/2011
(c) Software Education, 2010 15
Acceptance Criteria • 3rd C – Confirmation of the story
• Just-in-time
• Progressively evolve during backlog
grooming and development
• Add details as needed
• Process flows
• Data structures
• UI mockups
• Technical notes
• Examples
• Whatever is needed . . .
• BDD Format
• <given> <when> <then>
• Test design criteria
Behaviour Driven Development
• Express needs as behaviour using scenarios • Scenario: Upgrade with sufficient air miles available
Given a traveller has a valid reservation in economy class
and he has sufficient air miles available
and there is a seat available in business class
when he requests an upgrade
then the upgrade should be provided
and his air miles balance reduced
and the economy seat released
and the business class seat reserved
22/11/2011
(c) Software Education, 2010 17
The Agile Analyst
Scrum Roles
Product Owner
Scrum Master
The Delivery Team
22/11/2011
(c) Software Education, 2010 18
Product Owner
• Greater project engagement and leadership
• Understands the business & project vision
• Empowered decision maker
• Daily involvement
• Review the plan every iteration
• How competent and committed?
Where is the BA?
Product Owner? Scrum Master? A Team Member?
22/11/2011
(c) Software Education, 2010 19
Changing the Rules
Break down the walls
Need to be a facilitator
Open the communication channels
Keeper of the value context
Different Engagement Types
1. Traditional Requirements Gatherer
2. Surrogate Product Owner
3. Second in command (2IC)
4. Business Coach
5. Co-ordinator
6. Facilitator
7. Not required / Unemployed?
22/11/2011
(c) Software Education, 2010 20
Agile Analysis Guidelines
• See The Whole
• Think as a Customer
• Analyse to Determine What is Valuable
• Get Real Using Examples
• Understand What is Doable
• Stimulate Collaboration & Continuous
Improvement
• Avoid Waste
22/11/2011
(c) Software Education, 2010 21
UML Model courtesy of Dean Leffingwell
Rea
lise
d b
y
Op
tio
na
lly
Ela
bo
rate
d b
y
Co
nstr
ain
ed
by
Backlog Item
Epic Story
Use Case
Model
Quality
Requirement
(NFR)
Class
Diagram
State
Diagram
Other Types .
. .
Architecture
Requirement
Process Model – Who? What? When?
44
22/11/2011
(c) Software Education, 2010 22
Entity Relationship Diagram – With What?
Decision Table – What? How?
Condition Statements Rules
Purchased Full Fare Ticket? Y Y Y Y N N N N
Received Upgrade in Last 6 Months? Y Y N N Y Y N N
Gold Status? Y N Y N Y N Y N
Action Options Action Entries
Free Upgrade X X X
Discounted Upgrade Offer X X
No Upgrade X X X
22/11/2011
(c) Software Education, 2010 23
Offer Upgrade?
Ticket Type?
Full Fare
Discounted
Last Upgrade?
<= 6 Months
> 6 Months
<= 6 Months
> 6 Months
ACTIONS
No Upgrade
Free Upgrade
Offer Discounted Upgrade
Offer Discounted Upgrade
Free Upgrade
No Upgrade
Not Gold
Gold
Gold
Not Gold
Freq Flyer Level?
Decision Tree – What? How?
State Transition Diagram –
What? How?
22/11/2011
(c) Software Education, 2010 24
Use Cases – What? How?
USE CASE #
002 Amend Reservation
Goal in Context This use case allows a reservations operator to amend or cancel a
reservation in response to a caller request
Scope and Level Flight Reservations System
Primary Task
Preconditions The reservations system will be up and running, the Reservations Operator will have
logged into the system
Success End
Condition
Reservation details amended or removed
Failed End
Condition
No change to reservation details
Primary,
Secondary Actors
Reservations Officer (RO)
Caller
Trigger This use case begins when the RO receives a request to change an existing reservation
DESCRIPTION
Step Action
1 The RO selects the reservation to amend
(search criteria/mechanism TBD, possibly by reservation number, caller name, passenger
name, journey details . . .)
2 The system displays the reservation and journey details for all journeys not yet started
3 …
Upgrade
Seat
Are User Stories Simply
Degenerate Use Cases?
22/11/2011
(c) Software Education, 2010 25
Use Cases Versus User Stories
Use Case User Story
Transactional Statement of Value
Scope is “user valued transaction”
Scope is determined by what can be implemented in one iteration
Conceptual (Model) Descriptive
Requirement Requirements place holder
Know Your Context
Source: Philippe Kruchten
Octopus Model
22/11/2011
(c) Software Education, 2010 26
Agile Extension to the BABOK™
• Available for Download
• We NEED Your Feedback • http://www.iiba.org/imis15/IIBA_Website/Professional
_Development/Agile_Extension.aspx
BABOK™ V3.0
• Change Framework
• Multiple Perspectives
– „Motivation‟
– Portfolio
– Program/Project
– Specialisations
22/11/2011
(c) Software Education, 2010 27
Any questions?
Contact me:
• Email [email protected]
• Web www.softed.com
• Blog http://blog.softed.com
• InfoQ articles http://www.infoq.com/author/Shane-Hastie
• Twitter @shanehastie
• Slides available from www.softed.com/resources
Options for Open Space
• Enterprise Analysis
• BABOK 3.0 Change
Framework
• Writing Good User
Stories