SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
User Centered Agile Dev
at NASA - One Groups
Path to Better Software
Jay Trimble
NASA Ames Research Center
!

For Balanced Team
11-3-13
My Background
• Missions	


• NASA Johnson Space Center, Houston	

• Shuttle Mission Control, Payloads	


• Jet Propulsion Lab	


Space Radar Lab-1 Ops Director

• Robotic - Voyager Neptune	

• Shuttle - Space Radar Lab, Lead Ops Director	


•

Current	


• Mission Operations & Ground Data System
Manager, Resource Prospector Lunar Rover

Internship in Mission Control 	

(A long time ago)
My Background
• Software Technology	

• Human Centered

Computing for Mars
Rovers	


• Founded User Centered
Technology Group	


• User centered

technologies for mission
control
One Story of Agile at NASA
• This is a bottom up story of how a group at
NASA applied agile methods to software
development for mission control	


• This was approved, but not initiated by,
management
The Project
• Our task was to build an architecture for
mission control user applications, the
primary focus being on developing
interaction paradigms and technology for
user-composable software	

!

• See the results at https://github.com/nasa/mct
The Collaboration
• Design and Development Team at NASA
Ames	


• The Customer	

• Mission Control Users at NASA	

• Using Participatory Design, we created an
integrated team that included customer
representation
Issues and Mandates
• Some customers want a new product,
others do not	


• The product must have new capability, but
must also not be disruptive within the
organization	


• Functional and visual connection to
legacy product
The Journey	

• We began with a six month software
delivery cycle	


• By iteratively fixing issues, we got the
delivery cycle down to three weeks	


• It took close to two years to complete the
transition
Where we started
• Four sixmonth
deliverables	

• One User
Experience
Spec

Module 1

Subsystem1

Subsystem2

6 Months

Subsystem3

6 Months

Subsystem

6 Months

6 Months
Issues we faced
• Long delivery cycle	

• Difficult to manage feature prioritization and development, integration
and testing	

• Progress invisible to customer, lack of meaningful ongoing customer
interaction to drive design	

• Mismatch in expectations between design/dev team and customer	

• Difficult for the development team to know state of progress relative
to goals	

• Deliveries focus on subsystems rather than meaningful end user
functionality	

• Two-year final deliverable created a tendency to defer key issues
Initiating Internal Change
• 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
First Step - Six Week
Cycle
• We took the six
month cycle and
divided it into
smaller pieces	

• This was a start,
but still left many
issues

It 1

It 2

It 3

It 4

6
6
6
6
Weeks Weeks Weeks Weeks

It x
Incremental Improvements
• Six week delivery cycle
• Prioritization of work at the start of each sixweek 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
Six Week Cycle
Demo new features
for QA
UE Specification
Rls
Docs

Stack
Rank
PreStack
Rank 1

PreStack
Rank 2

UE
Spec

Pre-Ship
Review,
exit critera,
customer demo

Eng design &
spec (3 days)

Code (3.5 weeks)

Demo

Test (2 weeks)

PS
Review

Deliver

DeBrief

Kickoff

UE Testing Iteration n-1 (delivered s/w)
UE Design/Testing Iteration n+1 (paper)
Develop Test Plan

JIRA Updates/Priorities
Coding/UE Spec Revisions/Daily Acceptance Test
Iteration n-1

Iteration n

Iteration n+1
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
Next Steps
• Identify the issues	

• After each iteration we had a team de-brief where we identified
issues and discussed fixes	

• Fixing the issues, one step at a time	

• Some issues we fixed with policy changes based on team de-briefs	

• Many of the changes were bottom up within the team, such as 	

• Daily communication between user experience designers and
the customer as new features rolled out and QA testing of
features on rollout, 	

• Some changes were top down, such as the length of an iteration
(or sprint) and the release cycle
Agile
• We shortened the cycle to three weeks	

• Replaced discrete events, with integrated interactions	

