SlideShare una empresa de Scribd logo
1 de 36
1
CONFIDENTIAL – Not to be distributed
What do making cars and writing software
have in common?
February 11, 2014
Tim Dybvig
Director, Product Management
2
CONFIDENTIAL – Not to be distributed
What do making cars and writing software have in common?
• What is Agile?
• Manifesto for Agile Software Development
• An unlikely history: cars and supermarkets
• Becoming agile: Toyota Production System
• What do making cars and writing software have in common?
• A note about output: how to measure software
• Agile at PayPerks
• How can you use Agile?
3
What is Agile?
4
What is Agile?
• The old way: Waterfall methodology
weeks / months / years
5
What is Agile?
• The new way: Agile development
6
What is Agile?
• The Agile movement came about in the mid 1990s as a reaction to
waterfall and older, ineffective methods
• Several versions and names over the years:
• Unified Process
• SCRUM
• XP (Extreme Programming)
• Adaptive Software Development
• Feature Driven Development
• February 2001 in Snowbird, Utah: 17 notable software developers
gather to create: Manifest for Agile Software Development
• Principles and guidelines; not prescribed process
7
http://agilemanifesto.org/
8
An unlikely history: cars and
supermarkets
9
An unlikely history: cars and supermarkets
“Catch up with America in three years. Otherwise, the
automobile industry of Japan will not survive.”
- Kiichiro Toyoda, President of Toyota Motor Company, 1945
10
An unlikely history: cars and supermarkets
• Early automobile manufacturing: “mass production” by Henry Ford, in 1913
• efficiency of batch production by way of standardization (no more colors!)
• Taiichi Ohno was a plant manager, decided to improve Toyota process
• Inspired by a visit to US supermarkets in the 1950s
• He noticed a supermarket customer gets:
• What is needed
• At the time it’s needed
• In the amount needed
• Became obsessed with “just in time” delivery
• Only make what is needed, when it’s needed
• Decrease waste
• Lower cost
• Increase meaningful output
• The result?
• Toyota Production System (…..after many, many years of trying!)
11
Becoming agile: Toyota Production
System
12
Becoming agile: Toyota Production System
“Just in time”
13
How did Taiichi Ohno implement “just in
time” manufacturing at Toyota?
A: 15 years of continuous improvement
Becoming agile: Toyota Production System
14
Becoming agile: Toyota Production System
Flow & Management by sight
• Machines are moved to accommodate actual workflow
• Floor managers in factories should be able to clearly see all processes
• Allows for easy spotting of blockages and interruptions
Orders made using Kanban (“sign board”) cards
• Piece of paper with order information, travels with the requested parts
• "simple and direct form of communication always located at the point where it
is needed"
15
Becoming agile: Toyota Production System
Cross functional workers
• “many skilled” workers
• workers learn how to operate many machines, not just one type
Small lot sizes, and quick setups
• New part setup can be performed in minutes, not hours
Production leveling
• Break down monthly production levels into weekly, monthly pieces
• Prevents waste and burnout
16
Becoming agile: Toyota Production System
Elimination of waste
• reduce repetitive work
• reduce over-production: stop making what is not needed
Five “why”s
• Ask why five times to get to the root cause of a problem
• "5 why's equal one how”
Kaizen: continuous improvement
• Iterative improvements over time as the production process changes
17
So….
What do making cars and writing
software have in common?
18
What do making cars and writing software have in common?
Making cars Writing software
Old way
“Mass production”
• efficiency of scaled processing
• highly standardized
• lack of variation and options
• “push” system based on static
assumptions: make as many cars
as possible
“Waterfall planning”
• performed in discrete, batch phases
• projects last months or years
• poor communication between phases
• also based on very static view of the
world – business requirements often
out of date by release
New way
“Toyota Production System”
• “just in time” delivery of cars
• allows for flexibility of products
• constantly changes and evolves
• “pull” system based on actual
customer requirements
“Agile development”
• “just in time” delivery of software
• software is delivered in days/weeks
• flexible and iterative
• creates a system that allows for
constantly changing business and
customer priorities
19
What do making cars and writing software have in common?
Flow & Management by sight
• Machines are moved to accommodate actual workflow
• Floor managers in factories should be able to clearly see all processes
• Allows for easy spotting of blockages and interruptions
Orders made using Kanban (“sign board”) cards
• Piece of paper with order information, travels with the requested parts
• "simple and direct form of communication always located at the point where it
is needed"
“Kanban board” showing all development work in progress
• Each story, bug or chore is written up on its own index card
• A card has the story title, lookup ID, and points (if a feature)
• As the development work moves through the process (backlog, in process, in
QA, delivered), the cards are moved across the board
• Allows us to clearly see blockages, backups and interruptions in our process
20
What do making cars and writing software have in common?
Cross functional workers
• “many skilled” workers
• workers learn how to operate many machines, not just one type
Small lot sizes, and quick setups
• New part setup can be performed in minutes, not hours
Production leveling
• Break down monthly production levels into weekly, monthly pieces
• Prevents waste and burnout
Common Agile practices:
• cross functional, self organizing teams
• break down features and products into smallest working pieces for delivery
• create and maintain a consistent “velocity” that allows for a better business
planning with a sustainable pace of work
21
What do making cars and writing software have in common?
Elimination of waste
• reduce repetitive work
• reduce over-production: stop making what is not needed
• produce less defective parts
Five “why”s
• Ask why five times to get to the root cause of a problem
• "5 why's equal one how”
Kaizen: continuous improvement
• Iterative improvements over time as the production process changes
Common Agile practices:
• Constant refactoring and DRY (“don’t repeat yourself”), eliminate code waste
• Continuous integration and full test coverage
• Dedicated QA teams focused on high quality output
• Regular retrospectives and showcases to improve the team and process
22
A note about output: how to
measure software
23
A note about output: how to measure software
It’s easy to see how many cars you just made, but
how do we measure the “output” in software?
A: Points
24
A note about output: how to measure software
Points
• An estimation of complexity, not time, assigned to each feature
• People are bad at estimating, but we’re at least consistent
• Points assigned to user-facing features that create business value
Velocity
• The number of points a team can deliver in an iteration
• Used for business and sprint planning
• Thermometer for team health: if velocity drops, something is wrong
• While not a perfectly scientific system, it gives a sense of "yesterday's weather”
25
Agile at PayPerks
26
Agile at PayPerks
27
Agile at PayPerks: Week-long Sprints
• One week sprints, with weekly deploys
• Initially tried two week sprints, but the bi-weekly rhythm was inconsistent
• Kanban board on the wall with index cards for all stories in progress
• Features = yellow
• Bugs = red
• Chores / tech debt = blue
• Use post-its on cards when a story is blocked
• Daily stand ups
• PayPerks + Arbisoft team on Google Hangout
• PayPerks team around the kanban board
• Other best practices:
• pairing and cross functional teams
• Constantly evaluate new tools for use (Boxen, Vagrant, Fabric, etc)
Daily stand up
28
Agile at PayPerks: Weekly Sprint Meetings
• Pokering
• Assigning point values to features in the backlog as a group
• Using playing cards in a Fibonacci sequence (1, 2, 3, 5, 8)
• Everyone shows their guess, group discusses to reach consensus
• Retrospective
• Write up post-it notes for what went well, and what didn’t
• Green = good; red = bad
• Group the red post-its, and choose one “theme” to improve in the next sprint
• Showcase
• Present the features that were completed that iteration to the business
• Sprint planning
• Review the backlog for the next iteration
• Make sure the team is comfortable committing to the work
29
Agile at PayPerks: Development Tools
• Stack: Python/Django, PostgreSQL, Gunicorn, Nginx, AWS (Amazon Web Services)
• Dev IDE: PyCharm
• CI Server: TeamCity
• 4 cloud-based agents that run entire test suite in a few minutes
• Integrates with PyCharm for ease of debugging broken tests, testing local
builds, etc
• Code Repo: GitHub
• Planning: PivotalTracker & Physical Kanban board
• User stories, requirements and sprint planning
• Integrated with GitHub, so all Git commits are linked to each story
• Stories are written by the product team, reviewed and pokered by
engineering
• “vertically sliced” stories and features
• Comms:
• HipChat to promote constant communication, even when remote
• Google Hangouts
30
Agile at PayPerks: PivotalTracker
High level story info
- Title
- ID / link
- points
- status
- requester / owner
Story details
- use cases
- business requirements
- acceptance criteria
Commits and comments
- all Git commits
- comments, questions,
clarifications
31
Agile at PayPerks: PivotalTracker
Velocity
Automatically groups sprints based on
the team velocity, and point value of
stories; makes sprint planning very easy
Stories ready for QA
Work in progress Work not yet started
Hash marks are
point values of
each story
32
Agile at PayPerks: Kanban boards
33
Agile at PayPerks: Kanban boards
34
Agile at PayPerks: Kanban boards
35
How can you use Agile?
36
How can you use Agile?
However it works for you!
Try our process to see if it works for you. If it doesn’t, change
it until you find something that does.
“At regular intervals, the team reflects on how to become more effective, then tunes
and adjusts its behavior accordingly.”
- 12th (and final) Principle of the Agile Manifesto

