SlideShare a Scribd company logo
1 of 33
From Usability
Studies to Stories




Dan Rawsthorne, PhD, CST, PMP
Senior Trainer at 3Back
                                3BACK.COM
dan.rawsthorne@3Back.com
425-269-8628


Agile Days (Moscow)
24 March, 11:00-12:00
About Me
                             Available at Amazon…




              “Dan and Doug can help you be greater” – Jeff Sutherland

              “the best Scrum book I have seen” – Ron Jeffries

              “crystal clarity” – Jeff McKenna

              “Dan and Doug have given you a gift”– Johanna Rothman



V2.7      2                                           ©   2012
My Analysis Mix

   What I'm going to show you is
  combination of two things:
       Story Mapping from Jeff Patton, an agile-
       UX expert
       StoryoTyping from Gerard Meszaros
       I have modified and combined them into a
       unified top-to-bottom agile analysis
       process

V2.7                    3                ©   2012
Product   Capability   Story


       Product



                 Capability



                              Story


V2.7                  4          ©   2012
Story Mapping and StoryoTyping

                                          User
                                         Games
            Silly Saga   Product Box



                                       User Tasks

                                       Atomic Use Cases

                                       Backlog Items
                                       (Epics & Stories)




V2.7                       5              ©   2012
Metaphor
  Usage Analysis – painting the picture of the Apple Tree
  in its Environment
  Atomic Use Cases – the twigs with apples and leaves
  System Analysis – determining the apples/leaves




V2.7                        6                  ©   2012
Royal Catalina Airlines (RCA)




                 Las Vegas




V2.7                         7    ©   2012
SirJeff's Vision


   Business Vision: I, SirJeff, want to get lots of new
   customers for my new airline, Royal Catalina Air (so
   that I can make a lot of money…)

   Product Vision: In order to get lots of new
   customers for my airline, I want a website,
   RoyalCatalinaAir.com, that will be as good as that of
   “real” airlines


V2.7                         8                  ©   2012
Usage Analysis


       What do Stakeholders want it to do?




V2.7                    9                    ©   2012
Steps to Follow (Silly Saga)
1. Tell Stories about how people or
   Personas use the system
2. Extract User Tasks
3. Organize the User Tasks
       Add organizational Themes
       Combine and simplify

                                      Themes

                                      User Tasks


V2.7                       10         ©   2012
Silly Saga Example
System: Catalina Air Website
Saga: Trip to Las Vegas
Persona:Vacationer
I wanted to take my family to Las Vegas, so I went to the RCA site
and arranged some tickets for me, my wife, and my kids. These
tickets included seats and meals. I also got a hotel near the Strip (the
Grand), and reserved a Car. A week later my son told me he
wanted to take his girlfriend, so I used bonus miles to make a
reservation for her and modified the seat selections online so that
she and my son sat together on the flights. Later she realized that I
had reserved the chicken meal for her so she changed it to the
vegetarian option online. I also got her a room at the same hotel,
and had to upsize the car because she has a lot of luggage.
V2.7                               11                      ©   2012
Example
I wanted to take my family to Las Vegas, so I went to         Airline Tickets
the site and arranged some tickets for me, my wife,             •   Group
and my kids. These tickets included seats and meals.            •   Seats
                                                                •   Meals
I also got a hotel near the Strip (the Grand), and              •   Hotel
reserved a Car. A week later my son told me he                  •   Reserve Car

wanted to take his girlfriend, so I so I used bonus        Get Ticket with Miles
miles to make a reservation for her and modified
                                                         Add person to Reservation
the seat selections online so that she and my son
sat together on the flights. Later she realized that I     Change Seats Online
had arranged the chicken pasta meal for her so she         Modify Meal Choices
changed it to the vegetarian option online. I also got
                                                               Add a Room
her a room at the same hotel, and had to upsize the
car because she has a lot of luggage.                       Modify Car Choice



V2.7                                  12                            ©   2012
User Tasks

         Flights                                            Hotels              Cars

   Reserve            Modify          Status

                     Add Flyer to
       Get Airline                   Check Status        Make Hotel          Make Car
                       existing
        Tickets                        of Flight         Reservations       Reservations
                     Reservation


   Add Hotel                         Check Status
                     Change Seats                                           Modify Car
    Rooms to                         of Reserved
                       Online                                               Reservation
   Reservation                         Itinerary


                     Modify Meal
   Pay for Ticket     Choices
    with Miles         Online




V2.7                                                13                  ©   2012
Some More Work
1. Determine the Atomic Use Cases
2. Organize into Potential Releases…
       Flights            Hotels   Cars   Mileage
                                          Plan      Themes

                                                    User Tasks

                                                    Atomic UCs
        Get
       Ticket
                 Check
                 Status                             Release 1

       ++                                           Release 2

What Goes on the Backlog?
V2.7                               14               ©   2012
System Analysis


       What will we make it actually do?




V2.7                  15                   ©   2012
The Backlog
                                              Planning

                       Back Burner                        Front Burner
           W ell-D efined              A ctionable            To D o    D oing          D one




                                                                       Working

                                                                                                       Complete the Work
Grooming
                                   Fridge                                                          In Box
                                                                                 N ew

                            In Scope


                                  Freezer                                                       Done



 V2.7                                                    16                                            ©   2012
Initial Backlog for Release 1
  Backlog for CatAir Website Development
     [usecase] Check Status of Flights
     [usecase] Get an e-Ticket
          Description: This is the main thing we have to do, and involves
         everything from when a customer comes to the site looking
         from flights to when he actually buys one and we get an e-
         Ticket
          SMEs:
              SirJeff – expert on CUTLASS
              Sam – the current reservations guy, understands how to
             reserve and buy flights on RCA
              Mary – SirJeff's girlfriend, will serve as the proxy for the
             typical user


V2.7                                17                        ©   2012
Use Case Based Storyotypes
                                Use Case
       Implemented by

         Story                                                           Only one
                                 Made up of                              Architecturally significant
                                                      Backbone           Simplifying assumptions
        Conform to                                                       Single thread
                                 Scenario
                                                                          Many of them
       Storyotype                                     Alternate           Single thread
                                                                          Always another one…

                        [usecase]       The use case itself

                        [backbone]        A Story on the backbone

                        [alt]    An alternative scenario

                        [beefup]      Improving a business rule in an existing scenario

                        [redo]     Changing a “broken” business rule in an existing scenario

                        [interface]     Improving the interface for the UC