• Integrated strategic and tactical into our ranking process	

• Each iteration had clear purpose, goals, ranked priorities	

• Daily Build, Iterations, Release	

• Strategic road map
Designing with the Users
•

Participatory Design &
Analysis

•

Customers are part of the
design team

•

Designers facilitate,
customers are the domain
experts

•

Shared ownership
Design Artifacts
•

Triggers/Results

•

Really big picture

•

Big Picture

•

Task Flows
•

Blue sky

•

Real world
Design Artifacts

•

Task Objects

•

User Objects

•

Windows
Agile Cycle
• Nightly Build	

• Iteration
delivered
every 3
weeks	

• Release
every 3
months

Release to Mission
Control User Test
Community

Release to Mission
Control User Test
Community

Release to Mission
Control User Test
Community

Release to Mission
Control Ops

Release n
Iteration 1

Iteration 2

3 Weeks

Iteration 3

6 Weeks

Iteration 4

9 Weeks

12 Weeks

jtrimble2@gmail.com
jay.p.trimble@nasa.gov
The Three-Week Cycle
Agile Development Iteration
Feature
Freeze
(-7 days)

Optional Mid-Iteration
Hackathon tests big
features

Priorities/JIRA
Rankings

Code Freeze
(-3 days)
Pre-Ship
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
Customer

Customer
installs
iteration n-1

Test

Customer
acceptance test

User Feedback

Customer verification
of closed JIRA issues

Feature mods/additions,
bug fixes

Customer triages
issues it discovered

Optionally, hot
patch
Iteration n+1
The Release Cycle
Agile Release Into Operations
Release to Mission
Control User test
Community

Release to Mission
Control User test
Community

Release to Mission
Control User test
Community

Customer Feature
Verification

Customer Feature
Verification

Customer Feature
Verification

Iteration 1

Iteration 2

Release to Customer
for Mission Control
Certification

Iteration 4 Bugs/
Usability/More Testing

Iteration 3

Release

3 Weeks

6 Weeks

9 Weeks

Coding/UE Specs
Issue Tracking Updates/Priorities/Rankings
Build/Internal testing as features roll out

12 Weeks
Strategic Road Map
The Team
Traditional

Agile 1

Agile 2*

Developers 5-9

Developers 7

Developers 4

User Experience
Design (2)

User Experience
Design (2)

User Experience
Design (1)

QA/Process
Engineers (2)

QA/Process
Engineers (2)

QA (.5)

Project Manager (1)

Project Manager (1)

Developers rotate
PM role

Principle Investigator
(Part Time)

Principle Investigator Principle Investigator
(Part Time)
(Part Time)

Interns

Interns

Interns

*Reduced Budget
Focus
• Work on issues in order of priority
• Easier said than done
• JIRA/Greenhopper for issue tracking and
ranking
• Developers should know what their priorities are
• Priorities should be achievable
• Don’t over-manage ranking, or over-assign
Where are we?
• There is one, and only one measurement of
progress and that is working

code

• Replace presentations, code line counts and
other management metrics with the nightly build
• For progress relative to strategic and tactical
situation see issue tracking system (we use
JIRA)
Testing
• Internal QA tests features as they roll out
• Our customer tested features daily to provide
feedback
• Our customer used iteration deliveries and
releases for final feature verification
• “Hackathons” tested scaleability in a lab
environment
Some Lessons Learned
• The train leaves the station on time
• A feature that misses one train just gets on
the next one
• This requires frequent departures
• Do not ever delay a shipment unless the
software does not work
It Takes Time
• Our journey was driven by need, i.e. we
addressed issues as they came up, rather
than being driven by a formal methodology
• We iteratively refined our methods over two
years
Lessons Summary
• The measure of progress is working code	

• Work on highest priorities first, avoid the temptation to do the
easier things first	

• Demonstrations, not presentations	

• Customer interaction over extensive documentation	

• Progress always visible, nightly build available	

• The train leaves the station on time, only working features ship	

