User Experience
                               Agile & Lean
                                    for Lean UX SF




                                      Jay Trimble
                                    jtrimble2@gmail.com

                              NASA Ames Research Center
                                      9-27-12



Thursday, September 27, 12
Product Target Environment


   • Mission Control for
     NASA and
     Commercial Space
     Missions




                             jtrimble2@gmail.com


Thursday, September 27, 12
Product Mission

                • Develop a modular software architecture for
                  mission control applications that allows users
                  to compose their own software using drag
                  and drop from a single integrated user
                  environment



                • See the results at https://github.com/nasa/mct

                                   jtrimble2@gmail.com


Thursday, September 27, 12
In the Beginning

                • Delivery cycle = 6 months

                • Customer contact with product unsatisfactory

                • Progress measurements uncertain

                • Long and formal design specs


                                  jtrimble2@gmail.com


Thursday, September 27, 12
The Long Road
 • Four six-
   month
   deliverables                                                                          Module 1




 • One UE                     Subsystem1    Subsystem2             Subsystem3    Subsystem4
   Spec
                                      6 Months               6 Months      6 Months      6 Months




 • We are not
   going to get
   there from
   here
                                       jtrimble2@gmail.com


Thursday, September 27, 12
Time for Changes

                • Fix the problems iteratively, without a broad
                  proclamation of methodology, i.e. “we are
                  going to be agile” or “we are going to be
                  “lean”

                • Just fix the problems



                                    jtrimble2@gmail.com


Thursday, September 27, 12
Incremental Improvements
                • Six week delivery cycle

                • Prioritization of work at the start of each six-
                  week iteration

                • User Experience spec for every iteration due
                  one week before iteration start

                • UE testing and design session during coding
                  period of each iteration

                                     jtrimble2@gmail.com


Thursday, September 27, 12
Almost There

                • Better, but still not where we need to be

                • Six week iterations are focused on
                  subsystem capabilities, they lack user-focus

                • Customers see progress every six-weeks,
                  this is not often enough


                                    jtrimble2@gmail.com


Thursday, September 27, 12
Getting Agile
   • Deliver to
     customer                      Release to Mission    Release to Mission   Release to Mission      Release to Mission
     every 3                       Control User Test
                                   Community
                                                         Control User Test
                                                         Community
                                                                              Control User Test
                                                                              Community
                                                                                                      Control Ops


     weeks

   • Nightly                                                Release n
     build
                              Iteration 1         Iteration 2           Iteration 3         Iteration 4

   • Release                             3 Weeks                  6 Weeks           9 Weeks                 12 Weeks

     every 3
     months



                                            jtrimble2@gmail.com
                                                                                                   jay.p.trimble@nasa.gov
Thursday, September 27, 12
We’re There
                • User-focused iterations

                • Customer gives daily feedback using nightly build

                • Delivery for feature verification every three-weeks

                • Full release every four iterations

                • The measure of progress is working code

                • Constant customer-design/dev team interaction

                • Test features as they rollout using internal QA, get
                  customer feedback from nightly build
                                       jtrimble2@gmail.com


Thursday, September 27, 12
Agile Development Iteration

                                                   Optional Mid-Iteration              Feature
                                                   Hackathon tests big                 Freeze      Code Freeze
                                                   features                            (-7 days)   (-3 days)
          Priorities/JIRA                                                                                  Pre-Ship
          Rankings                                                                                         Hackathon
                                                                                                           Start 24 hour test (-2 day)

                                                                                                                 Deliver
                                                                                                                 to customer


                                                   3 Weeks Iteration n

                                                          Coding
                             UE & Tech Spec dates driven by coding dependencies
                                     Issue Tracking Updates/Priorities/Rankings
                                   Nightly Build/Internal testing as features roll out
               Daily iteration n
               Build to                                                                    Feature mods/additions,
                                            Test              User Feedback                bug fixes
               Customer



               Customer
                               Customer            Customer verification     Customer triages       Optionally, hot
               installs
                               acceptance test     of closed JIRA issues    issues it discovered   patch
               iteration n-1
                                                                                                                           Iteration n+1


                                                                  jtrimble2@gmail.com