V2.7                                          18                             ©   2012


                                                                                                   18
Our Analysis Concept on One Slide
                  “Connective Tissue” stories



                                            Backbone


   Capability




                                 Minimum,
                                                        Releasable
                System           end-to-end,
                                                       functionality
                              Demonstrable,
                         Architecturally-Significant   ©
V2.7                           19                          2012
                                functionality
The Backbone

       A 5-step scenario (plus or minus…)
       Where each step is actually its own
       story
       A single test case running through
       them all – holding them together
       Might have a StoryBoard


V2.7                    20             ©   2012
“Get an e-Ticket” with Backbone

[usecase] Get an e-Ticket
     Stories
          [backbone] Enter Itinerary Info
          [backbone] Enter Passenger Information
          [backbone] Get List of Choices from CUTLASS
          [backbone] Choose One and Pay for It
          [backbone] Finalize Flight in CUTLASS
          [backbone] Issue e-Ticket


 V2.7                      21               ©   2012
Storyboard (as sequence diagram)
       User                         WebApp         CUTLASS
              Select “buy ticket”
                                       Home

              Enter Itinerary
                                     Itinerary

              Enter Pass Info
                                     Passenger
                                                      Get List
              Pick One and Pay
                                    Pick and Pay
                                                   Finalize Flight
              Issue e-ticket
                                      Receipt




V2.7                                       22              ©   2012
And Constraints (common test thread)
[usecase] Get an e-Ticket
       Backbone Constraints:
          One way flight
          Single leg
          No seat selection
          Don't worry about capacity of aircraft
          Single passenger
          Full fare, no discounts
          If anything else comes up, do it the easiest way you
          can, and document the new constraint here…

V2.7                           23                    ©   2012
And the Story we have Details For
[usecase] Get an e-Ticket
   [backbone] Get List of Choices from CUTLASS
       As a <buyer> I want <a list of matching flights to
        choose from> so that <I can choose one that works
        best for me>
       Agreement:
              This story begins with receipt of the Itinerary
              info (date, begin and end locations)
              This story ends when CUTLASS returns a list
              of flights (up to 10 of them) that satisfy the
              buyer's itinerary info

V2.7                          24                    ©   2012
Build Out the Backbone
       Trying to do stuff that gets good feedback
       Do the following stories
        [backbone] Get List of Choices from CUTLASS
        [backbone] Enter Itinerary Info
        [backbone] Enter Passenger Information
        [backbone] Choose One and Pay for It
   We don't need all of them to get good
  feedback…

V2.7                       25               ©   2012
Might Need to do Wireframes



                          Enter Itinerary Information
                                                                   Calendar
                From: Dropdown         Depart:   Date              widget for
Dropdown list
                                                                   dates
of places we
actually fly
                To:   Dropdown         Return:   Date


                Number of Passengers: #
                                                        Go!




V2.7                                  26                      ©   2012
We Need To
   Once we have the backbone up and running…
       And we're not there yet, as we haven't started work…
   We would like to beef up the Backbone to provide a
   releasable version of the Capability
   We need to add more “stuff” to fill the gaps
       Alternatives
       More robust business rules
       Clean up Interfaces
       Etc
   To do these we add stories to our Backlog
       In my experience, it takes an additional 10-40 stories to make the capability
       releasable
       Your Mileage May Vary