Más contenido relacionado

La actualidad más candente

SharePoint and the Lean Enterprise
SharePoint and the Lean EnterpriseSharePoint and the Lean Enterprise
SharePoint and the Lean EnterpriseDave Healey
 
Post-agile approaches - agile for the real world and how to avoid agile failure
Post-agile approaches - agile for the real world and how to avoid agile failurePost-agile approaches - agile for the real world and how to avoid agile failure
Post-agile approaches - agile for the real world and how to avoid agile failureYuval Yeret
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersSPC Adriatics
 
Kanban introduction
Kanban introductionKanban introduction
Kanban introductionTomas Rybing
 
Rethinking Your DevOps Strategy
Rethinking Your DevOps StrategyRethinking Your DevOps Strategy
Rethinking Your DevOps StrategyMandi Walls
 
Qa test managed_code_varhol
Qa test managed_code_varholQa test managed_code_varhol
Qa test managed_code_varholPeter Varhol
 
W4 0245 agility_v1
W4 0245 agility_v1W4 0245 agility_v1
W4 0245 agility_v1colleenfry
 
Scaling Agile in the Enterprise
Scaling Agile in the EnterpriseScaling Agile in the Enterprise
Scaling Agile in the Enterprisecolleenfry
 
CD Roadmap Series Part 1 - From Firefighting to Faster Feature Delivery
CD Roadmap Series Part 1 - From Firefighting to Faster Feature DeliveryCD Roadmap Series Part 1 - From Firefighting to Faster Feature Delivery
CD Roadmap Series Part 1 - From Firefighting to Faster Feature DeliveryXebiaLabs
 
