250 likes | 267 Views
This resource provides knowledge and understanding of Agile and Lean principles, compares Scrum and Kanban boards, and explores the benefits of adopting an Agile approach. Learn how Agile can help improve product quality, deliver on time, and enhance collaboration and trust within teams. This guide also covers the birth of the Agile movement and the principles of the Agile Manifesto.
E N D
Quick ramp up on Agile Methods Frederic Oehl
Objectives • Provide knowledge and understanding of Agile principles • Provide knowledge and understanding of Lean principles • Scrum board vs Kanban board
Introduction to Agile • What’s the problem we trying to solve with agile approaches? • 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 • … Trust … between you and your client … between you and your managers/executives
Paradigm change Features Resources Deadline Variable Fixed Deadline Features Resources
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/
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.
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.
Extreme Programming (XP) • Software development methodology based on 12 practices • Pair programming • Planning game • Test-driven development • Whole team • Continuous integration • Refactoring • Small releases • Coding standards • Collective code ownership • Simple design • Metaphor • Sustainable pace
Scrum • Agile project management framework allowing to deliver increment of a product via iterations VISION Daily Product Backlog Sprint Backlog Product Increment 1-4 Weeks
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
What about Lean? • 5 principles • Understand and maximize value • Optimize the value stream • Pull production • Single-piece flow • Continuous improvement
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 TaichiiOhno, 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”
14 principles • Base your management decisions on a Long-Term Philosophy, even at the Expense of Short-Term Financial Goals • Create Continuous Process Flow to Bring Problems to the Surface • Use Pull Systems to Avoid Overproduction • Level Out the Workload (Heijunka) • Build a Culture of Stopping to Fix Problems, to Get Quality Right the First Time • Standardized Tasks are the Foundation for Continuous Improvement and Employee Empowerment • Use Visual Controls so No Problems are Hidden • Use Only Reliable, Thoroughly Tested Technology that Serves Your People and Processes
14 principles • Grow Leaders Who Thoroughly Understand the Work, Live the Philosophy, and Teach It to Others • Develop Exceptional People and Teams Who Follow Your Company’s Philosophy • Respect Your Extended Network of Partners and Suppliers by Challenging Them and Helping Them Improve • Go and See for Yourself to Thoroughly Understand the Situation (Genchi Genbutsu) • Make Decisions Slowly by Consensus, Thoroughly Considering All Options; Implement Decisions Rapidly • Become a Learning Organization through Relentless Reflection (Hansei) and Continuous Improvement (Kaizen)
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
Kanban • Framework to look at production systems, spot bottlenecks and facilitate employee empowerment and continuous improvement • Set of rules: • 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
Scrum vs Kanban Adapted from Henrik Kniberg Scrum board Kanban board Done To do Ongoing Done To do Ongoing 2 A A B B C C D D FLOW FLOW WIP limited per iteration WIP limited per workflow state
Scrum vs Kanban Adapted from Henrik Kniberg I’d like to have E! Kanban Scrum To do Ongoing Done Done To do Ongoing 2 A C A C B D D B FLOW FLOW I can add it on top of C I have to wait the next sprint
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!