• Do not delay shipment for features - if a feature is not
ready it goes into the next iteration
!

Conclusion
• There is no one right way to do agile
• Fit and evolve the solution to your
context of work

Mais conteúdo relacionado

Mais procurados

Pactical case of Atlassian Tools implementation
Pactical case of Atlassian Tools implementation Pactical case of Atlassian Tools implementation
Pactical case of Atlassian Tools implementation Yuriy Kudin
 
Scaling Agile at Dell: Real-life Problems - and Solutions
Scaling Agile at Dell: Real-life Problems - and SolutionsScaling Agile at Dell: Real-life Problems - and Solutions
Scaling Agile at Dell: Real-life Problems - and SolutionsTechWell
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategytharindakasun
 
Software Project Management (lecture 3)
Software Project Management (lecture 3)Software Project Management (lecture 3)
Software Project Management (lecture 3)Syed Muhammad Hammad
 
The challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automationThe challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automationDBmaestro - Database DevOps
 
Extreme programming (xp) | David Tzemach
Extreme programming (xp) | David TzemachExtreme programming (xp) | David Tzemach
Extreme programming (xp) | David TzemachDavid Tzemach
 
Agile + Benefits + Transition Nov 2009
Agile + Benefits + Transition   Nov 2009Agile + Benefits + Transition   Nov 2009
Agile + Benefits + Transition Nov 2009Michael Sahota
 
SW development process and the leading indicator
SW development process and the leading indicatorSW development process and the leading indicator
SW development process and the leading indicatorJean Pаoli
 
HKG15-904: Scrum and Kanban 101
HKG15-904: Scrum and Kanban 101HKG15-904: Scrum and Kanban 101
HKG15-904: Scrum and Kanban 101Linaro
 
What are IBM Rational's CLM products
What are IBM Rational's CLM productsWhat are IBM Rational's CLM products
What are IBM Rational's CLM productsShawn Doyle
 
Beit 381 se lec 3 - 46 - 12 feb14 - sd needs teams to develop intro
Beit 381 se lec 3 - 46  - 12 feb14 - sd needs teams to develop introBeit 381 se lec 3 - 46  - 12 feb14 - sd needs teams to develop intro
Beit 381 se lec 3 - 46 - 12 feb14 - sd needs teams to develop introbabak danyal
 
Software Project Management (lecture 4)
Software Project Management (lecture 4)Software Project Management (lecture 4)
Software Project Management (lecture 4)Syed Muhammad Hammad
 
From Dev and Ops to DevOps - reconfiguring the plane in flight.
From Dev and Ops to DevOps - reconfiguring the plane in flight. From Dev and Ops to DevOps - reconfiguring the plane in flight.
From Dev and Ops to DevOps - reconfiguring the plane in flight. Mike Wessling
 
Server refresh program
Server refresh programServer refresh program
Server refresh programTal Aviv
 
Agile Project Management for PMP's
Agile Project Management for PMP'sAgile Project Management for PMP's
Agile Project Management for PMP'sVersionOne
 

Mais procurados (20)

Pactical case of Atlassian Tools implementation
Pactical case of Atlassian Tools implementation Pactical case of Atlassian Tools implementation
Pactical case of Atlassian Tools implementation
 
Scaling Agile at Dell: Real-life Problems - and Solutions
Scaling Agile at Dell: Real-life Problems - and SolutionsScaling Agile at Dell: Real-life Problems - and Solutions
Scaling Agile at Dell: Real-life Problems - and Solutions
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategy
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
Agile engineering practices
Agile engineering practicesAgile engineering practices
Agile engineering practices
 
Software Project Management (lecture 3)
Software Project Management (lecture 3)Software Project Management (lecture 3)
Software Project Management (lecture 3)
 
The challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automationThe challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automation
 
Extreme programming (xp) | David Tzemach
Extreme programming (xp) | David TzemachExtreme programming (xp) | David Tzemach
Extreme programming (xp) | David Tzemach
 