Collaboration for Executives
Collaboration for ExecutivesCollaboration for Executives
Collaboration for Executivescolleenfry
 
Dashlane Triple Track
Dashlane Triple TrackDashlane Triple Track
Dashlane Triple TrackDashlane
 
Migration to Flows – Getting it Right!
Migration to Flows – Getting it Right!Migration to Flows – Getting it Right!
Migration to Flows – Getting it Right!panayaofficial
 
How figaf help your business with SAP PI/PO/CPI
How figaf help your business with SAP PI/PO/CPIHow figaf help your business with SAP PI/PO/CPI
How figaf help your business with SAP PI/PO/CPIDaniel Graversen
 
Transitioning to Kanban: From Theory to Practice
Transitioning to Kanban: From Theory to PracticeTransitioning to Kanban: From Theory to Practice
Transitioning to Kanban: From Theory to PracticeTechWell
 
Htf2014 managing share point projects with agile and tfs andy
Htf2014 managing share point projects with agile and tfs   andyHtf2014 managing share point projects with agile and tfs   andy
Htf2014 managing share point projects with agile and tfs andySparkhound Inc.
 
Scaling Atlassian for the Enterprise
Scaling Atlassian for the EnterpriseScaling Atlassian for the Enterprise
Scaling Atlassian for the EnterpriseCprime
 
