The Art of Slicing Features into Playable Stories

Tarang Baxi
Tarang BaxiPrincipal Consultant at ThoughtWorks
The Art of Slicing Features
   into Playable Stories
    Agile India 2012, Bangalore
            Feb 17, 2012



           Tarang Baxi
Why bother?
                            Evolving,
                          incremental
                             value




                                                  Faster, more
     Minimized
                                                   meaningful
       waste
                                                    feedback


                             Stories
                          sliced right



            Support for
                                          Reduced
            continuous
                                         delivery risk
             delivery
Case Study 1 – Workflow
!   Client and Project: Native iPad app for a major international airline
!   Feature: Check-in for a flight
!   Context:
    ! iPad app intended to support users in 12 countries in Release 1
    !   APIs shared with website and other mobile apps manage most
        of the business logic

   Initiate                                                 Check-in
                       Provide         Choose seat /
  check-in /                                                 baggage
                    traveler info	        upgrade	
 choose flight	                                            (free/paid)	




                      Pay for
  Choose paid                           Get boarding
                     upgrades /
    extras	                                 pass	
                       extras
Mobile check-in - feature outline
!   Initiate check-in via
    !   Click-through on check-in notification
    !   Search by PNR + Last Name
    !   Login to account + view trip dashboard (both already built)
!   Input traveler info including:
    !   Govt. mandated security info for travel from, to or over the US
    !   Passport details for international travel
    !   Special display & input variations for travel from or into Germany,
         Japan and Brazil (and maybe a few more countries)
!   Choose/change seat, incl. class upgrade, if available
!   Check-in baggage – paid if count exceeds free allowance for sector
!   Choose paid services for flight, including priority boarding, insurance,
    meals, wifi, etc. – availability, price vary by sector & traveler loyalty status
!   Pay for upgrades, bags, extras using a credit or debit card
!   Get mobile boarding passes on device or send to an email address
Suggested story breakdown (partial)
                                        Check-in for flight after
                                          searching for trip                Check-in for flight from
                                     (logged-in user, single passenger,
                                                                             check-in notification
                                       default choices, boarding pass     (logged-in user, default choices)
                                                 via email)


                                          Check-in multiple               Check-in for flight and get a
                                         passengers for flight              mobile boarding pass
                                     (logged-in user, default choices,
 Check-in for a US domestic                                               (logged-in user, default choices)
                                        boarding passes via email)
    flight, from My Trips
(logged-in user, single passenger,
  default choices, boarding pass
            via email)
                                     Pay for bags during check-in         Purchase a paid extra while
                                          (pay using stored card)                checking-in




                                     Select seat during check-in
                                                                                         …
                                     (single passenger, no upgrades)
Case Study 2 – Data Analytics
!   Client and Project: Government contracting data analytics web app
    for an Indian NGO
!   Feature: An Excel ‘pivot-table’ like feature to allow users to create
    custom tabular views of contracts data
!   Context:
    !   Data covers all contracts issued by the Indian central
        government and its ministries and departments in the last 5
        years
    !   5 million transaction records currently expected to grow by
        15-20% every year
    !   Current DB & architecture not expected to support this feature
    !   Result table load times is a big concern for the customer
‘Pivot’ table – feature mockup
‘Pivot’ table – feature mockup
Case Study 3 – Data Visualization
!   Client and Project: Interactive visualization web app for public data
    for a Data Services Provider
!   Feature: An interactive tool to visually compare Indian States and
    Union Territories
!   Context:
    !   State data compiled from 3 different data feeds –
        Demographic, Economic and Industrial
    !   Graphing framework “Fly Charts” already in place – team
        expected to use this for generating visuals
        •  Already in use, elsewhere on the site for simple pie-charts
    !   Big emphasis on look and feel of the visuals
‘State comparison’ – feature mockup
Revisiting - Why bother?
                             Evolving,
                           incremental
                              value




                                                   Faster, more
      Minimized
                                                    meaningful
        waste
                                                     feedback


                              Stories
                           sliced right



             Support for
                                           Reduced
             continuous
                                          delivery risk
              delivery
Story slicing tips
DOs
!   Strip away options & alternate paths from the feature until you get
    to the simplest possible usage scenario - that’s your first story
!   Now layer in variables / alternate paths based on:
    !   End-user or business value
    !   Technical risk involved
