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
16. Design Sessions
• Task flows
• Common mental
model
• Task objects
• UI Objects
jtrimble2@gmail.com
Thursday, September 27, 12
17. 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
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