Cédric Vidal from Quicksign: Building a digital on-boarding microservices pla...
Cédric Vidal from Quicksign: Building a digital on-boarding microservices pla...Cédric Vidal from Quicksign: Building a digital on-boarding microservices pla...
Cédric Vidal from Quicksign: Building a digital on-boarding microservices pla...camunda services GmbH
 
Scheduled releases @ Commit Porto 2016
Scheduled releases @ Commit Porto 2016Scheduled releases @ Commit Porto 2016
Scheduled releases @ Commit Porto 2016Fábio Oliveira
 

La actualidad más candente (20)

SharePoint and the Lean Enterprise
SharePoint and the Lean EnterpriseSharePoint and the Lean Enterprise
SharePoint and the Lean Enterprise
 
Post-agile approaches - agile for the real world and how to avoid agile failure
Post-agile approaches - agile for the real world and how to avoid agile failurePost-agile approaches - agile for the real world and how to avoid agile failure
Post-agile approaches - agile for the real world and how to avoid agile failure
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill Ayers
 
Kanban introduction
Kanban introductionKanban introduction
Kanban introduction
 
The Agile Mindset
The Agile MindsetThe Agile Mindset
The Agile Mindset
 
Rethinking Your DevOps Strategy
Rethinking Your DevOps StrategyRethinking Your DevOps Strategy
Rethinking Your DevOps Strategy
 
Qa test managed_code_varhol
Qa test managed_code_varholQa test managed_code_varhol
Qa test managed_code_varhol
 
W4 0245 agility_v1
W4 0245 agility_v1W4 0245 agility_v1
W4 0245 agility_v1
 
Scaling Agile in the Enterprise
Scaling Agile in the EnterpriseScaling Agile in the Enterprise
Scaling Agile in the Enterprise
 
Afganistan Culture Shock
Afganistan Culture ShockAfganistan Culture Shock
Afganistan Culture Shock
 
CD Roadmap Series Part 1 - From Firefighting to Faster Feature Delivery
CD Roadmap Series Part 1 - From Firefighting to Faster Feature DeliveryCD Roadmap Series Part 1 - From Firefighting to Faster Feature Delivery
CD Roadmap Series Part 1 - From Firefighting to Faster Feature Delivery
 
Collaboration for Executives
Collaboration for ExecutivesCollaboration for Executives
Collaboration for Executives
 
Dashlane Triple Track
Dashlane Triple TrackDashlane Triple Track
Dashlane Triple Track
 
Migration to Flows – Getting it Right!
Migration to Flows – Getting it Right!Migration to Flows – Getting it Right!
Migration to Flows – Getting it Right!
 
How figaf help your business with SAP PI/PO/CPI
How figaf help your business with SAP PI/PO/CPIHow figaf help your business with SAP PI/PO/CPI
How figaf help your business with SAP PI/PO/CPI
 
Transitioning to Kanban: From Theory to Practice
Transitioning to Kanban: From Theory to PracticeTransitioning to Kanban: From Theory to Practice
Transitioning to Kanban: From Theory to Practice
 
Htf2014 managing share point projects with agile and tfs andy
Htf2014 managing share point projects with agile and tfs   andyHtf2014 managing share point projects with agile and tfs   andy
Htf2014 managing share point projects with agile and tfs andy
 
Scaling Atlassian for the Enterprise
Scaling Atlassian for the EnterpriseScaling Atlassian for the Enterprise
Scaling Atlassian for the Enterprise
 
