• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Feature Injection River Glide
 

Feature Injection River Glide

on

  • 1,783 views

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 ...

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.

Statistics

Views

Total Views
1,783
Views on SlideShare
1,514
Embed Views
269

Actions

Likes
1
Downloads
18
Comments
0

4 Embeds 269

http://skillsmatter.com 254
http://www.slideshare.net 7
http://smash 6
http://192.168.56.101 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Let’s get a discussion going here.
  • Traditionally…Expected to somehow see into the future… expectation of 20/20 foresightApplied to all/most/much of the problem before technical teams start implementationEmphasis on models & artifactsBA moved to a new project once implementation startsBalancing new project demands with old project queriesNot enough time to keep documentation up to date for the previous projectNo opportunity to learn while doing
  • Understanding the business value soughtUnderstanding the problem domainExploring the roles, incentives and required product capabilities that solve the problemsSharing that understanding with others
  • In non commercial settingsIncrease Reduce Protect
  • The 5th Why is the one that Increases Revenue, Protects Revenue or Reduces Cost.Perhaps better to think of it as ‘popping the “why” stack’ because it’s not always 5 whys.
  • Solutions are an example of something coming from the bottom right…Knowledge falls into one of these categories: Unknown unknowns - the things we don’t know that we don’t know Unknown Knowns – the things that is ‘common sense’ to one but not another Known unknowns – the things we know we don’t know Known Knowns – the things we’re confident in knowingThe knowledge the business analyst starts with is often to the left, some unknown unkowns and some known unknownsImagine a simple board game, where there are: An infinite number of pieces on the bottom left quadrant A finite and known number of pieces in the top leftAn infinite number pieces in the bottom right.The game has two types of move: Questions that identify the right questions to ask? Answers move pieces from uu -> ku Questions that identifywho to ask? Answers: Move pieces ku -> kk And pieces from uk->kkDuplicate pieces exist where there is an unknown-known with a matching pieces in other ‘unknown’ groupsPieces that move to the top right can be ‘played’ – i.e. used to drive a solutionSome pieces can only be played togetherOthers can only be played as a cluster
  • We naturally model things in our mind. It’s useful to have a way of sharing that with others so that they can challenge our understanding…We want to share that model in a way that makes it easy for anyone to change.
  • As these things solidify, we can pull “business value increments” or “minimal marketable features” or “customer-valued work-items” into a structure that makes it easy to incrementally deliver these in our product
  • As these things solidify, we can pull “business value increments” or “minimal marketable features” or “customer-valued work-items” into a structure that makes it easy to incrementally deliver these in our product
  • From the examples, we infer the rules.We arrive at a coherent set of examples for capturing e-mail… and realise that’s a story.We arrive at some more for sending the reminders
  • Chris, you want an e-mail address there?

Feature Injection River Glide Feature Injection River Glide Presentation Transcript

  • Agile Business Analysis
    Understanding Feature Injection
    Antony Marcano & Chris Matts
  • @AntonyMarcano
    http://antonymarcano.com
    @PapaChrisMatts
    http://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
    Understand
    the value
    Understand the problem
    Explore
    A
    Solution
    Learn
  • Collaboration & Conversation
    Business Value
    The Problem
    (often communicated as a solution)
    Business Value
    Business Value
    Understand the Business Value
    A solution
    Understand the Problem(s)
    Example Driven Modelling
    Example Driven Modelling
    Example Driven Modelling
    Feature
    Feature
    Feature
    Feature
  • How?
  • Understand the value
    Business Value
    The 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
    Increase
    Revenue
    Reduce
    Costs
    Protect
    Revenue
    ?
  • A Useful Technique
    5 Whys
    Popping the “why” stack
  • Understanding the problem
    Business Value
    Example Driven Modelling
    Example Driven Modelling
    Feature
    Feature
  • Knowns
    Known unknowns
    Known knowns
    Unknowns
    Knowns
    Unknown unknowns
    Unknown knowns
    Unknowns
  • 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-if
    Example
    Discussing the resulting evolution to the model may
    then inspire more examples
    Reflect – in scope?
    Evolving
    Model
    Elaborated Example
    (Test)
    Feature
    Group of cohesive examples
  • Exploring the solutions
    Business Value
    Feature
    Feature
  • 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 for
    some stimulae>
    Should <achieve some
    outcome for
    some stimulae>
    Should <achieve some
    outcome for
    some stimulae>
    Should <achieve some
    outcome for
    some stimulae>
    Examples
  • 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?
  • Discuss Examples
    antony+somecomment@riverglide.com
    andy@riverglide.com
    nobody@example.com
    some.body@to.
  • Increase PrintCo Consumable Sales
    As PrintCo Customer
    I want to be asked for my e-mail address via the website
    So that I can get monthly e-mails with special deals on consumables
    As a PrintCo Customer
    I want to be e-mailed with deals specific to my printer
    So 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
    Should contain
    Single ownership consumable deals
    Should contain multiple ownership consumable deals
    Examples
  • 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
  • Twitter:
    @AntonyMarcano @PapaChrisMatts
    @RiverGlide
    E-mail:
    talktous@riverglide.com
    antony@riverglide.com