Thursday, September 27, 12
Evolution

                             Stack Rank   UE Spec                                                           Deliver

  • Discrete                                                     Code iteration n


    event                                  Design            UE Testing iteration n-1                Test


    iterations                                             UE Design/Testing Iteration n




                                                                                           Deliver

  • Integrated                                                  Coding ongoing

    iterations                                       UE designs set by UE/dev agreement

                                                              Test features at roll-out



                                                    jtrimble2@gmail.com


Thursday, September 27, 12
Lean Principles & Our Practice

                     •       Principle                              •     Practice

                     •       Tight collaboration of                 •     Integrated team, shared
                             UX, Product Mgmt,                            workspace, morning
                             Developer                                    tagups, constant
                                                                          feedback
                     •       Know your customers
                             and their needs                        •     Participatory Design

                     •       Prioritize to reduce                   •     Stack ranking, constant
                             wasted effort                                prioritization, tackle hard
                                                                          problems first

                                                    jtrimble2@gmail.com

Thursday, September 27, 12
Lean Principles & Our Practice
                    •        Principle                             •    Practice

                    •        Focus releases on specific             •    Each iteration has clearly
                             user goals                                 defined user-focused goals

                    •        Externalize your ideas and            •    Shared workspace/lab
                             your process
                                                                   •    Participatory design, daily
                    •        Test design hypotheses                     build, customer feature
                             rapidly and repeatedly                     verification

                    •        Observing, learning, and              •    Team de-brief session
                             adjusting with rapid cycles                every release, process
                             of Think--Make--Check                      adjustments as needed

                                                  jtrimble2@gmail.com

Thursday, September 27, 12
Work Environment




                                   jtrimble2@gmail.com

Thursday, September 27, 12
Design Sessions

   • Task flows

   • Common mental
     model

   • Task objects

   • UI Objects


                                  jtrimble2@gmail.com


Thursday, September 27, 12
The Customer is part of the Team

                    • Feature development
                     • Participatory design, facilitated by
                             designers, customers part of design team
                    • Testing
                     • Feature test at rollout by internal QA,
                             immediate feedback from customer via
                             nightly build, customer acceptance at
                             iteration delivery

                                         jtrimble2@gmail.com

Thursday, September 27, 12
Lessons
          • Iterations focused on engineering needs can
                 provide UE designers a breather
          • The train leaves the station at regular intervals.
                 Features that are ready ship, those that aren’t get
                 on the next train
          • The measure of progress is working code
          • Rank issues, always work in order of priority, resist
                 the urge to do the easy things first

                                    jtrimble2@gmail.com

Thursday, September 27, 12
Lessons


                    • Minimize documentation, maximize
                             customer interaction with the team and the
                             product
                    • Keep the state of the product visible always

                                           jtrimble2@gmail.com

Thursday, September 27, 12