Cédric Vidal from Quicksign: Building a digital on-boarding microservices pla...
Cédric Vidal from Quicksign: Building a digital on-boarding microservices pla...Cédric Vidal from Quicksign: Building a digital on-boarding microservices pla...
Cédric Vidal from Quicksign: Building a digital on-boarding microservices pla...
 
Scheduled releases @ Commit Porto 2016
Scheduled releases @ Commit Porto 2016Scheduled releases @ Commit Porto 2016
Scheduled releases @ Commit Porto 2016
 

Similar a What do making cars and writing software have in common?

Building environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOpsBuilding environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOpsRajnish Chauhan
 
GECon2017_ Lean_architecturemanagement_Andrei Kavaleu
GECon2017_ Lean_architecturemanagement_Andrei KavaleuGECon2017_ Lean_architecturemanagement_Andrei Kavaleu
GECon2017_ Lean_architecturemanagement_Andrei KavaleuGECon_Org Team
 
Kanban testing
Kanban testingKanban testing
Kanban testingCprime
 
Agile and Lean Software Development
Agile and Lean Software DevelopmentAgile and Lean Software Development
Agile and Lean Software DevelopmentTathagat Varma
 
Stop manual testing: Take your weekends back!
Stop manual testing: Take your weekends back! Stop manual testing: Take your weekends back!
Stop manual testing: Take your weekends back! Worksoft
 
Fuel Good 2018: Upgrades Made Easy: The Canadian Museum of History
Fuel Good 2018: Upgrades Made Easy: The Canadian Museum of HistoryFuel Good 2018: Upgrades Made Easy: The Canadian Museum of History
Fuel Good 2018: Upgrades Made Easy: The Canadian Museum of HistorySparkrock
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareDevOps for Enterprise Systems
 
Five Ways to Fix Your SQL Server Dev-Test Problems
Five Ways to Fix Your SQL Server Dev-Test Problems Five Ways to Fix Your SQL Server Dev-Test Problems
Five Ways to Fix Your SQL Server Dev-Test Problems Catalogic Software
 
To successfully deliver your IT project: build your team, build your Agile it...
To successfully deliver your IT project: build your team, build your Agile it...To successfully deliver your IT project: build your team, build your Agile it...
To successfully deliver your IT project: build your team, build your Agile it...Jean-François Nguyen
 
Agile Overview Session
Agile Overview SessionAgile Overview Session
Agile Overview SessionBahaa Farouk
 
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...TriNimbus
 
How to maintain a perfect product architecture in a non-stop start-up
How to maintain a perfect product architecture in a non-stop start-upHow to maintain a perfect product architecture in a non-stop start-up
How to maintain a perfect product architecture in a non-stop start-upAdam Kariv
 
Ag02 agile practices - dnc14 handouts
Ag02   agile practices - dnc14 handoutsAg02   agile practices - dnc14 handouts
Ag02 agile practices - dnc14 handoutsDotNetCampus
 
Lean Manufacturing
Lean Manufacturing Lean Manufacturing
Lean Manufacturing Marico Ltd.
 
ContinuousDelivery-101
ContinuousDelivery-101ContinuousDelivery-101
ContinuousDelivery-101Kishore Bhatia
 
Continous Integration Webinar
Continous Integration WebinarContinous Integration Webinar
Continous Integration WebinarPaul Senatillaka
 

Similar a What do making cars and writing software have in common? (20)

Building environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOpsBuilding environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOps
 
GECon2017_ Lean_architecturemanagement_Andrei Kavaleu
GECon2017_ Lean_architecturemanagement_Andrei KavaleuGECon2017_ Lean_architecturemanagement_Andrei Kavaleu
GECon2017_ Lean_architecturemanagement_Andrei Kavaleu
 
Kanban testing
Kanban testingKanban testing
Kanban testing
 