Agile + Benefits + Transition Nov 2009
Agile + Benefits + Transition   Nov 2009Agile + Benefits + Transition   Nov 2009
Agile + Benefits + Transition Nov 2009
 
SW development process and the leading indicator
SW development process and the leading indicatorSW development process and the leading indicator
SW development process and the leading indicator
 
HKG15-904: Scrum and Kanban 101
HKG15-904: Scrum and Kanban 101HKG15-904: Scrum and Kanban 101
HKG15-904: Scrum and Kanban 101
 
Scrum and TFS
Scrum and TFSScrum and TFS
Scrum and TFS
 
The Agile Movement
The Agile MovementThe Agile Movement
The Agile Movement
 
What are IBM Rational's CLM products
What are IBM Rational's CLM productsWhat are IBM Rational's CLM products
What are IBM Rational's CLM products
 
Beit 381 se lec 3 - 46 - 12 feb14 - sd needs teams to develop intro
Beit 381 se lec 3 - 46  - 12 feb14 - sd needs teams to develop introBeit 381 se lec 3 - 46  - 12 feb14 - sd needs teams to develop intro
Beit 381 se lec 3 - 46 - 12 feb14 - sd needs teams to develop intro
 
RUP model
RUP modelRUP model
RUP model
 
Software Project Management (lecture 4)
Software Project Management (lecture 4)Software Project Management (lecture 4)
Software Project Management (lecture 4)
 
From Dev and Ops to DevOps - reconfiguring the plane in flight.
From Dev and Ops to DevOps - reconfiguring the plane in flight. From Dev and Ops to DevOps - reconfiguring the plane in flight.
From Dev and Ops to DevOps - reconfiguring the plane in flight.
 
Server refresh program
Server refresh programServer refresh program
Server refresh program
 
Agile Project Management for PMP's
Agile Project Management for PMP'sAgile Project Management for PMP's
Agile Project Management for PMP's
 

Destaque

The Audience Agency: our work with young people and cultural organisations
The Audience Agency: our work with young people and cultural organisationsThe Audience Agency: our work with young people and cultural organisations
The Audience Agency: our work with young people and cultural organisationsTAA_helen
 
Creativity works young carers project
Creativity works  young carers projectCreativity works  young carers project
Creativity works young carers projectTAA_helen
 
Rising Green at the 2012 Massachusetts Green Careers Conference
Rising Green at the 2012 Massachusetts Green Careers ConferenceRising Green at the 2012 Massachusetts Green Careers Conference
Rising Green at the 2012 Massachusetts Green Careers ConferenceAdrian Dahlin
 
Nervous system
Nervous systemNervous system
Nervous systemjlambert10
 
Hyperactive children magazine
Hyperactive children magazineHyperactive children magazine
Hyperactive children magazinehintiperez19
 
User Centered Technology Group Overview
User Centered Technology Group OverviewUser Centered Technology Group Overview
User Centered Technology Group OverviewJay Trimble
 

Destaque (9)

The Audience Agency: our work with young people and cultural organisations
The Audience Agency: our work with young people and cultural organisationsThe Audience Agency: our work with young people and cultural organisations
The Audience Agency: our work with young people and cultural organisations
 
Creativity works young carers project
Creativity works  young carers projectCreativity works  young carers project
Creativity works young carers project
 
Rising Green at the 2012 Massachusetts Green Careers Conference
Rising Green at the 2012 Massachusetts Green Careers ConferenceRising Green at the 2012 Massachusetts Green Careers Conference
Rising Green at the 2012 Massachusetts Green Careers Conference
 
Nervous system
Nervous systemNervous system
Nervous system
 
Ch. 6present
Ch. 6presentCh. 6present
Ch. 6present
 
Hyperactive children magazine
Hyperactive children magazineHyperactive children magazine
Hyperactive children magazine
 