UE Agile and Lean

  • 1.
    User Experience Agile & Lean for Lean UX SF Jay Trimble jtrimble2@gmail.com NASA Ames Research Center 9-27-12 Thursday, September 27, 12
  • 2.
    Product Target Environment • Mission Control for NASA and Commercial Space Missions jtrimble2@gmail.com Thursday, September 27, 12
  • 3.
    Product Mission • Develop a modular software architecture for mission control applications that allows users to compose their own software using drag and drop from a single integrated user environment • See the results at https://github.com/nasa/mct jtrimble2@gmail.com Thursday, September 27, 12
  • 4.
    In the Beginning • Delivery cycle = 6 months • Customer contact with product unsatisfactory • Progress measurements uncertain • Long and formal design specs jtrimble2@gmail.com Thursday, September 27, 12
  • 5.
    The Long Road • Four six- month deliverables Module 1 • One UE Subsystem1 Subsystem2 Subsystem3 Subsystem4 Spec 6 Months 6 Months 6 Months 6 Months • We are not going to get there from here jtrimble2@gmail.com Thursday, September 27, 12
  • 6.
    Time for Changes • Fix the problems iteratively, without a broad proclamation of methodology, i.e. “we are going to be agile” or “we are going to be “lean” • Just fix the problems jtrimble2@gmail.com Thursday, September 27, 12
  • 7.
    Incremental Improvements • Six week delivery cycle • Prioritization of work at the start of each six- week iteration • User Experience spec for every iteration due one week before iteration start • UE testing and design session during coding period of each iteration jtrimble2@gmail.com Thursday, September 27, 12
  • 8.
    Almost There • Better, but still not where we need to be • Six week iterations are focused on subsystem capabilities, they lack user-focus • Customers see progress every six-weeks, this is not often enough jtrimble2@gmail.com Thursday, September 27, 12
  • 9.
    Getting Agile • Deliver to customer Release to Mission Release to Mission Release to Mission Release to Mission every 3 Control User Test Community Control User Test Community Control User Test Community Control Ops weeks • Nightly Release n build Iteration 1 Iteration 2 Iteration 3 Iteration 4 • Release 3 Weeks 6 Weeks 9 Weeks 12 Weeks every 3 months jtrimble2@gmail.com jay.p.trimble@nasa.gov Thursday, September 27, 12
  • 10.
    We’re There • User-focused iterations • Customer gives daily feedback using nightly build • Delivery for feature verification every three-weeks • Full release every four iterations • The measure of progress is working code • Constant customer-design/dev team interaction • Test features as they rollout using internal QA, get customer feedback from nightly build jtrimble2@gmail.com Thursday, September 27, 12
  • 11.
    Agile Development Iteration Optional Mid-Iteration Feature Hackathon tests big Freeze Code Freeze features (-7 days) (-3 days) Priorities/JIRA Pre-Ship Rankings Hackathon Start 24 hour test (-2 day) Deliver to customer 3 Weeks Iteration n Coding UE & Tech Spec dates driven by coding dependencies Issue Tracking Updates/Priorities/Rankings Nightly Build/Internal testing as features roll out Daily iteration n Build to Feature mods/additions, Test User Feedback bug fixes Customer Customer Customer Customer verification Customer triages Optionally, hot installs acceptance test of closed JIRA issues issues it discovered patch iteration n-1 Iteration n+1 jtrimble2@gmail.com Thursday, September 27, 12
  • 12.
    Evolution Stack Rank UE Spec Deliver • Discrete Code iteration n event Design UE Testing iteration n-1 Test iterations UE Design/Testing Iteration n Deliver • Integrated Coding ongoing iterations UE designs set by UE/dev agreement Test features at roll-out jtrimble2@gmail.com Thursday, September 27, 12
  • 13.
    Lean Principles &Our Practice • Principle • Practice • Tight collaboration of • Integrated team, shared UX, Product Mgmt, workspace, morning Developer tagups, constant feedback • Know your customers and their needs • Participatory Design • Prioritize to reduce • Stack ranking, constant wasted effort prioritization, tackle hard problems first jtrimble2@gmail.com Thursday, September 27, 12
  • 14.
    Lean Principles &Our Practice • Principle • Practice • Focus releases on specific • Each iteration has clearly user goals defined user-focused goals • Externalize your ideas and • Shared workspace/lab your process • Participatory design, daily • Test design hypotheses build, customer feature rapidly and repeatedly verification • Observing, learning, and • Team de-brief session adjusting with rapid cycles every release, process of Think--Make--Check adjustments as needed jtrimble2@gmail.com Thursday, September 27, 12
  • 15.
    Work Environment jtrimble2@gmail.com Thursday, September 27, 12
  • 16.
    Design Sessions • Task flows • Common mental model • Task objects • UI Objects jtrimble2@gmail.com Thursday, September 27, 12
  • 17.
    The Customer ispart of the Team • Feature development • Participatory design, facilitated by designers, customers part of design team • Testing • Feature test at rollout by internal QA, immediate feedback from customer via nightly build, customer acceptance at iteration delivery jtrimble2@gmail.com Thursday, September 27, 12
  • 18.
    Lessons • Iterations focused on engineering needs can provide UE designers a breather • The train leaves the station at regular intervals. Features that are ready ship, those that aren’t get on the next train • The measure of progress is working code • Rank issues, always work in order of priority, resist the urge to do the easy things first jtrimble2@gmail.com Thursday, September 27, 12
  • 19.
    Lessons • Minimize documentation, maximize customer interaction with the team and the product • Keep the state of the product visible always jtrimble2@gmail.com Thursday, September 27, 12