Agile engineering practices
Agile engineering practicesAgile engineering practices
Agile engineering practices
 
Agile and Lean Software Development
Agile and Lean Software DevelopmentAgile and Lean Software Development
Agile and Lean Software Development
 
Stop manual testing: Take your weekends back!
Stop manual testing: Take your weekends back! Stop manual testing: Take your weekends back!
Stop manual testing: Take your weekends back!
 
Understanding Agile Development with Scrum
Understanding Agile Development with ScrumUnderstanding Agile Development with Scrum
Understanding Agile Development with Scrum
 
Fuel Good 2018: Upgrades Made Easy: The Canadian Museum of History
Fuel Good 2018: Upgrades Made Easy: The Canadian Museum of HistoryFuel Good 2018: Upgrades Made Easy: The Canadian Museum of History
Fuel Good 2018: Upgrades Made Easy: The Canadian Museum of History
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
 
Agile In Practice
Agile In PracticeAgile In Practice
Agile In Practice
 
Five Ways to Fix Your SQL Server Dev-Test Problems
Five Ways to Fix Your SQL Server Dev-Test Problems Five Ways to Fix Your SQL Server Dev-Test Problems
Five Ways to Fix Your SQL Server Dev-Test Problems
 
Key items for a digital enterprise
Key items for a digital enterpriseKey items for a digital enterprise
Key items for a digital enterprise
 
To successfully deliver your IT project: build your team, build your Agile it...
To successfully deliver your IT project: build your team, build your Agile it...To successfully deliver your IT project: build your team, build your Agile it...
To successfully deliver your IT project: build your team, build your Agile it...
 
Agile Overview Session
Agile Overview SessionAgile Overview Session
Agile Overview Session
 
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
 
How to maintain a perfect product architecture in a non-stop start-up
How to maintain a perfect product architecture in a non-stop start-upHow to maintain a perfect product architecture in a non-stop start-up
How to maintain a perfect product architecture in a non-stop start-up
 
Ag02 agile practices - dnc14 handouts
Ag02   agile practices - dnc14 handoutsAg02   agile practices - dnc14 handouts
Ag02 agile practices - dnc14 handouts
 
Lean Manufacturing
Lean Manufacturing Lean Manufacturing
Lean Manufacturing
 
ContinuousDelivery-101
ContinuousDelivery-101ContinuousDelivery-101
ContinuousDelivery-101
 
Continous Integration Webinar
Continous Integration WebinarContinous Integration Webinar
Continous Integration Webinar
 

Último

Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Excelmac1
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一Fs
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一Fs
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Sonam Pathan
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一Fs
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMartaLoveguard
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一Fs
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITMgdsc13
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Sonam Pathan
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 

Último (20)

Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptx
 
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITM
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 