V2.7                                      27                             ©   2012
Different Analysis Methods
   We could flesh out this capability in a
  number of ways, each of which is a different
  analysis method
       Have a meeting to discuss the capability (2-4
       hours)
       Usability testing (large effort, not done until
       we feel it's almost finished)
       Exploratory (Ad Hoc or gorilla) testing (up to
       a day of “banging on” the system to figure out
       what's missing)
V2.7                       28                  ©   2012
What we Will be Looking For…
                      “Connective Tissue” stories



                                                Backbone


       Capability




                                     Minimum,
                                                            Releasable
                    System           end-to-end,
                                  Demonstrable,            functionality
                             Architecturally-Significant
V2.7                             29                        ©   2012
                                    functionality
“Get an e-Ticket” with Stories
[usecase] Get an e-Ticket
       [analysis] Determine Backbone of “Get an e-Ticket”
       [backbone] Capture Itinerary Info
       [backbone] Get List of Choices from CUTLASS
       [backbone] Enter Passenger Information
       [backbone] Choose One and Pay for It
       [backbone] Finalize Flight in CUTLASS
       [backbone] Issue e-Ticket
       [analysis] What's Next?
       [alt] Round Trip Flights
       [alt] Multiple Legs
       [usecase] Cancel e-Ticket
       [usecase] Transfer e-Ticket
       [beefup] Multiple Passengers in Party
       [interface] Clean up Interface for “Buy e-Ticket”
       Etc…

V2.7                                    30                  ©   2012
Stories for “Buy an e-ticket” Capability
[usecase] Buy an e-Ticket                                                           Fd   Dn   Size
     [backbone] Get List of Flights from CUTLASS (ugly interface)                    0    1    L
     [backbone] Capture Itinerary Information                                        0    2    L
     [backbone] Capture Passenger Information                                        0    2    L
     [backbone] Reserve Flight in CUTLASS                                            0    2    L     Continuous Analysis
     [alt] Modify CUTLASS to Understand When Flight is Full (note: was awful!)       2    3    L
     [analysis] Analysis Meeting with SirJeff                                        1    3    S      As you move along,
     [backbone] Pick One Flight and Pay for It (note: stubbed out actual payment)
     [alt] Handle Round Trip Flights (ugly Interface)
                                                                                     0
                                                                                     0
                                                                                          3
                                                                                          3
                                                                                               L
                                                                                               L
                                                                                                      you will need to find
     [beefup] Hook Up Actual Visa/MasterCard Processing Widget (note: was a                           new stories “within”
     PITA)                                                                          3    4    L
     [backbone] Issue email Confirmation to Customer                                0    4    M
                                                                                                      the features
     [interface] Improve Interface for buying e-ticket
     [beefup] Close Reservations when Plane is Full (note: turned out to be easy)
                                                                                    3
                                                                                    0
                                                                                         4
                                                                                         4
                                                                                              M
                                                                                              L
                                                                                                      What we see here is
     [alt] Add Payment with PayPal (note: really straightforward)                   3    4    M       the list of stories for
     [alt] Reserve Flight to Pay upon arrival at Airport                            0    4    M
     [alt] Handle multiple-Passenger Parties                                        0    5    L
                                                                                                      “Buy an e-Ticket” that
     [interface] Web Interface for Adding/Modifying Flight Info                     3    5    L       were found /
     [beefup] Get Luggage Info, including Scuba Tanks                               3    5    L
     [analysis] Exploratory Testing to "See What's Left" for Buy an e-Ticket        4    5    S
                                                                                                      implemented in this
     [spt] Make sure SirJeff's Marketing materials have correct information         2    5    S       release
     [redo] Fix Bug in Luggage Weight Calculations                                  5    5    S
     [bug] Fix Small List of Bugs found in Exploratory Testing                      5    6    M
     [alt] Pay with AMEX                                                            3         M
     [alt] Bring Pet on Board                                                       5         M
     [beefup] Special Needs (wheelchair, etc)                                       5         S
     [alt] Select Seat online                                                       3         M
     [alt] Pay with Coupon                                                          3         M
     [beefup] Seat Belt Extender Needed for 'large' Passenger                       3         S
     [beefup] Special Meals                                                         5         S
     [alt] Change Seat online                                                       3         M
     [alt] Comfort Seat for 'really large' Passenger                                5         S
  V2.7                                                                   31                               ©   2012
Any Questions?




V2.7         32         ©   2012
Thank You Very Much!
       Join Our Scrum Community!

@scrum-coach



facebook.com/3Back



3back.com/linkedin


V2.7               33           ©   2012

More Related Content

Similar to Rawsthorne Dan - from usability studies to stories

Building tomorrow's web with today's tools
Building tomorrow's web with today's toolsBuilding tomorrow's web with today's tools
Building tomorrow's web with today's toolsJames Pearce
 
Ecommerce product review and price crawl
Ecommerce product review and price crawlEcommerce product review and price crawl
Ecommerce product review and price crawlPromptCloud
 
AWS Customer Presentation-Redefining the Relationship Between Game Maker and ...
AWS Customer Presentation-Redefining the Relationship Between Game Maker and ...AWS Customer Presentation-Redefining the Relationship Between Game Maker and ...
AWS Customer Presentation-Redefining the Relationship Between Game Maker and ...Amazon Web Services
 
How can you keep the customer inputs flowing, the teams running and still kno...
How can you keep the customer inputs flowing, the teams running and still kno...How can you keep the customer inputs flowing, the teams running and still kno...
How can you keep the customer inputs flowing, the teams running and still kno...AgileSparks
 
Optimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEMOptimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEMGabriel Walt
 
eFolder Webinar_How One Partner Wins with the eFolder AppAssure Cloud
eFolder Webinar_How One Partner Wins with the eFolder AppAssure CloudeFolder Webinar_How One Partner Wins with the eFolder AppAssure Cloud
eFolder Webinar_How One Partner Wins with the eFolder AppAssure CloudDropbox
 
3 12-2013 performance-testing_service_virtualization
3 12-2013 performance-testing_service_virtualization3 12-2013 performance-testing_service_virtualization
3 12-2013 performance-testing_service_virtualizationsilviasiqueirahp
 
eFolder AppAssure Cloud Briefing_Public
eFolder AppAssure Cloud Briefing_PubliceFolder AppAssure Cloud Briefing_Public
eFolder AppAssure Cloud Briefing_PublicDropbox
 
Usability in the GeoWeb
Usability in the GeoWebUsability in the GeoWeb
Usability in the GeoWebDave Bouwman
 
When worlds Collide: HTML5 Meets the Cloud
When worlds Collide: HTML5 Meets the CloudWhen worlds Collide: HTML5 Meets the Cloud
When worlds Collide: HTML5 Meets the CloudDavid Pallmann
 
Gregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle WareGregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle Waredeimos
 
Product Owner Safari
Product Owner SafariProduct Owner Safari
Product Owner SafariElena Yatzeck
 
Web Performance Acceleration with Strangeloop AS1000
Web Performance Acceleration with Strangeloop AS1000Web Performance Acceleration with Strangeloop AS1000
Web Performance Acceleration with Strangeloop AS1000Thomas Stensitzki
 
A Visualization Application On AppEngine (Google Cloud)
A Visualization Application On AppEngine (Google Cloud)A Visualization Application On AppEngine (Google Cloud)
A Visualization Application On AppEngine (Google Cloud)surprisedcloud
 
Rawsthorne dan - scrum the big picture
Rawsthorne dan - scrum the big pictureRawsthorne dan - scrum the big picture
Rawsthorne dan - scrum the big pictureMagneta AI
 
Cloud Foundry Anniversary: Technical Slides
Cloud Foundry Anniversary: Technical Slides Cloud Foundry Anniversary: Technical Slides
Cloud Foundry Anniversary: Technical Slides marklucovsky
 
eFolder BDR Partner Presentation
eFolder BDR Partner PresentationeFolder BDR Partner Presentation
eFolder BDR Partner PresentationDropbox
 
Webinar: eFolder Expert Series: Three Myths of Cloud Recovery Revealed
Webinar: eFolder Expert Series:Three Myths of Cloud Recovery RevealedWebinar: eFolder Expert Series:Three Myths of Cloud Recovery Revealed
Webinar: eFolder Expert Series: Three Myths of Cloud Recovery RevealedDropbox
 

Similar to Rawsthorne Dan - from usability studies to stories (20)

SAP NetWeaver Cloud Platform - Virtual Bootcamp - Part 2
SAP NetWeaver Cloud Platform - Virtual Bootcamp - Part 2 SAP NetWeaver Cloud Platform - Virtual Bootcamp - Part 2
SAP NetWeaver Cloud Platform - Virtual Bootcamp - Part 2
 
Building tomorrow's web with today's tools
Building tomorrow's web with today's toolsBuilding tomorrow's web with today's tools
Building tomorrow's web with today's tools
 
Ecommerce product review and price crawl
Ecommerce product review and price crawlEcommerce product review and price crawl
Ecommerce product review and price crawl
 
AWS Customer Presentation-Redefining the Relationship Between Game Maker and ...
AWS Customer Presentation-Redefining the Relationship Between Game Maker and ...AWS Customer Presentation-Redefining the Relationship Between Game Maker and ...
AWS Customer Presentation-Redefining the Relationship Between Game Maker and ...
 
How can you keep the customer inputs flowing, the teams running and still kno...
How can you keep the customer inputs flowing, the teams running and still kno...How can you keep the customer inputs flowing, the teams running and still kno...
How can you keep the customer inputs flowing, the teams running and still kno...
 
GWT - building a better web
GWT - building a better web GWT - building a better web
GWT - building a better web
 
Optimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEMOptimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEM
 
eFolder Webinar_How One Partner Wins with the eFolder AppAssure Cloud
eFolder Webinar_How One Partner Wins with the eFolder AppAssure CloudeFolder Webinar_How One Partner Wins with the eFolder AppAssure Cloud
eFolder Webinar_How One Partner Wins with the eFolder AppAssure Cloud
 
3 12-2013 performance-testing_service_virtualization
3 12-2013 performance-testing_service_virtualization3 12-2013 performance-testing_service_virtualization
3 12-2013 performance-testing_service_virtualization
 
eFolder AppAssure Cloud Briefing_Public
eFolder AppAssure Cloud Briefing_PubliceFolder AppAssure Cloud Briefing_Public
eFolder AppAssure Cloud Briefing_Public
 
Usability in the GeoWeb
Usability in the GeoWebUsability in the GeoWeb
Usability in the GeoWeb
 
When worlds Collide: HTML5 Meets the Cloud
When worlds Collide: HTML5 Meets the CloudWhen worlds Collide: HTML5 Meets the Cloud
When worlds Collide: HTML5 Meets the Cloud
 
Gregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle WareGregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle Ware
 
Product Owner Safari
Product Owner SafariProduct Owner Safari
Product Owner Safari
 
Web Performance Acceleration with Strangeloop AS1000
Web Performance Acceleration with Strangeloop AS1000Web Performance Acceleration with Strangeloop AS1000
Web Performance Acceleration with Strangeloop AS1000
 
A Visualization Application On AppEngine (Google Cloud)
A Visualization Application On AppEngine (Google Cloud)A Visualization Application On AppEngine (Google Cloud)
A Visualization Application On AppEngine (Google Cloud)
 
Rawsthorne dan - scrum the big picture
Rawsthorne dan - scrum the big pictureRawsthorne dan - scrum the big picture
Rawsthorne dan - scrum the big picture
 
Cloud Foundry Anniversary: Technical Slides
Cloud Foundry Anniversary: Technical Slides Cloud Foundry Anniversary: Technical Slides
Cloud Foundry Anniversary: Technical Slides
 
eFolder BDR Partner Presentation
eFolder BDR Partner PresentationeFolder BDR Partner Presentation
eFolder BDR Partner Presentation
 
Webinar: eFolder Expert Series: Three Myths of Cloud Recovery Revealed
Webinar: eFolder Expert Series:Three Myths of Cloud Recovery RevealedWebinar: eFolder Expert Series:Three Myths of Cloud Recovery Revealed
Webinar: eFolder Expert Series: Three Myths of Cloud Recovery Revealed
 

More from Magneta AI

From outsource to productsource!
From outsource to productsource!From outsource to productsource!
From outsource to productsource!Magneta AI
 
BDD test structure
BDD test structureBDD test structure
BDD test structureMagneta AI
 
AgileCamp15. Процессный трек
AgileCamp15. Процессный трекAgileCamp15. Процессный трек
AgileCamp15. Процессный трекMagneta AI
 
Как создать концепцию продукта в виде Lean Canvas
Как создать концепцию продукта в виде Lean CanvasКак создать концепцию продукта в виде Lean Canvas
Как создать концепцию продукта в виде Lean CanvasMagneta AI
 
Эффективные ретроспективы
Эффективные ретроспективыЭффективные ретроспективы
Эффективные ретроспективыMagneta AI
 
зотин Scrum, kanban, что дальше. история nokia
зотин   Scrum, kanban, что дальше. история nokiaзотин   Scrum, kanban, что дальше. история nokia
зотин Scrum, kanban, что дальше. история nokiaMagneta AI
 
абраменко как сделать нужный людям продукт
абраменко   как сделать нужный людям продуктабраменко   как сделать нужный людям продукт
абраменко как сделать нужный людям продуктMagneta AI
 
павлов все, что вы хотели знать о юнит тестах, но боялись спросить
павлов   все, что вы хотели знать о юнит тестах, но боялись спроситьпавлов   все, что вы хотели знать о юнит тестах, но боялись спросить
павлов все, что вы хотели знать о юнит тестах, но боялись спроситьMagneta AI
 
тучин как внедрить Agile, чтобы никто не заметил
тучин   как внедрить Agile, чтобы никто не заметилтучин   как внедрить Agile, чтобы никто не заметил
тучин как внедрить Agile, чтобы никто не заметилMagneta AI
 
ткаченко качество без этапа тестирования
ткаченко   качество без этапа тестированияткаченко   качество без этапа тестирования
ткаченко качество без этапа тестированияMagneta AI
 
сенькова разное ретро для разных команд (как провести ретро для новичков, с...
сенькова   разное ретро для разных команд (как провести ретро для новичков, с...сенькова   разное ретро для разных команд (как провести ретро для новичков, с...
сенькова разное ретро для разных команд (как провести ретро для новичков, с...Magneta AI
 
мациевский путь самурая. уволить нельзя оставить
мациевский   путь самурая. уволить нельзя оставитьмациевский   путь самурая. уволить нельзя оставить
мациевский путь самурая. уволить нельзя оставитьMagneta AI
 
лустин статические анализаторы систем 1с ad2015
лустин   статические анализаторы систем 1с ad2015лустин   статические анализаторы систем 1с ad2015
лустин статические анализаторы систем 1с ad2015Magneta AI
 
лосев контрольные карты шухарта в анализе деятельности Scrum команд
лосев   контрольные карты шухарта в анализе деятельности Scrum командлосев   контрольные карты шухарта в анализе деятельности Scrum команд
лосев контрольные карты шухарта в анализе деятельности Scrum командMagneta AI
 
корецкий как мы улучшили экспертную оценку проектов
корецкий   как мы улучшили экспертную оценку проектовкорецкий   как мы улучшили экспертную оценку проектов
корецкий как мы улучшили экспертную оценку проектовMagneta AI
 
зиновьева повышение эффективности команды. ретроспектива как инструмент
зиновьева   повышение эффективности команды. ретроспектива как инструментзиновьева   повышение эффективности команды. ретроспектива как инструмент
зиновьева повышение эффективности команды. ретроспектива как инструментMagneta AI
 
виноградова внедрение изменений без длинных документов, долгих согласований...
виноградова   внедрение изменений без длинных документов, долгих согласований...виноградова   внедрение изменений без длинных документов, долгих согласований...
виноградова внедрение изменений без длинных документов, долгих согласований...Magneta AI
 
верещак. построение культуры Dev ops. v0.5 copy
верещак. построение  культуры Dev ops. v0.5 copyверещак. построение  культуры Dev ops. v0.5 copy
верещак. построение культуры Dev ops. v0.5 copyMagneta AI
 
бородин об эмпирической разработке
бородин   об эмпирической разработкебородин   об эмпирической разработке
бородин об эмпирической разработкеMagneta AI
 
богуславский Agile days непрерывное качество в непрерывной разработке
богуславский   Agile days непрерывное качество в непрерывной разработкебогуславский   Agile days непрерывное качество в непрерывной разработке
богуславский Agile days непрерывное качество в непрерывной разработкеMagneta AI
 

More from Magneta AI (20)

From outsource to productsource!
From outsource to productsource!From outsource to productsource!
From outsource to productsource!
 
BDD test structure
BDD test structureBDD test structure
BDD test structure
 
AgileCamp15. Процессный трек
AgileCamp15. Процессный трекAgileCamp15. Процессный трек
AgileCamp15. Процессный трек
 
Как создать концепцию продукта в виде Lean Canvas
Как создать концепцию продукта в виде Lean CanvasКак создать концепцию продукта в виде Lean Canvas
Как создать концепцию продукта в виде Lean Canvas
 
Эффективные ретроспективы
Эффективные ретроспективыЭффективные ретроспективы
Эффективные ретроспективы
 
зотин Scrum, kanban, что дальше. история nokia
зотин   Scrum, kanban, что дальше. история nokiaзотин   Scrum, kanban, что дальше. история nokia
зотин Scrum, kanban, что дальше. история nokia
 
абраменко как сделать нужный людям продукт
абраменко   как сделать нужный людям продуктабраменко   как сделать нужный людям продукт
абраменко как сделать нужный людям продукт
 
павлов все, что вы хотели знать о юнит тестах, но боялись спросить
павлов   все, что вы хотели знать о юнит тестах, но боялись спроситьпавлов   все, что вы хотели знать о юнит тестах, но боялись спросить
павлов все, что вы хотели знать о юнит тестах, но боялись спросить
 
тучин как внедрить Agile, чтобы никто не заметил
тучин   как внедрить Agile, чтобы никто не заметилтучин   как внедрить Agile, чтобы никто не заметил
тучин как внедрить Agile, чтобы никто не заметил
 
ткаченко качество без этапа тестирования
ткаченко   качество без этапа тестированияткаченко   качество без этапа тестирования
ткаченко качество без этапа тестирования
 
сенькова разное ретро для разных команд (как провести ретро для новичков, с...
сенькова   разное ретро для разных команд (как провести ретро для новичков, с...сенькова   разное ретро для разных команд (как провести ретро для новичков, с...
сенькова разное ретро для разных команд (как провести ретро для новичков, с...
 
мациевский путь самурая. уволить нельзя оставить
мациевский   путь самурая. уволить нельзя оставитьмациевский   путь самурая. уволить нельзя оставить
мациевский путь самурая. уволить нельзя оставить
 
лустин статические анализаторы систем 1с ad2015
лустин   статические анализаторы систем 1с ad2015лустин   статические анализаторы систем 1с ad2015
лустин статические анализаторы систем 1с ad2015
 
лосев контрольные карты шухарта в анализе деятельности Scrum команд
лосев   контрольные карты шухарта в анализе деятельности Scrum командлосев   контрольные карты шухарта в анализе деятельности Scrum команд
лосев контрольные карты шухарта в анализе деятельности Scrum команд
 
корецкий как мы улучшили экспертную оценку проектов
корецкий   как мы улучшили экспертную оценку проектовкорецкий   как мы улучшили экспертную оценку проектов
корецкий как мы улучшили экспертную оценку проектов
 
зиновьева повышение эффективности команды. ретроспектива как инструмент
зиновьева   повышение эффективности команды. ретроспектива как инструментзиновьева   повышение эффективности команды. ретроспектива как инструмент
зиновьева повышение эффективности команды. ретроспектива как инструмент
 
виноградова внедрение изменений без длинных документов, долгих согласований...
виноградова   внедрение изменений без длинных документов, долгих согласований...виноградова   внедрение изменений без длинных документов, долгих согласований...
виноградова внедрение изменений без длинных документов, долгих согласований...
 
верещак. построение культуры Dev ops. v0.5 copy
верещак. построение  культуры Dev ops. v0.5 copyверещак. построение  культуры Dev ops. v0.5 copy
верещак. построение культуры Dev ops. v0.5 copy
 
бородин об эмпирической разработке
бородин   об эмпирической разработкебородин   об эмпирической разработке
бородин об эмпирической разработке
 
богуславский Agile days непрерывное качество в непрерывной разработке
богуславский   Agile days непрерывное качество в непрерывной разработкебогуславский   Agile days непрерывное качество в непрерывной разработке
богуславский Agile days непрерывное качество в непрерывной разработке
 

Recently uploaded

Inspirational Quotes About Italy and Food
Inspirational Quotes About Italy and FoodInspirational Quotes About Italy and Food
Inspirational Quotes About Italy and FoodKasia Chojecki
 
Paragliding Billing Bir at Himachal Pardesh
Paragliding Billing Bir at Himachal PardeshParagliding Billing Bir at Himachal Pardesh
Paragliding Billing Bir at Himachal PardeshParagliding Billing Bir
 
69 Girls ✠ 9599264170 ✠ Call Girls In East Of Kailash (VIP)
69 Girls ✠ 9599264170 ✠ Call Girls In East Of Kailash (VIP)69 Girls ✠ 9599264170 ✠ Call Girls In East Of Kailash (VIP)
69 Girls ✠ 9599264170 ✠ Call Girls In East Of Kailash (VIP)Escort Service
 
Sicily Holidays Guide Book: Unveiling the Treasures of Italy's Jewel
Sicily Holidays Guide Book: Unveiling the Treasures of Italy's JewelSicily Holidays Guide Book: Unveiling the Treasures of Italy's Jewel
Sicily Holidays Guide Book: Unveiling the Treasures of Italy's JewelTime for Sicily
 
How Safe Is It To Witness Whales In Maui’s Waters
How Safe Is It To Witness Whales In Maui’s WatersHow Safe Is It To Witness Whales In Maui’s Waters
How Safe Is It To Witness Whales In Maui’s WatersMakena Coast Charters
 
Phil....National-Capital-Region-NCR.pptx
Phil....National-Capital-Region-NCR.pptxPhil....National-Capital-Region-NCR.pptx
Phil....National-Capital-Region-NCR.pptxDitasDelaCruz
 
question 2: airplane vocabulary presentation
question 2: airplane vocabulary presentationquestion 2: airplane vocabulary presentation
question 2: airplane vocabulary presentationcaminantesdaauga
 
Authentic Travel Experience 2024 Greg DeShields.pptx
Authentic Travel Experience 2024 Greg DeShields.pptxAuthentic Travel Experience 2024 Greg DeShields.pptx
Authentic Travel Experience 2024 Greg DeShields.pptxGregory DeShields
 
5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)
5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)
5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)Mazie Garcia
 
a presentation for foreigners about how to travel in Germany.
a presentation for foreigners about how to travel in Germany.a presentation for foreigners about how to travel in Germany.
a presentation for foreigners about how to travel in Germany.moritzmieg
 
Revolutionalizing Travel: A VacAI Update
Revolutionalizing Travel: A VacAI UpdateRevolutionalizing Travel: A VacAI Update
Revolutionalizing Travel: A VacAI Updatejoymorrison10
 
Where to Stay in Lagos, Portugal.pptxasd
Where to Stay in Lagos, Portugal.pptxasdWhere to Stay in Lagos, Portugal.pptxasd
Where to Stay in Lagos, Portugal.pptxasdusmanghaniwixpatriot
 
It’s Time Get Refresh Travel Around The World
It’s Time Get Refresh Travel Around The WorldIt’s Time Get Refresh Travel Around The World
It’s Time Get Refresh Travel Around The WorldParagliding Billing Bir
 

Recently uploaded (15)

Inspirational Quotes About Italy and Food
Inspirational Quotes About Italy and FoodInspirational Quotes About Italy and Food
Inspirational Quotes About Italy and Food
 
Paragliding Billing Bir at Himachal Pardesh
Paragliding Billing Bir at Himachal PardeshParagliding Billing Bir at Himachal Pardesh
Paragliding Billing Bir at Himachal Pardesh
 
69 Girls ✠ 9599264170 ✠ Call Girls In East Of Kailash (VIP)
69 Girls ✠ 9599264170 ✠ Call Girls In East Of Kailash (VIP)69 Girls ✠ 9599264170 ✠ Call Girls In East Of Kailash (VIP)
69 Girls ✠ 9599264170 ✠ Call Girls In East Of Kailash (VIP)
 
Sicily Holidays Guide Book: Unveiling the Treasures of Italy's Jewel
Sicily Holidays Guide Book: Unveiling the Treasures of Italy's JewelSicily Holidays Guide Book: Unveiling the Treasures of Italy's Jewel
Sicily Holidays Guide Book: Unveiling the Treasures of Italy's Jewel
 
How Safe Is It To Witness Whales In Maui’s Waters
How Safe Is It To Witness Whales In Maui’s WatersHow Safe Is It To Witness Whales In Maui’s Waters
How Safe Is It To Witness Whales In Maui’s Waters
 
Phil....National-Capital-Region-NCR.pptx
Phil....National-Capital-Region-NCR.pptxPhil....National-Capital-Region-NCR.pptx
Phil....National-Capital-Region-NCR.pptx
 
question 2: airplane vocabulary presentation
question 2: airplane vocabulary presentationquestion 2: airplane vocabulary presentation
question 2: airplane vocabulary presentation
 
Authentic Travel Experience 2024 Greg DeShields.pptx
Authentic Travel Experience 2024 Greg DeShields.pptxAuthentic Travel Experience 2024 Greg DeShields.pptx
Authentic Travel Experience 2024 Greg DeShields.pptx
 
5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)
5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)
5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)
 
a presentation for foreigners about how to travel in Germany.
a presentation for foreigners about how to travel in Germany.a presentation for foreigners about how to travel in Germany.
a presentation for foreigners about how to travel in Germany.
 
Enjoy ➥8448380779▻ Call Girls In Sector 62 Noida Escorts Delhi NCR
Enjoy ➥8448380779▻ Call Girls In Sector 62 Noida Escorts Delhi NCREnjoy ➥8448380779▻ Call Girls In Sector 62 Noida Escorts Delhi NCR
Enjoy ➥8448380779▻ Call Girls In Sector 62 Noida Escorts Delhi NCR
 
Revolutionalizing Travel: A VacAI Update
Revolutionalizing Travel: A VacAI UpdateRevolutionalizing Travel: A VacAI Update
Revolutionalizing Travel: A VacAI Update
 
Where to Stay in Lagos, Portugal.pptxasd
Where to Stay in Lagos, Portugal.pptxasdWhere to Stay in Lagos, Portugal.pptxasd
Where to Stay in Lagos, Portugal.pptxasd
 
It’s Time Get Refresh Travel Around The World
It’s Time Get Refresh Travel Around The WorldIt’s Time Get Refresh Travel Around The World
It’s Time Get Refresh Travel Around The World
 
Enjoy ➥8448380779▻ Call Girls In Sector 74 Noida Escorts Delhi NCR
Enjoy ➥8448380779▻ Call Girls In Sector 74 Noida Escorts Delhi NCREnjoy ➥8448380779▻ Call Girls In Sector 74 Noida Escorts Delhi NCR
Enjoy ➥8448380779▻ Call Girls In Sector 74 Noida Escorts Delhi NCR
 

Rawsthorne Dan - from usability studies to stories

  • 1. From Usability Studies to Stories Dan Rawsthorne, PhD, CST, PMP Senior Trainer at 3Back 3BACK.COM dan.rawsthorne@3Back.com 425-269-8628 Agile Days (Moscow) 24 March, 11:00-12:00
  • 2. About Me Available at Amazon… “Dan and Doug can help you be greater” – Jeff Sutherland “the best Scrum book I have seen” – Ron Jeffries “crystal clarity” – Jeff McKenna “Dan and Doug have given you a gift”– Johanna Rothman V2.7 2 © 2012
  • 3. My Analysis Mix What I'm going to show you is combination of two things: Story Mapping from Jeff Patton, an agile- UX expert StoryoTyping from Gerard Meszaros I have modified and combined them into a unified top-to-bottom agile analysis process V2.7 3 © 2012
  • 4. Product Capability Story Product Capability Story V2.7 4 © 2012
  • 5. Story Mapping and StoryoTyping User Games Silly Saga Product Box User Tasks Atomic Use Cases Backlog Items (Epics & Stories) V2.7 5 © 2012
  • 6. Metaphor Usage Analysis – painting the picture of the Apple Tree in its Environment Atomic Use Cases – the twigs with apples and leaves System Analysis – determining the apples/leaves V2.7 6 © 2012
  • 7. Royal Catalina Airlines (RCA) Las Vegas V2.7 7 © 2012
  • 8. SirJeff's Vision Business Vision: I, SirJeff, want to get lots of new customers for my new airline, Royal Catalina Air (so that I can make a lot of money…) Product Vision: In order to get lots of new customers for my airline, I want a website, RoyalCatalinaAir.com, that will be as good as that of “real” airlines V2.7 8 © 2012
  • 9. Usage Analysis What do Stakeholders want it to do? V2.7 9 © 2012
  • 10. Steps to Follow (Silly Saga) 1. Tell Stories about how people or Personas use the system 2. Extract User Tasks 3. Organize the User Tasks Add organizational Themes Combine and simplify Themes User Tasks V2.7 10 © 2012
  • 11. Silly Saga Example System: Catalina Air Website Saga: Trip to Las Vegas Persona:Vacationer I wanted to take my family to Las Vegas, so I went to the RCA site and arranged some tickets for me, my wife, and my kids. These tickets included seats and meals. I also got a hotel near the Strip (the Grand), and reserved a Car. A week later my son told me he wanted to take his girlfriend, so I used bonus miles to make a reservation for her and modified the seat selections online so that she and my son sat together on the flights. Later she realized that I had reserved the chicken meal for her so she changed it to the vegetarian option online. I also got her a room at the same hotel, and had to upsize the car because she has a lot of luggage. V2.7 11 © 2012
  • 12. Example I wanted to take my family to Las Vegas, so I went to Airline Tickets the site and arranged some tickets for me, my wife, • Group and my kids. These tickets included seats and meals. • Seats • Meals I also got a hotel near the Strip (the Grand), and • Hotel reserved a Car. A week later my son told me he • Reserve Car wanted to take his girlfriend, so I so I used bonus Get Ticket with Miles miles to make a reservation for her and modified Add person to Reservation the seat selections online so that she and my son sat together on the flights. Later she realized that I Change Seats Online had arranged the chicken pasta meal for her so she Modify Meal Choices changed it to the vegetarian option online. I also got Add a Room her a room at the same hotel, and had to upsize the car because she has a lot of luggage. Modify Car Choice V2.7 12 © 2012
  • 13. User Tasks Flights Hotels Cars Reserve Modify Status Add Flyer to Get Airline Check Status Make Hotel Make Car existing Tickets of Flight Reservations Reservations Reservation Add Hotel Check Status Change Seats Modify Car Rooms to of Reserved Online Reservation Reservation Itinerary Modify Meal Pay for Ticket Choices with Miles Online V2.7 13 © 2012
  • 14. Some More Work 1. Determine the Atomic Use Cases 2. Organize into Potential Releases… Flights Hotels Cars Mileage Plan Themes User Tasks Atomic UCs Get Ticket Check Status Release 1 ++ Release 2 What Goes on the Backlog? V2.7 14 © 2012
  • 15. System Analysis What will we make it actually do? V2.7 15 © 2012
  • 16. The Backlog Planning Back Burner Front Burner W ell-D efined A ctionable To D o D oing D one Working Complete the Work Grooming Fridge In Box N ew In Scope Freezer Done V2.7 16 © 2012
  • 17. Initial Backlog for Release 1 Backlog for CatAir Website Development [usecase] Check Status of Flights [usecase] Get an e-Ticket Description: This is the main thing we have to do, and involves everything from when a customer comes to the site looking from flights to when he actually buys one and we get an e- Ticket SMEs: SirJeff – expert on CUTLASS Sam – the current reservations guy, understands how to reserve and buy flights on RCA Mary – SirJeff's girlfriend, will serve as the proxy for the typical user V2.7 17 © 2012
  • 18. Use Case Based Storyotypes Use Case Implemented by Story Only one Made up of Architecturally significant Backbone Simplifying assumptions Conform to Single thread Scenario Many of them Storyotype Alternate Single thread Always another one… [usecase] The use case itself [backbone] A Story on the backbone [alt] An alternative scenario [beefup] Improving a business rule in an existing scenario [redo] Changing a “broken” business rule in an existing scenario [interface] Improving the interface for the UC V2.7 18 © 2012 18
  • 19. Our Analysis Concept on One Slide “Connective Tissue” stories Backbone Capability Minimum, Releasable System end-to-end, functionality Demonstrable, Architecturally-Significant © V2.7 19 2012 functionality
  • 20. The Backbone A 5-step scenario (plus or minus…) Where each step is actually its own story A single test case running through them all – holding them together Might have a StoryBoard V2.7 20 © 2012
  • 21. “Get an e-Ticket” with Backbone [usecase] Get an e-Ticket Stories [backbone] Enter Itinerary Info [backbone] Enter Passenger Information [backbone] Get List of Choices from CUTLASS [backbone] Choose One and Pay for It [backbone] Finalize Flight in CUTLASS [backbone] Issue e-Ticket V2.7 21 © 2012
  • 22. Storyboard (as sequence diagram) User WebApp CUTLASS Select “buy ticket” Home Enter Itinerary Itinerary Enter Pass Info Passenger Get List Pick One and Pay Pick and Pay Finalize Flight Issue e-ticket Receipt V2.7 22 © 2012
  • 23. And Constraints (common test thread) [usecase] Get an e-Ticket Backbone Constraints: One way flight Single leg No seat selection Don't worry about capacity of aircraft Single passenger Full fare, no discounts If anything else comes up, do it the easiest way you can, and document the new constraint here… V2.7 23 © 2012
  • 24. And the Story we have Details For [usecase] Get an e-Ticket [backbone] Get List of Choices from CUTLASS As a <buyer> I want <a list of matching flights to choose from> so that <I can choose one that works best for me> Agreement: This story begins with receipt of the Itinerary info (date, begin and end locations) This story ends when CUTLASS returns a list of flights (up to 10 of them) that satisfy the buyer's itinerary info V2.7 24 © 2012
  • 25. Build Out the Backbone Trying to do stuff that gets good feedback Do the following stories [backbone] Get List of Choices from CUTLASS [backbone] Enter Itinerary Info [backbone] Enter Passenger Information [backbone] Choose One and Pay for It We don't need all of them to get good feedback… V2.7 25 © 2012
  • 26. Might Need to do Wireframes Enter Itinerary Information Calendar From: Dropdown Depart: Date widget for Dropdown list dates of places we actually fly To: Dropdown Return: Date Number of Passengers: # Go! V2.7 26 © 2012
  • 27. We Need To Once we have the backbone up and running… And we're not there yet, as we haven't started work… We would like to beef up the Backbone to provide a releasable version of the Capability We need to add more “stuff” to fill the gaps Alternatives More robust business rules Clean up Interfaces Etc To do these we add stories to our Backlog In my experience, it takes an additional 10-40 stories to make the capability releasable Your Mileage May Vary V2.7 27 © 2012
  • 28. Different Analysis Methods We could flesh out this capability in a number of ways, each of which is a different analysis method Have a meeting to discuss the capability (2-4 hours) Usability testing (large effort, not done until we feel it's almost finished) Exploratory (Ad Hoc or gorilla) testing (up to a day of “banging on” the system to figure out what's missing) V2.7 28 © 2012
  • 29. What we Will be Looking For… “Connective Tissue” stories Backbone Capability Minimum, Releasable System end-to-end, Demonstrable, functionality Architecturally-Significant V2.7 29 © 2012 functionality
  • 30. “Get an e-Ticket” with Stories [usecase] Get an e-Ticket [analysis] Determine Backbone of “Get an e-Ticket” [backbone] Capture Itinerary Info [backbone] Get List of Choices from CUTLASS [backbone] Enter Passenger Information [backbone] Choose One and Pay for It [backbone] Finalize Flight in CUTLASS [backbone] Issue e-Ticket [analysis] What's Next? [alt] Round Trip Flights [alt] Multiple Legs [usecase] Cancel e-Ticket [usecase] Transfer e-Ticket [beefup] Multiple Passengers in Party [interface] Clean up Interface for “Buy e-Ticket” Etc… V2.7 30 © 2012
  • 31. Stories for “Buy an e-ticket” Capability [usecase] Buy an e-Ticket Fd Dn Size [backbone] Get List of Flights from CUTLASS (ugly interface) 0 1 L [backbone] Capture Itinerary Information 0 2 L [backbone] Capture Passenger Information 0 2 L [backbone] Reserve Flight in CUTLASS 0 2 L Continuous Analysis [alt] Modify CUTLASS to Understand When Flight is Full (note: was awful!) 2 3 L [analysis] Analysis Meeting with SirJeff 1 3 S As you move along, [backbone] Pick One Flight and Pay for It (note: stubbed out actual payment) [alt] Handle Round Trip Flights (ugly Interface) 0 0 3 3 L L you will need to find [beefup] Hook Up Actual Visa/MasterCard Processing Widget (note: was a new stories “within” PITA) 3 4 L [backbone] Issue email Confirmation to Customer 0 4 M the features [interface] Improve Interface for buying e-ticket [beefup] Close Reservations when Plane is Full (note: turned out to be easy) 3 0 4 4 M L What we see here is [alt] Add Payment with PayPal (note: really straightforward) 3 4 M the list of stories for [alt] Reserve Flight to Pay upon arrival at Airport 0 4 M [alt] Handle multiple-Passenger Parties 0 5 L “Buy an e-Ticket” that [interface] Web Interface for Adding/Modifying Flight Info 3 5 L were found / [beefup] Get Luggage Info, including Scuba Tanks 3 5 L [analysis] Exploratory Testing to "See What's Left" for Buy an e-Ticket 4 5 S implemented in this [spt] Make sure SirJeff's Marketing materials have correct information 2 5 S release [redo] Fix Bug in Luggage Weight Calculations 5 5 S [bug] Fix Small List of Bugs found in Exploratory Testing 5 6 M [alt] Pay with AMEX 3 M [alt] Bring Pet on Board 5 M [beefup] Special Needs (wheelchair, etc) 5 S [alt] Select Seat online 3 M [alt] Pay with Coupon 3 M [beefup] Seat Belt Extender Needed for 'large' Passenger 3 S [beefup] Special Meals 5 S [alt] Change Seat online 3 M [alt] Comfort Seat for 'really large' Passenger 5 S V2.7 31 © 2012
  • 32. Any Questions? V2.7 32 © 2012
  • 33. Thank You Very Much! Join Our Scrum Community! @scrum-coach facebook.com/3Back 3back.com/linkedin V2.7 33 © 2012