Upload
skills-matter
View
1.287
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Business Analysts sometimes wonder where they fit in a cross-functional agile team. How do you get from a vague and amorphous business problem to a collection of user stories that the team can incrementally implement? Chris and Antony show how Business Analysts can use their existing skill sets to find the questions for the "unknown unknowns", the answers for the "known unknowns" and how to spread the shared understanding of the "known knowns". They will demonstrate how examples can be exchanged to evolve the shared understanding of the domain, how modelling helps uncover gaps in that understanding and how to incrementally communicate this understanding to the people implementing the product.
Citation preview
Agile Business Analysis
Understanding Feature Injection
Antony Marcano & Chris Matts
@AntonyMarcanohttp://antonymarcano.com
@PapaChrisMattshttp://decision-coach.com
Agile Business Analysis
So, what is it?
What is Business Analysis
• Understanding the business value sought• Understanding the problem domain• Exploring the roles, incentives and required
product capabilities that solve the problems• Facilitating growth of that understanding
among others
What is Agile Business Analysis
• Accepting that we can’t have 20/20 foresight• Evolve everyone’s understanding of the value
& problem as the team evolves the solution• Working in small product increments• Remaining fully engaged on a project through
to delivery – why?
Feature Injection
• Feature Injection helps us incrementally and Iteratively:– Discover the real business value– Explore the problem domain– Explore the roles, incentives and required product
capabilities– Evolve’s everyone’s understanding of the problem
as the solution also evolves
Facilitate Growth in understanding
Understandthe value
Understand the problem
ExploreA
SolutionLearn
Example Driven Modelling
Example Driven Modelling
Business ValueBusiness Value
Feature
Business Value
FeatureFeatureFeature
The Problem(often communicated
as a solution)
A solution
Example Driven Modelling
Understand the Business Value
Understand the Problem(s)
Collaboration & Conversation
How?
Understand the value
Business ValueThe Problem
(often communicated as a solution)
Understand the Business Value
“Users ultimately dictate solutions to us, as a delta from the previous set of solutions we’ve delivered them. That’s just human psychology – writer’s block when looking at a blank page, as compared to the ease with which we provide ‘constructive criticism’ on somebody else’s work.” – Udi Dahan
Business Value
• IncreaseRevenue
ReduceCosts
ProtectRevenue?
A Useful Technique
5 WhysPopping the “why” stack
Understanding the problem
Example Driven
Modelling
Feature
Business Value
Feature
Example Driven
Modelling
KnownsKnow
ns
Unknow
ns
Unknowns
Unknown unknowns Unknown knowns
Known unknowns Known knowns
Modelling
The value is in the outputs
http://www.agilejournal.com/articles/columns/column-articles/1918-feature-injection-part-4
http://www.agilejournal.com/articles/columns/column-articles/1918-feature-injection-part-4
Aim to understand…
• That which helps achieve the business value:– Who will use the product? (roles)– What do we need them to do? (behaviours) – Why would they want to do it? (incentives)– How are user behaviours exhibited? (examples)
As these things solidify, we can pull “business value increments” (BVI) into a structure that makes it easy to incrementally deliver these in our product
What-ifExample
Reflect – in scope?
Elaborated Example
(Test)
EvolvingModel
Discussing the resulting evolution to the model may then inspire more examples
FeatureGroup of cohesive examples
Exploring the solutions
Business Value
FeatureFeature
We now have an understanding of…
• Value: What is our motivation?• Roles: Who will use our product?• Behaviour: What do we need them to do?• Incentives: Why would they want to do it?• Examples: How are user behaviours exhibited?
• <some business value sought>– <some solution increment>• <some role>• <some product capability>• <some benefit to the role>
– <some solution increment>• <some role>• <some product capability>• <some benefit to the role>
User Stories
• Grouping of cohesive examples• Explains the role, capability and incentive
As <some role>I want <some capability>So that <some benefit to the role>
XP Day 2001 session “Tuning XP” - Rachel Davies and Tim McKinnon
<Value sought>As <some role>I want <some capability>So that <some benefit to the role>
As <some role>I want <some capability>So that <some benefit to the role>
Should <achieve some outcome forsome stimulae>
Should <achieve some outcome forsome stimulae>
Should <achieve some outcome forsome stimulae>
Should <achieve some outcome forsome stimulae>
Exam
ples
Example
PrintCo – a Printer Manufacturer
We need mandatory
registration on our website
• Why? Because we need more e-mail addresses• Why? Because we want to e-mail more
customers• Why? Because 3% of them buy consumables
and this will increase our consumable sales figures
So ,we will increase revenue by increasing our mailing list
• Role: PrintCo Customers• Behaviour: Give us their e-mail addresses• Incentive: Get special deals on consumables
Printer Driver & Management Software
Update?Reminder e-mail page?
Increase PrintCo Consumable Sales
As PrintCo CustomerI want to be asked for my e-mail address via the websiteSo that I can get monthly e-mails with special deals on consumables
As a PrintCo CustomerI want to be e-mailed with deals specific to my printerSo that I don’t have to wade through irrelevant info
Should capture valid email address:name[+comment]@somwhere.com
Should reject black-hole addresses: *@example.com
Exam
ples
Should contain Single ownership consumable deals
Should contain multiple ownership consumable deals
Resources• http://www.agilejournal.com/articles/columns/column-articles
/1472-feature-injection/1684-feature-injection-part-2/1643-feature-injection-part-3/1918-feature-injection-part-4
• http://www.testingreflections.com/node/view/8556
Discussion