Agile Software Development with Scrum Shveta Mehtani
[email protected]
Lightweight Processes Are “Hot” • Small teams • Incremental development • Time-boxed scheduling • Adaptive and agile.
SCRUM - How it became • First presented to OMG in 1995 by shared concerns between Advanced Development Methods (ADM) and VMARK Software (VMARK). • ADM produces process automation software • VMARK produces object-oriented software development environments • Both companies were concerned over the lack of breakthrough productivity being reported in object-oriented development projects
• Not an acronym, Rugby team uses SCRUM meetings – “A scrum is a team pack in Rugby, everybody in the pack acts together with everyone else to move the ball down the field”
The Philosophy of SCRUM • The core of the Scrum approach is the belief that most systems development has the wrong philosophical basis. - The stated, accepted philosophy is that systems development process is a well understood approach that can be planned, estimated, and successfully completed.
• Scrum defines the systems development process as a loose set of activities that combines known, workable tools and techniques with the best that a development team can devise to build systems
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.
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.
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.
How Does Scrum Work? • Small teams (< 10 people) • A series of Sprints (1 - 4 weeks) • Visible, usable increments • Time-boxed
Sprint Rules • Total focus—no unwanted diversion • NO interruptions/changes from the outside • New work may be uncovered by the team • Very XP-ish
What Happens During a Sprint? • Frequent, short Scrum Meetings • Each team produces a visible, usable increment • Each increment builds on prior increments • Clearly defined deliverables and responsibilities • Each team member buys into the assignment
What’s a Scrum Meeting? • Short (15 - 30 min) frequent meetings, facilitated by the ScrumMaster • All team members attend—even teleworkers • One activity -- ScrumMaster asks each attendee 3 questions
What Are The 3 Questions? 1. What have you completed (relative to the Backlog) since the last Scrum meeting? 2. What got in your way of completing this work? 3. What will you do between now and the next Scrum meeting?
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”
Benefits? • Requirements churn is managed—not avoided! • Market input is incorporated—not eliminated! • Customers see on-time delivery of increments, which refines requirements and improves input. • Relationships with customers and marketing develops, trust builds, knowledge grows.
How to Learn Using SCRUM • Scrum and other lightweight processes are incremental. • When an increment is delivered, there is a natural pause in team activity. • Many organizations hold a postmortem at the end of the final increment—this is not enough! • We would have a much better change of improving the health of the project and improving the process if we did periodic checkups!
Checkups • Frequent checkups enable us to learn now while there is time to take corrective action and improve the process. • This kind of process improvement is timely and requires minimal effort from the team and the process owners. • Waiting until the end of a project: takes longer, people forget, team membership changes.
Who does this? • A small team of process owners must ensure that the whole organization learns. • Without process owners to (1) document and (2) share knowledge it will be lost. • Process improvement, pattern mining, and knowledge management require resources.
Project Management Patterns • Patterns “mined” from checkups/postmortems. • Based on comments from participants. • Observed in at least three projects. • Industry experience or research verifies solution. • Patterns are living and grow based on experience with use.
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