Quick ramp up on Agile Methods Frederic Oehl 10/16/2014 Objectives Provide knowledge and understanding of Agile principles Provide knowledge and understanding of Lean principles Scrum board vs Kanban board 10/16/2014 22 Introduction to Agile What’s the problem we trying to solve with agile approaches? 10/16/2014 Delivering on time Getting quicker feedbacks on the product Improving quality of the product Better control on the budget Not burning down a team with every project … 33 Paradigm change Deadline Features Resources Variable Fixed Deadline 10/16/2014 Features Resources 44 February 2001 birth of agile mouvement 10/16/2014 55 Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. http://agilemanifesto.org/ 10/16/2014 66 Agile Principles Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 10/16/2014 77 Agile Principles Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. 10/16/2014 88 Extreme Programming (XP) Software development methodology based on 12 practices 10/16/2014 Pair programming Planning game Test-driven development Whole team Continuous integration Refactoring Small releases Coding standards Collective code ownership Simple design Metaphor Sustainable pace 99 Scrum Agile project management framework allowing to deliver increment of a product via iterations VISION Daily Product Backlog Sprint Backlog 10/16/2014 1-4 Weeks Product Increment 1010 Roles Product Owner representing the Client within the company being accountable to deliver values to end user customers Development team delivering a shippable product at the end of each sprint committed to deliver what’s in the sprint backlog self-organised team looking to continuously improve Scrum master removing impediments that could impact the team productivity making sure Scrum principles are followed 10/16/2014 1111 Scrum board 10/16/2014 1212 What about Lean? 5 principles 10/16/2014 Understand and maximize value Optimize the value stream Pull production Single-piece flow Continuous improvement 1313 The Toyota Way – Dr Jeffrey Liker Toyota Motor Company Quick Facts Started in 1928 as a textile loom manufacturer Automotive division in 1933 with first vehicle built in 1935 1946 small car manufacturer -> 2007 world’s largest car manufacturer Toyota Production System (aka TPS or The Toyota Way) Developed by Taichii Ohno, Shigeo Shingo and Eiji Toyoda Influenced by W. Edwards Deming and writings of Henry Ford Introduced “Lean Manufacturing” and concepts such as “Just-In-Time” 10/16/2014 1414 14 principles 1. Base your management decisions on a Long-Term Philosophy, even at the Expense of Short-Term Financial Goals 2. Create Continuous Process Flow to Bring Problems to the Surface 3. Use Pull Systems to Avoid Overproduction 4. Level Out the Workload (Heijunka) 5. Build a Culture of Stopping to Fix Problems, to Get Quality Right the First Time 6. Standardized Tasks are the Foundation for Continuous Improvement and Employee Empowerment 7. Use Visual Controls so No Problems are Hidden 8. Use Only Reliable, Thoroughly Tested Technology that Serves Your People and Processes 10/16/2014 1515 14 principles 9. Grow Leaders Who Thoroughly Understand the Work, Live the Philosophy, and Teach It to Others 10. Develop Exceptional People and Teams Who Follow Your Company’s Philosophy 11. Respect Your Extended Network of Partners and Suppliers by Challenging Them and Helping Them Improve 12. Go and See for Yourself to Thoroughly Understand the Situation (Genchi Genbutsu) 13. Make Decisions Slowly by Consensus, Thoroughly Considering All Options; Implement Decisions Rapidly 14. Become a Learning Organization through Relentless Reflection (Hansei) and Continuous Improvement (Kaizen) 10/16/2014 1616 Lean Software Development Focus on delivering VALUE to the customer rapidly Make improvements by focusing on the Value Stream Principles Eliminate Waste Create Knowledge Decide as Late as Possible Deliver as Fast as Possible Empower the Team Build Quality In Improve the System – “See the Whole” Core Processes Visualize the Process Limit Work In Process (WIP) Measure and Optimize Flow 10/16/2014 1717 Kanban Framework to look at production systems, spot bottlenecks and facilitate employee empowerment and continuous improvement Set of rules: 10/16/2014 Start by doing exactly what you are doing right now Map the value stream Visualize all work on the value stream by adding kanban cards Introduce work-in-progress limits Help the system flow and improve everything 1818 Kanban board 10/16/2014 1919 Adapted from Henrik Kniberg Scrum vs Kanban Scrum board To do Ongoing Kanban board Done To do Ongoing 2 A C C D D WIP limited per iteration 10/16/2014 A B B FLOW Done FLOW WIP limited per workflow state 2020 Adapted from Henrik Kniberg Scrum vs Kanban I’d like to have E! Kanban Scrum To do Ongoing 2 A C A B D B To do Ongoing C D Done FLOW I have to wait the next sprint 10/16/2014 Done FLOW I can add it on top of C 2121 Conclusion Challenging to migrate to Agile and Lean People have to find their place Need customers buy in Need managers buy in Quality work of everyone Etc. You have lots of people here today who have been implementing agile/lean within their companies talk to them Enjoy the rest of the day! 10/16/2014 2222 Books 10/16/2014 2323 Questions? 10/16/2014 24 25