Konferencja "Bezpieczny Projekt" Wrocław 22 czerwca 2010 www.omec.pl
Software Development with Agile SCRUM Chandrashekhar Kachole 22 nd of June 2010 1
Let s keep the cell phones in Silent mode 2
Agenda Introduction What is SCRUM SCRUM Implementation - SCRUM Development Process Advantages of SCRUM 3
Introduction 4
Waterfall Life Cycle 5
Waterfall Success? Waterfall: Specialized Roles Pass work over the wall Get it right early Predictability But... Project Resolution (2000) Failed 23% Succeeded 28% Success = on time on budget with all planned features... Challenged 49% Source: Chaos Report from Standish Group (2001) http://www.standishgroup.com/sample_research/chaos_1994_2.php 6
Cost of repair Relative Cost to repair Defects found at various stages of development: 7
History of Agile Development Pre-1970 1930 s: Grew from work of Walter Shewart at Bell Labs, who proposed a series of short Plan-Do-Study-Act (PDSA) cycles for quality improvement 1940 s: PDSA vigorously promoted by Edward Deming The 1970 s 1970: Winston Royce s Managing the Development of Large Software Systems incorrectly interpreted as single-pass waterfall 1976: Tom Gilb, in Software Metrics advocates Evo as a product evolution technique for producing stability: implement in small steps, each step has a clear measure of successful achievement as well as a retreat possibility to a previous step upon failure. The 1980 s 1980: Gerry Weinberg in Adaptive Programming: The New Religion, The fundamental idea was to build in small increments, with feedback cycles involving the customer for each. 1985: Barry Boehm s A Spiral Approach of Software Development and Enhancement, formalized risk-driven-iterations 1986: Fred Brooks No Silver Bullet, Nothing in the past decade has so radically changed my own practice.as incremental development 8
History of Agile Development 1990 to Present Early 1990 s: Jeff Sutherland and Ken Schwaber started to apply Scrum with time-boxed 30-day iterations 1994: 16 RAD practitioners met in the UK and seeded the Dynamic System Development Method (DSDM) 1997: Large logistics project in Singapore failed with Waterfall. Peter Coad and Jeff De Luca created Feature Driven Development (FDD) 2001: Group of 17 process experts representing DSDM, XP, Scrum, FDD and other discussed common ground and created Agile Manifesto Adapted from: Agile and Iterative Development: A Manager s Guide, Craig Larman 9
What is Agile? Agile is the widely accepted umbrella term Agile is the ability to create and respond to change. Agile is the ability to balance flexibility and structure. Jim Highsmith: Agile is a balance between anticipation (prescriptive processes) and adaptation Agility is a way of thinking, not a particular practice. 10
Agile Manifesto (Values) 11
Examples of Agile Practices Time-Boxing Planning Game Pair Programming Working Software Continuous Integration Automated Testing Test-Driven Development Stand-Up Meeting Co-Location Retrospectives 12
Common myths about Agile No documentation produced Only needed documentation is done Done together with implementation No planning Very active planning & re-planning Don t scale Successful projects exists Not suitable for multi site Needs modular architecture Silver bullet to almost everything Nope, but for many cases yes 13
What is SCRUM? Scrum is an agile, lightweight process to manage and control development work. Scrum is a wrapper for existing engineering practices. Scrum is a team-based approach to iteratively, incrementally develop systems and products when requirements are rapidly changing Scrum is a process that controls the chaos of conflicting interests and needs. 14
What is SCRUM? Scrum is a way to improve communications and maximize co-operation. Scrum is a way to detect and cause the removal of anything that gets in the way of developing and delivering products. Scrum is a way to maximize productivity. Scrum is scalable from single projects to entire organizations. 15
What is SCRUM? Scrum has controlled and organized development and implementation for multiple interrelated products and projects with over a thousand developers and implementers. Scrum is a pattern. 16
The bad news Implement Scrum and all of the reasons that an organization has trouble delivering quality software on schedule are thrown up in your face, day after day, month after month made obvious and critical by Scrum Ken Schwaber Author and pioneer of Scrum 17
Rugby 18
What a SCRUM Looks Like Interactive, fast passed 19
A SCRUM Can Get Messy 20
Core Practices of Scrum Short development cycles Incremental delivery of products & systems Frequent inspection and adaptation Cross-functional, Self-organizing Teams with Collaboration Team insulation from change requests Verbal communication over written documentation conversations for details Emergent design 21
SCRUM = Improved Focus Once a Scrum is underway, teams find it easy to focus every internal/external request is easily evaluated by, "What's that got to do with delivering the code?" 22
SCRUM Roles Product Owner Technical-Program/Product Manager Represents the product vision Holds the keys to deliverables Approves prioritization of all deliverables Holds daily dialogue with team about product vision Scrum Master Team Leads Acts as team leader Plans/facilitates meetings Manages action items Removed team obstacles Represents stakeholders and management team Scrum Teams Development & Test Engineers Cross-functional teams QA, Developers, Architects, Testing Membership can only change between 30-day dashes 23
The Scrum Process Scrum Master Product Owner Sprint Planning Meeting Team Sprint Review/ Sprint Retrospective 24
SCRUM Methodology Scrum Development Process 25
SCRUM Methodology 26
Scrum Daily Scrum meetings Parameters Daily 15-minutes Stand-up Not for problem solving Three questions: 1. What did you do yesterday 2. What will you do today? 3. What obstacles are in your way? Chickens and pigs are invited Help avoid other unnecessary meetings Only pigs can talk 27
Questions about Scrum meetings? Why daily? How does a project get to be a year late? One day at a time. Fred Brooks, The Mythical Man-Month. Can Scrum meetings be replaced by emailed status reports? No Entire team sees the whole picture every day Create peer pressure to do what you say you ll do 28
30-day Sprint Rules No requirements changes allowed during dash SCRUM Masters Assess Current Projects Where is the project now and where does the project need to be in 30 days Outline Deliverables for Next 30 Days Prioritize Deliverables Assign Teams Hold Progress Meetings SCRUM Teams Teams Develop Plan - Based on experience, training, etc. to achieve prioritized deliverables Teams Present Accomplishments in the form of working demos where appropriate Post Mortem of 30-Day Dash 29
Sprint Planning Meeting Scrum Product Owner Scrum Team Customers Management Product Backlog Team Capabilities Business Conditions Technology Current Product Sprint Planning Meeting Sprint Goal Sprint Backlog 30
At the End of a Sprint? Status meeting with all stakeholders. Increments are delivered. Surprises are reported. ANYTHING can be changed, work can be added, eliminated, re-prioritized. New estimates and team assignments are made for the next Sprint. The project can be cancelled. Experience from earlier increments allows better estimates and planning as project progresses.it's always easier to estimate shorter development periods 31
SCRUM Methodology Methodology Comparison 32
SCRUM Methodology Advantages Quite flexible throughout development of the project. Provides control mechanisms for planning a product release and then managing variables as the project progresses. Enables organizations to change the project and deliverables at any point in time, delivering the most appropriate release. The SCRUM methodology frees developers to devise the most ingenious solutions throughout the project, as learning occurs and the environment changes. 33
Scrum-Agile Elements Team members Responding reliably to change instead of conforming to plan The team is making decisions instead of taking instructions More individual responsibility and Self management Collective responsibility 34 34
More Information? www.controlchaos.com/ Agile Software Development with Scrum, by Ken Schwaber and Mike Beedle, published by Prentice Hall http://www.jeffsutherland.org/scrum/index.html http://www.agilealliance.org/ http://www.agilemanifesto.org/ http://www.scrum-master.com 35
Books to read! 36
Reference Pressman, Roger S. Software Engineering. Software Engineering Project Management. Pp. 30-47. IEEE. 2000. Highsmith, Jim & Cockburn, Alistair. Agile Software Development: The Business of Innovation. IEEE Computer. September 2001. "Agile software development." Wikipedia, The Free Encyclopedia. 19 Apr 2007, 10:26 UTC. Wikimedia Foundation, Inc. 19 Apr 2007 <http://en.wikipedia.org/w/index.php?title=agile_software_development&o ldid=124050398>. Rising, Linda & Janoff, Norman. The Scrum Software Development Process for Small Teams. IEEE Software. July/August 2000. Brooks, Frederick. The Mythical Man-Month: Essays on Software Engineering. MA: Addison-Wesley Professional 1975. Sutherland, Jeff. Agile Development: Lessons Learned From the First Scrum. Cutter Agile Project Management Advisory Service. Executive Update, Vol. 5, No. 20. October 2004. Anderson, David. Agile Management for Software Engineering. New Jersey: Prentice Hall, 2004. KarlstrÖm, Daniel & Runeson, Per. Combining Agile Methods with Stage- Gate Project Managment. IEEE Software. May/June 2005. Agile Manifesto. 19 Apr 2007, 10:26 UTC. <http://www.agilemanifesto.com> 37
THANK YOU 38