Italian kitchen
Italian kitchenItalian kitchen
Italian kitchen
 
User Centered Technology Group Overview
User Centered Technology Group OverviewUser Centered Technology Group Overview
User Centered Technology Group Overview
 
Blogs 2ºeso
Blogs 2ºesoBlogs 2ºeso
Blogs 2ºeso
 

Semelhante a User centered agile dev balanced team 2013

Agile software development
Agile software developmentAgile software development
Agile software developmentSiddharth Sharma
 
Emptying Your Cup an Agile Primer
Emptying Your Cup an Agile Primer Emptying Your Cup an Agile Primer
Emptying Your Cup an Agile Primer Todd Shelton
 
Visualisation&agile practices ai2014
Visualisation&agile practices ai2014Visualisation&agile practices ai2014
Visualisation&agile practices ai2014Balaji Muniraja
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptxAmna Ch
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzAhmadSajjad34
 
UX Week 2007: CNN.com Relaunch Case Study
UX Week 2007: CNN.com Relaunch Case StudyUX Week 2007: CNN.com Relaunch Case Study
UX Week 2007: CNN.com Relaunch Case StudyAdaptive Path
 
Project Life Cycle and Effort Estimation
Project Life Cycle andEffort EstimationProject Life Cycle andEffort Estimation
Project Life Cycle and Effort Estimationssuserb7c8b8
 
Applying both of waterfall and iterative development
Applying both of waterfall and iterative developmentApplying both of waterfall and iterative development
Applying both of waterfall and iterative developmentDeny Prasetia
 
Real world experience from Microsoft - Deniz Ercoskun
Real world experience from Microsoft - Deniz ErcoskunReal world experience from Microsoft - Deniz Ercoskun
Real world experience from Microsoft - Deniz ErcoskunAgileSparks
 

Semelhante a User centered agile dev balanced team 2013 (20)

Agile software development
Agile software developmentAgile software development
Agile software development
 
Agile mODEL
Agile mODELAgile mODEL
Agile mODEL
 
Emptying Your Cup an Agile Primer
Emptying Your Cup an Agile Primer Emptying Your Cup an Agile Primer
Emptying Your Cup an Agile Primer
 
Effective Scrum
Effective ScrumEffective Scrum
Effective Scrum
 
Visualisation&agile practices ai2014
Visualisation&agile practices ai2014Visualisation&agile practices ai2014
Visualisation&agile practices ai2014
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptx
 
Manual Software testing - software development life cycle
Manual Software testing - software development life cycleManual Software testing - software development life cycle
Manual Software testing - software development life cycle
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
 
UX Week 2007: CNN.com Relaunch Case Study
UX Week 2007: CNN.com Relaunch Case StudyUX Week 2007: CNN.com Relaunch Case Study
UX Week 2007: CNN.com Relaunch Case Study
 
The Agile Mindset
The Agile MindsetThe Agile Mindset
The Agile Mindset
 
QA Best Practices in Agile World_new
QA Best Practices in Agile World_newQA Best Practices in Agile World_new
QA Best Practices in Agile World_new
 
Adamson "Blueprint for Managing Your Project"
Adamson "Blueprint for Managing Your Project"Adamson "Blueprint for Managing Your Project"
Adamson "Blueprint for Managing Your Project"
 
Project Life Cycle and Effort Estimation
Project Life Cycle andEffort EstimationProject Life Cycle andEffort Estimation
Project Life Cycle and Effort Estimation
 
Applying both of waterfall and iterative development
Applying both of waterfall and iterative developmentApplying both of waterfall and iterative development
Applying both of waterfall and iterative development
 
Requirements the Last Bottleneck
Requirements the Last BottleneckRequirements the Last Bottleneck
Requirements the Last Bottleneck
 
Becoming Lean
Becoming LeanBecoming Lean
Becoming Lean
 
Real world experience from Microsoft - Deniz Ercoskun
Real world experience from Microsoft - Deniz ErcoskunReal world experience from Microsoft - Deniz Ercoskun
Real world experience from Microsoft - Deniz Ercoskun
 
