Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

The foundations of agile


Published on

A look at some of the methodologies that have shaped the direction of agile software development. We take a look at Lean Software Development (and the Toyota Production System), the Theory of Constraints and Systems Thinking.

Published in: Business, Technology
  • Be the first to comment

The foundations of agile

  1. 1. THE FOUNDATIONS OF AGILELean Software DevelopmentTheory of ConstraintsSystems Thinking
  2. 2. What is agile?How would we describe agile?• A set of patterns, practices and tools• Part technical practices• Part management theory• Part cult?
  3. 3. The prevailing mindset...• All about the division of labour• Adam Smith‟s pin factory• Frederick Winslow Taylor‟s Scientific Management• Interchangeable part and interchangeable labour• Little respect for workers, assumes they are lazy and want todo bare minimum• Grim for the workers
  5. 5. The Toyota Production System• Vision is to have just in time assembly• Aim to remove• Overburden (muri)• pushing people or machines beyond their limits• inconsistency (mura)• build quality into the system to avoid inconsistency• waste (muda)• 7 wastes ; over production, waiting, transportation, processing, inventories /WIP, movement, defects• Allowed TPS to reduce lead time and cost whilst improvingquality
  6. 6. TPS Principles• Continuous improvement - Kaizen• Respect for people - build trust, stimulate professionaland personal growth• Long Term philosophy, even at the expense of short termcapacity• Right Process, right results - "pull" work to avoidoverproduction, stop the line mentality, visualise problems• Develop people and partners - develop people who followyour companies mentality• Drive organisational learning through solving rootproblems
  8. 8. Theory Of Constraints“a chain is no stronger than its weakest link”• Introduced by Eli Goldratt in 1984 book „The Goal‟• The goal of a systems is always limited by at least oneconstraint, and increasing the flow through the constraintwill increase throughput
  9. 9. 5 focusing steps1. Identify the constraint2. Decide how to exploit the constraint3. Subordinate everything else to the constrain -align to the constraint4. Elevate the constraint - increase the constraintscapacity5. If the constraint has been broken identify thenew constraint and start again
  10. 10. The key points from TOC• Local optimisation may not (most probably will not) lead tooptimisation of the whole.• It is not necessary to have maximum efficiency from nonconstraints.Some things it shares with TPS• Continuous improvements through employeeempowerment• Cultural transformation• Global rather than local goals
  12. 12. Lean• When the consultants got hold of TPS in the late 80 / 90sthere was no stopping it• Many tried to replicate, but championing the tools andprocesses without mindset and principles often failed• Lean was adapted to many different sectors• Lean manufacturing, Lean operations, Lean supply chain, Leanproduct development etc etc.
  13. 13. Lean Software Development• Established by Mary and Tom Poppendieck in 2003Has 7 principles1) Eliminate waste - identify it, remove anything that doesnot add customer value2) Build quality in - not test it in later, dont create thedefects in the first place
  14. 14. Principles (continued)3) Create knowledge - base it on facts from feedback4) Defer commitment - make irreversible decisions at thelast responsible moment, make decisions reversible or atleast provide a framework to support changes5) Deliver fast - get working software to customers
  15. 15. Principles (continued)6) Respect people - Excellent leaders, expert workforce,self organisation7) Optimize the whole - avoid the temptation to suboptimize. optimizing a subsystem will almost certainly suboptimise the whole
  17. 17. What is a System• Most things are a system or part of a system• A set of things interconnected in such a way that producetheir own pattern of behaviour over time.• Has a function or purpose• Can be very simple or very complicated• Systems are powered by feedback. Behaviour emergesas a result of the inputs• Interactions are not linear - "Cause and effect are notclosely related in time and space" - Peter Senge
  18. 18. William Edwards Deming• Born at the height of Taylorism, Deming studied statisticalprocess techniques• He took his statistical process control methods to Japanafter WW2 to high acclaim and success
  19. 19. Deming• The aim is to improve quality in order to reduce expenseand increase productivity.• As quality increases costs will fall• But, focusing on reducing costs will cause costs to rise• Created the PDCA cycle
  20. 20. Deming‟s system of profound knowledge1. Appreciation of system - understand the system as awhole2. Knowledge of variation - understand the variation in thesystem3. Theory of knowledge - how do we explain and shareknowledge?4. Knowledge of psychology - how does human natureaffect the system
  21. 21. Peter Senge• Took earlier systems thinking ideas to the create the concept ofa "learning organization“At its heart are 5 disciplines1. Personal mastery - a spirit of continual learning and workingtowards a personal vision2. Mental models understand how ingrained assumptions andgeneralizations influence how we see the world and act3. Build a shared vision - build genuine commitment rather thancompliance4. Team learning through dialogue - suspend assumptions andlearn together5. Systems thinking - The fifth discipline that integrated theother 4
  22. 22. Peter Senge‟s Laws• Todays problems come from yesterdays "solutions."• The harder you push, the harder the system pushes back.• Behaviour grows better before it grows worse.• The easy way out usually leads back in.• The cure can be worse than the disease.• Faster is slower.• Cause and effect are not closely related in time and space.• Small changes can produce big results...but the areas ofhighest leverage are often the least obvious.• You can have your cake and eat it too …but not all at once.• Dividing an elephant in half does not produce two smallelephants.• There is no blame.
  23. 23. Final thought from Systems Thinking• It is not possible to mandate performance outside of thecapability of the system• A bad system will defeat a good people every time• Need to stop seeing the world as linear relationships andthink more about underlying interactions• Understand the demand on the systems• You are not your job role, you are not a column on ascrum board
  24. 24. Further reading• Deming - Out of the crisis (maybe dont start with thisone)• Mary and Tom Poppendieck - Lean software development• Donella Meadows - Thinking in systems• Peter Senge - The Fifth Discipline• Eli Goldratt - The Goal• Tons more stuff out there