• Save
Intro to Lean Software Development
Upcoming SlideShare
Loading in...5
×
 

Intro to Lean Software Development

on

  • 7,768 views

Presentation I gave to the Chicago ACM about Lean Software Development. Full audio can be found here:

Presentation I gave to the Chicago ACM about Lean Software Development. Full audio can be found here:

https://soundcloud.com/griffinc/intro-to-lean-software

Statistics

Views

Total Views
7,768
Views on SlideShare
7,520
Embed Views
248

Actions

Likes
51
Downloads
0
Comments
2

9 Embeds 248

http://www.slideshare.net 120
http://www.techgig.com 102
http://www.linkedin.com 11
https://www.linkedin.com 7
https://podio.com 4
http://www.onlydoo.com 1
https://mielabelo.knowledgeplaza.net 1
http://ttfetch03.cloudapp.net 1
http://timesjobs.techgig.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

12 of 2

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Nice broad overview!
    Are you sure you want to
    Your message goes here
    Processing…
  • Very good!!
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

Intro to Lean Software Development Intro to Lean Software Development Presentation Transcript

  • Trimming The FatAn Intro to Lean Software Development
  • ConductQuestions OK Raise Hand
  • Who Am I? Local Entrepreneur1530 Technologies & A Part-Time CTO Organizer Lean Startup Circle Lean Proponent Since 2003
  • AssumptionsTeam based development vs. solo Ideology still valuable
  • Lean Software Development( While touching on Lean Manufacturing )
  • “Lean” vs. Lean
  • Lean Origins1.Started in Japanese Manufacturing & Auto Industries2.Crystalized in Toyota Production System However, the TPS is Lean, but Lean is NOT the TPS
  • Software vs.Manufacturing Crucial Differences
  • Heterogeneous vs. Homogeneous Economies of Scale vs. Scope
  • Eliminate FailureTotal Quality Management (TQM), etc...
  • Wrong!If you’re not failing, you’re not learning.
  • Donald G. Reinertsen “Failure is actually a good thing in learning systems, as this is one the most information is generated, so weactually want ways of generating an appropriate ratio of failure to success, if we have too much of either the system is not generating enough information to properly learn” - LeanSSC 2010
  • Reduce Variability Six Sigma, etc...
  • Wrong! Reduce Economic Impact of VariabilityFeature differentiation & Economies of Scope
  • Eliminate Bugs & Defects Sig Sigma, etc...
  • Wrong!Preventing defects has a cost. Need to weigh that cost with fixing
  • So There Are Some Critical DifferencesLean Software Development Follows Spirit, Not Letter, of Lean
  • So what is Lean?
  • The Lean Methodology
  • WaterfallAgile (XP, etc..) Vs. LeanCustom Process RUP
  • Forget your currentProcess / Methodology!
  • Lean Waterfall Lean Lean ( Not Really )Agile (XP, etc..) RUP Lean Custom Process
  • Lean Principles CultureKanban Practices
  • There is no ‘Finished‘Kaizen or Continuos Improvement
  • Relies on Cultural ChangesInternalization is key. It’s most important than any process you follow or certification.
  • Principles1. Add nothing but value (Eliminate Waste)2. Build Quality In3. Create Knowledge (Focus on Learning)4. Defer Commitment5. Deliver Fast6. Respect People7. Optimize the Whole, Not the Parts
  • Waste“Reduce the time from Order to Cash.” - Taiichi Ohno
  • Bugzilla vs. Trac Should We Migrate?
  • 7 Types of Waste1. In-Process Inventory - Anything other than the finished product2. Over-Production - Anything produced but not sold / used.3. Extra Processing - Rework, reprocessing4. Transportation - Unnecessary movement of materials / product.5. Motion - Extra steps.6. Waiting - Downtime because an upstream activity is late.7. Defects - Product not conforming to specs.
  • 1. Partially Done Work In-Process Inventory
  • 2. Extra Features Over Production
  • 3. Re-learning Extra-Processing
  • 4. Handoffs Transportation
  • 5. Task Switching Motion
  • 6. Delays Waiting
  • 7. Defects Defects
  • How can youidentify waste?
  • Value Stream Mapping Identify Waste
  • Example: Text
  • 2. Build Quality In“Do not look where you fell, but where you slipped.” African Proverb
  • Build in TestingThe job of QA is NOT to find defects.
  • 3. Create Knowledge“Do not look where you fell, but where you slipped.” African Proverb
  • Early, Rapid Feedback1.Automated Builds2.Automated Testing3.Release Early w/ Minimum Feature Set (MVP)
  • PDCA -Dr. W. Edwards Deming Plan - Do - Check - Act
  • 4. Defer Commitment “Plans are nothing; planning is everything.” – Dwight D. Eisenhower.
  • OODA Loop -Col. John Boyd USAF Observe - Orient - Decide - Act
  • 5. Deliver Fast“A good plan, violently executed today, is better than a perfect plan next week.”- George S. Patton
  • Batch Size Reduction1. Feature2. Release3. Iteration4. Story / Requirement / Task5. Source Control Check-Ins6. Etc...
  • Example: Software ReleasesDef: Transaction Costs - Hand off / switching costs Def: Holding Costs - WIP before it’s released
  • Transaction Costs1.Release Notes Creation2.System Downtime3.Customer Notifications4.System Migrations5.Source Control Churn6.Employee Overtime
  • Holding Costs1.Defects2.Missed Migration Steps3.Rework4.Broken Regression Tests5.Missed Customer Feedback6.Source Control Churn
  • ContinuousDeployment Seriously.
  • 6. Respect People
  • Push Decision Making DownThose with the most information should make decisions.
  • Respect All OpinionsUS Military: Lowest Ranking Member Speaks First
  • 7. Optimize the whole, not the parts“Local optimization leads to global inefficiencies” - Eliyahu M. Goldratt
  • Systemic ThinkingUnder how things influence one another within a whole.
  • Root Cause Analysis“At a fulfillment center recently, one of our Kaizenexperts asked me, “I’m in favor of a clean fulfillment center, but why are you cleaning? Why don’t you eliminate the source of dirt?” - Jeff Bezos
  • 5 WhysFacilitates Root Cause Analysis
  • Theory Of Constraints Cost Accounting vs. Throughput Accounting
  • Theory of Constraints1.Identify The Constraint2.Exploit The Constraint3.Subordinate Everything To Constraint4.Elevate The Constraint5.Repeat / Find New Constraint
  • (Create 10/day) (Process 8/day) Machine 1 Machine 2 CustomerDay 1 10 8 8 .........Day 5 10 8 8 End of Week Inventory: 10 Leftover Widgets
  • (Create 10/day) (Test 8/day) Dev QA CustomerDay 1 10 8 8 .........Day 5 10 8 8 End of Week Inventory: 10 Leftover Tasks
  • Flash Demo!Many many thanks to Tom Looy
  • KanbanPull Based Product Production
  • Kanban CardsPhysical cards signaling the need for an activity
  • Kanban Board
  • Divergence from AgileWith pull-based product development, iterations become useless.
  • There’s a lot moreKaizen, Sensei, muda / muri /mura (waste)
  • Lean StartupBringing Lean/Agile practices to Marketing / Sales
  • Resources
  • Questions?I love hearing from people, so please reach out: Email: gcaprio@1530technologies.com Twitter: gcaprio
  • Final Thought “In product development we want to trade-off variability with cycle time and we should focus onuseful patterns rather than methodologies.” - Don G. Reinertsen, LeanSSC 2010