!   Check whether each story allows demonstration of real user flows

DON’Ts
!   Don’t slice by pages, screens or other UI elements
!   Don’t slice by architectural layers
!   Don’t create stories that can’t truly be tested without additional
    stories being played
QUESTIONS? COMMENTS?




                 tarang@thoughtworks.com
                         twitter: @gnarat
1 of 13

More Related Content

Similar to The Art of Slicing Features into Playable Stories(15)

The Art of Slicing Features into Playable Stories

  • 1. The Art of Slicing Features into Playable Stories Agile India 2012, Bangalore Feb 17, 2012 Tarang Baxi
  • 2. Why bother? Evolving, incremental value Faster, more Minimized meaningful waste feedback Stories sliced right Support for Reduced continuous delivery risk delivery
  • 3. Case Study 1 – Workflow !   Client and Project: Native iPad app for a major international airline !   Feature: Check-in for a flight !   Context: ! iPad app intended to support users in 12 countries in Release 1 !   APIs shared with website and other mobile apps manage most of the business logic Initiate Check-in Provide Choose seat / check-in / baggage traveler info upgrade choose flight (free/paid) Pay for Choose paid Get boarding upgrades / extras pass extras
  • 4. Mobile check-in - feature outline !   Initiate check-in via !   Click-through on check-in notification !   Search by PNR + Last Name !   Login to account + view trip dashboard (both already built) !   Input traveler info including: !   Govt. mandated security info for travel from, to or over the US !   Passport details for international travel !   Special display & input variations for travel from or into Germany, Japan and Brazil (and maybe a few more countries) !   Choose/change seat, incl. class upgrade, if available !   Check-in baggage – paid if count exceeds free allowance for sector !   Choose paid services for flight, including priority boarding, insurance, meals, wifi, etc. – availability, price vary by sector & traveler loyalty status !   Pay for upgrades, bags, extras using a credit or debit card !   Get mobile boarding passes on device or send to an email address
  • 5. Suggested story breakdown (partial) Check-in for flight after searching for trip Check-in for flight from (logged-in user, single passenger, check-in notification default choices, boarding pass (logged-in user, default choices) via email) Check-in multiple Check-in for flight and get a passengers for flight mobile boarding pass (logged-in user, default choices, Check-in for a US domestic (logged-in user, default choices) boarding passes via email) flight, from My Trips (logged-in user, single passenger, default choices, boarding pass via email) Pay for bags during check-in Purchase a paid extra while (pay using stored card) checking-in Select seat during check-in … (single passenger, no upgrades)
  • 6. Case Study 2 – Data Analytics !   Client and Project: Government contracting data analytics web app for an Indian NGO !   Feature: An Excel ‘pivot-table’ like feature to allow users to create custom tabular views of contracts data !   Context: !   Data covers all contracts issued by the Indian central government and its ministries and departments in the last 5 years !   5 million transaction records currently expected to grow by 15-20% every year !   Current DB & architecture not expected to support this feature !   Result table load times is a big concern for the customer
  • 7. ‘Pivot’ table – feature mockup
  • 8. ‘Pivot’ table – feature mockup
  • 9. Case Study 3 – Data Visualization !   Client and Project: Interactive visualization web app for public data for a Data Services Provider !   Feature: An interactive tool to visually compare Indian States and Union Territories !   Context: !   State data compiled from 3 different data feeds – Demographic, Economic and Industrial !   Graphing framework “Fly Charts” already in place – team expected to use this for generating visuals •  Already in use, elsewhere on the site for simple pie-charts !   Big emphasis on look and feel of the visuals
  • 10. ‘State comparison’ – feature mockup
  • 11. Revisiting - Why bother? Evolving, incremental value Faster, more Minimized meaningful waste feedback Stories sliced right Support for Reduced continuous delivery risk delivery
  • 12. Story slicing tips DOs !   Strip away options & alternate paths from the feature until you get to the simplest possible usage scenario - that’s your first story !   Now layer in variables / alternate paths based on: !   End-user or business value !   Technical risk involved !   Check whether each story allows demonstration of real user flows DON’Ts !   Don’t slice by pages, screens or other UI elements !   Don’t slice by architectural layers !   Don’t create stories that can’t truly be tested without additional stories being played
  • 13. QUESTIONS? COMMENTS? tarang@thoughtworks.com twitter: @gnarat