Ppt nardeep
Ppt nardeepPpt nardeep
Ppt nardeep
 
Scrum, A Brief Introduction
Scrum, A Brief IntroductionScrum, A Brief Introduction
Scrum, A Brief Introduction
 
what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
 

Último

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 

Último (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 

User centered agile dev balanced team 2013

  • 1. User Centered Agile Dev at NASA - One Groups Path to Better Software Jay Trimble NASA Ames Research Center ! For Balanced Team 11-3-13
  • 2.
  • 3. My Background • Missions • NASA Johnson Space Center, Houston • Shuttle Mission Control, Payloads • Jet Propulsion Lab Space Radar Lab-1 Ops Director • Robotic - Voyager Neptune • Shuttle - Space Radar Lab, Lead Ops Director • Current • Mission Operations & Ground Data System Manager, Resource Prospector Lunar Rover Internship in Mission Control (A long time ago)
  • 4. My Background • Software Technology • Human Centered Computing for Mars Rovers • Founded User Centered Technology Group • User centered technologies for mission control
  • 5. One Story of Agile at NASA • This is a bottom up story of how a group at NASA applied agile methods to software development for mission control • This was approved, but not initiated by, management
  • 6. The Project • Our task was to build an architecture for mission control user applications, the primary focus being on developing interaction paradigms and technology for user-composable software ! • See the results at https://github.com/nasa/mct
  • 7. The Collaboration • Design and Development Team at NASA Ames • The Customer • Mission Control Users at NASA • Using Participatory Design, we created an integrated team that included customer representation
  • 8. Issues and Mandates • Some customers want a new product, others do not • The product must have new capability, but must also not be disruptive within the organization • Functional and visual connection to legacy product
  • 9. The Journey • We began with a six month software delivery cycle • By iteratively fixing issues, we got the delivery cycle down to three weeks • It took close to two years to complete the transition
  • 10. Where we started • Four sixmonth deliverables • One User Experience Spec Module 1 Subsystem1 Subsystem2 6 Months Subsystem3 6 Months Subsystem 6 Months 6 Months
  • 11. Issues we faced • Long delivery cycle • Difficult to manage feature prioritization and development, integration and testing • Progress invisible to customer, lack of meaningful ongoing customer interaction to drive design • Mismatch in expectations between design/dev team and customer • Difficult for the development team to know state of progress relative to goals • Deliveries focus on subsystems rather than meaningful end user functionality • Two-year final deliverable created a tendency to defer key issues
  • 12. Initiating Internal Change • 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
  • 13. First Step - Six Week Cycle • We took the six month cycle and divided it into smaller pieces • This was a start, but still left many issues It 1 It 2 It 3 It 4 6 6 6 6 Weeks Weeks Weeks Weeks It x
  • 14. Incremental Improvements • Six week delivery cycle • Prioritization of work at the start of each sixweek 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
  • 15. Six Week Cycle Demo new features for QA UE Specification Rls Docs Stack Rank PreStack Rank 1 PreStack Rank 2 UE Spec Pre-Ship Review, exit critera, customer demo Eng design & spec (3 days) Code (3.5 weeks) Demo Test (2 weeks) PS Review Deliver DeBrief Kickoff UE Testing Iteration n-1 (delivered s/w) UE Design/Testing Iteration n+1 (paper) Develop Test Plan JIRA Updates/Priorities Coding/UE Spec Revisions/Daily Acceptance Test Iteration n-1 Iteration n Iteration n+1
  • 16. 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
  • 17. Next Steps • Identify the issues • After each iteration we had a team de-brief where we identified issues and discussed fixes • Fixing the issues, one step at a time • Some issues we fixed with policy changes based on team de-briefs • Many of the changes were bottom up within the team, such as • Daily communication between user experience designers and the customer as new features rolled out and QA testing of features on rollout, • Some changes were top down, such as the length of an iteration (or sprint) and the release cycle
  • 18. Agile • We shortened the cycle to three weeks • Replaced discrete events, with integrated interactions • Integrated strategic and tactical into our ranking process • Each iteration had clear purpose, goals, ranked priorities • Daily Build, Iterations, Release • Strategic road map
  • 19. Designing with the Users • Participatory Design & Analysis • Customers are part of the design team • Designers facilitate, customers are the domain experts • Shared ownership
  • 20. Design Artifacts • Triggers/Results • Really big picture • Big Picture • Task Flows • Blue sky • Real world
  • 22. Agile Cycle • Nightly Build • Iteration delivered every 3 weeks • Release every 3 months Release to Mission Control User Test Community Release to Mission Control User Test Community Release to Mission Control User Test Community Release to Mission Control Ops Release n Iteration 1 Iteration 2 3 Weeks Iteration 3 6 Weeks Iteration 4 9 Weeks 12 Weeks jtrimble2@gmail.com jay.p.trimble@nasa.gov
  • 23. The Three-Week Cycle Agile Development Iteration Feature Freeze (-7 days) Optional Mid-Iteration Hackathon tests big features Priorities/JIRA Rankings Code Freeze (-3 days) Pre-Ship 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 Customer Customer installs iteration n-1 Test Customer acceptance test User Feedback Customer verification of closed JIRA issues Feature mods/additions, bug fixes Customer triages issues it discovered Optionally, hot patch Iteration n+1
  • 24. The Release Cycle Agile Release Into Operations Release to Mission Control User test Community Release to Mission Control User test Community Release to Mission Control User test Community Customer Feature Verification Customer Feature Verification Customer Feature Verification Iteration 1 Iteration 2 Release to Customer for Mission Control Certification Iteration 4 Bugs/ Usability/More Testing Iteration 3 Release 3 Weeks 6 Weeks 9 Weeks Coding/UE Specs Issue Tracking Updates/Priorities/Rankings Build/Internal testing as features roll out 12 Weeks
  • 26. The Team Traditional Agile 1 Agile 2* Developers 5-9 Developers 7 Developers 4 User Experience Design (2) User Experience Design (2) User Experience Design (1) QA/Process Engineers (2) QA/Process Engineers (2) QA (.5) Project Manager (1) Project Manager (1) Developers rotate PM role Principle Investigator (Part Time) Principle Investigator Principle Investigator (Part Time) (Part Time) Interns Interns Interns *Reduced Budget
  • 27. Focus • Work on issues in order of priority • Easier said than done • JIRA/Greenhopper for issue tracking and ranking • Developers should know what their priorities are • Priorities should be achievable • Don’t over-manage ranking, or over-assign
  • 28. Where are we? • There is one, and only one measurement of progress and that is working code • Replace presentations, code line counts and other management metrics with the nightly build • For progress relative to strategic and tactical situation see issue tracking system (we use JIRA)
  • 29. Testing • Internal QA tests features as they roll out • Our customer tested features daily to provide feedback • Our customer used iteration deliveries and releases for final feature verification • “Hackathons” tested scaleability in a lab environment
  • 30. Some Lessons Learned • The train leaves the station on time • A feature that misses one train just gets on the next one • This requires frequent departures • Do not ever delay a shipment unless the software does not work
  • 31. It Takes Time • Our journey was driven by need, i.e. we addressed issues as they came up, rather than being driven by a formal methodology • We iteratively refined our methods over two years
  • 32. Lessons Summary • The measure of progress is working code • Work on highest priorities first, avoid the temptation to do the easier things first • Demonstrations, not presentations • Customer interaction over extensive documentation • Progress always visible, nightly build available • The train leaves the station on time, only working features ship • Do not delay shipment for features - if a feature is not ready it goes into the next iteration
  • 33. ! Conclusion • There is no one right way to do agile • Fit and evolve the solution to your context of work