What do making cars and writing software have in common?

  • 1. 1 CONFIDENTIAL – Not to be distributed What do making cars and writing software have in common? February 11, 2014 Tim Dybvig Director, Product Management
  • 2. 2 CONFIDENTIAL – Not to be distributed What do making cars and writing software have in common? • What is Agile? • Manifesto for Agile Software Development • An unlikely history: cars and supermarkets • Becoming agile: Toyota Production System • What do making cars and writing software have in common? • A note about output: how to measure software • Agile at PayPerks • How can you use Agile?
  • 4. 4 What is Agile? • The old way: Waterfall methodology weeks / months / years
  • 5. 5 What is Agile? • The new way: Agile development
  • 6. 6 What is Agile? • The Agile movement came about in the mid 1990s as a reaction to waterfall and older, ineffective methods • Several versions and names over the years: • Unified Process • SCRUM • XP (Extreme Programming) • Adaptive Software Development • Feature Driven Development • February 2001 in Snowbird, Utah: 17 notable software developers gather to create: Manifest for Agile Software Development • Principles and guidelines; not prescribed process
  • 8. 8 An unlikely history: cars and supermarkets
  • 9. 9 An unlikely history: cars and supermarkets “Catch up with America in three years. Otherwise, the automobile industry of Japan will not survive.” - Kiichiro Toyoda, President of Toyota Motor Company, 1945
  • 10. 10 An unlikely history: cars and supermarkets • Early automobile manufacturing: “mass production” by Henry Ford, in 1913 • efficiency of batch production by way of standardization (no more colors!) • Taiichi Ohno was a plant manager, decided to improve Toyota process • Inspired by a visit to US supermarkets in the 1950s • He noticed a supermarket customer gets: • What is needed • At the time it’s needed • In the amount needed • Became obsessed with “just in time” delivery • Only make what is needed, when it’s needed • Decrease waste • Lower cost • Increase meaningful output • The result? • Toyota Production System (…..after many, many years of trying!)
  • 11. 11 Becoming agile: Toyota Production System
  • 12. 12 Becoming agile: Toyota Production System “Just in time”
  • 13. 13 How did Taiichi Ohno implement “just in time” manufacturing at Toyota? A: 15 years of continuous improvement Becoming agile: Toyota Production System
  • 14. 14 Becoming agile: Toyota Production System Flow & Management by sight • Machines are moved to accommodate actual workflow • Floor managers in factories should be able to clearly see all processes • Allows for easy spotting of blockages and interruptions Orders made using Kanban (“sign board”) cards • Piece of paper with order information, travels with the requested parts • "simple and direct form of communication always located at the point where it is needed"
  • 15. 15 Becoming agile: Toyota Production System Cross functional workers • “many skilled” workers • workers learn how to operate many machines, not just one type Small lot sizes, and quick setups • New part setup can be performed in minutes, not hours Production leveling • Break down monthly production levels into weekly, monthly pieces • Prevents waste and burnout
  • 16. 16 Becoming agile: Toyota Production System Elimination of waste • reduce repetitive work • reduce over-production: stop making what is not needed Five “why”s • Ask why five times to get to the root cause of a problem • "5 why's equal one how” Kaizen: continuous improvement • Iterative improvements over time as the production process changes
  • 17. 17 So…. What do making cars and writing software have in common?
  • 18. 18 What do making cars and writing software have in common? Making cars Writing software Old way “Mass production” • efficiency of scaled processing • highly standardized • lack of variation and options • “push” system based on static assumptions: make as many cars as possible “Waterfall planning” • performed in discrete, batch phases • projects last months or years • poor communication between phases • also based on very static view of the world – business requirements often out of date by release New way “Toyota Production System” • “just in time” delivery of cars • allows for flexibility of products • constantly changes and evolves • “pull” system based on actual customer requirements “Agile development” • “just in time” delivery of software • software is delivered in days/weeks • flexible and iterative • creates a system that allows for constantly changing business and customer priorities
  • 19. 19 What do making cars and writing software have in common? Flow & Management by sight • Machines are moved to accommodate actual workflow • Floor managers in factories should be able to clearly see all processes • Allows for easy spotting of blockages and interruptions Orders made using Kanban (“sign board”) cards • Piece of paper with order information, travels with the requested parts • "simple and direct form of communication always located at the point where it is needed" “Kanban board” showing all development work in progress • Each story, bug or chore is written up on its own index card • A card has the story title, lookup ID, and points (if a feature) • As the development work moves through the process (backlog, in process, in QA, delivered), the cards are moved across the board • Allows us to clearly see blockages, backups and interruptions in our process
  • 20. 20 What do making cars and writing software have in common? Cross functional workers • “many skilled” workers • workers learn how to operate many machines, not just one type Small lot sizes, and quick setups • New part setup can be performed in minutes, not hours Production leveling • Break down monthly production levels into weekly, monthly pieces • Prevents waste and burnout Common Agile practices: • cross functional, self organizing teams • break down features and products into smallest working pieces for delivery • create and maintain a consistent “velocity” that allows for a better business planning with a sustainable pace of work
  • 21. 21 What do making cars and writing software have in common? Elimination of waste • reduce repetitive work • reduce over-production: stop making what is not needed • produce less defective parts Five “why”s • Ask why five times to get to the root cause of a problem • "5 why's equal one how” Kaizen: continuous improvement • Iterative improvements over time as the production process changes Common Agile practices: • Constant refactoring and DRY (“don’t repeat yourself”), eliminate code waste • Continuous integration and full test coverage • Dedicated QA teams focused on high quality output • Regular retrospectives and showcases to improve the team and process
  • 22. 22 A note about output: how to measure software
  • 23. 23 A note about output: how to measure software It’s easy to see how many cars you just made, but how do we measure the “output” in software? A: Points
  • 24. 24 A note about output: how to measure software Points • An estimation of complexity, not time, assigned to each feature • People are bad at estimating, but we’re at least consistent • Points assigned to user-facing features that create business value Velocity • The number of points a team can deliver in an iteration • Used for business and sprint planning • Thermometer for team health: if velocity drops, something is wrong • While not a perfectly scientific system, it gives a sense of "yesterday's weather”
  • 27. 27 Agile at PayPerks: Week-long Sprints • One week sprints, with weekly deploys • Initially tried two week sprints, but the bi-weekly rhythm was inconsistent • Kanban board on the wall with index cards for all stories in progress • Features = yellow • Bugs = red • Chores / tech debt = blue • Use post-its on cards when a story is blocked • Daily stand ups • PayPerks + Arbisoft team on Google Hangout • PayPerks team around the kanban board • Other best practices: • pairing and cross functional teams • Constantly evaluate new tools for use (Boxen, Vagrant, Fabric, etc) Daily stand up
  • 28. 28 Agile at PayPerks: Weekly Sprint Meetings • Pokering • Assigning point values to features in the backlog as a group • Using playing cards in a Fibonacci sequence (1, 2, 3, 5, 8) • Everyone shows their guess, group discusses to reach consensus • Retrospective • Write up post-it notes for what went well, and what didn’t • Green = good; red = bad • Group the red post-its, and choose one “theme” to improve in the next sprint • Showcase • Present the features that were completed that iteration to the business • Sprint planning • Review the backlog for the next iteration • Make sure the team is comfortable committing to the work
  • 29. 29 Agile at PayPerks: Development Tools • Stack: Python/Django, PostgreSQL, Gunicorn, Nginx, AWS (Amazon Web Services) • Dev IDE: PyCharm • CI Server: TeamCity • 4 cloud-based agents that run entire test suite in a few minutes • Integrates with PyCharm for ease of debugging broken tests, testing local builds, etc • Code Repo: GitHub • Planning: PivotalTracker & Physical Kanban board • User stories, requirements and sprint planning • Integrated with GitHub, so all Git commits are linked to each story • Stories are written by the product team, reviewed and pokered by engineering • “vertically sliced” stories and features • Comms: • HipChat to promote constant communication, even when remote • Google Hangouts
  • 30. 30 Agile at PayPerks: PivotalTracker High level story info - Title - ID / link - points - status - requester / owner Story details - use cases - business requirements - acceptance criteria Commits and comments - all Git commits - comments, questions, clarifications
  • 31. 31 Agile at PayPerks: PivotalTracker Velocity Automatically groups sprints based on the team velocity, and point value of stories; makes sprint planning very easy Stories ready for QA Work in progress Work not yet started Hash marks are point values of each story
  • 32. 32 Agile at PayPerks: Kanban boards
  • 33. 33 Agile at PayPerks: Kanban boards
  • 34. 34 Agile at PayPerks: Kanban boards
  • 35. 35 How can you use Agile?
  • 36. 36 How can you use Agile? However it works for you! Try our process to see if it works for you. If it doesn’t, change it until you find something that does. “At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.” - 12th (and final) Principle of the Agile Manifesto