Agile Software Development with Scrum The First Summer Workshop On Software Standards Wael Ellithy, Ph.D. Arx ICT 2009-07-08
OUTLINE • Agile Software Development • Scrum Framework • Scrum Rules and Process • Scrum In Industry
Agile software development • Iterative and adaptive development. • Cope with changing requirements. • No long-term planning. • Agile “timeboxes” activities into 1- 4 week cycles. • Customers/clients involved in the process.
Agile software development (cont.) • Cross-functional and self-organizing teams. • Team size is typically small. • Daily meetings to discuss progress/problems. • Most agile teams work in a single open office.
Scrum Framework • Iterative incremental framework • Used with agile software development. • Scrum is not an acronym. • Wrapper for existing engineering practices.
How does Scrum work? • Small teams (< 10 people) • A series of Sprints (1 - 4 weeks) • Visible, usable increments • Time-boxed scheduling
What Happens During a Sprint? • Frequent, daily 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.
Scrum Rules • Scrum Master : who maintains the processes – Project Manager. • Product Owner: who represents the stakeholders. • Team: a cross-functional group of people who do the actual analysis, design, implementation, testing).
What’s a Scrum Meeting? • Short (15 - 30 min) frequent meetings, facilitated by the Scrum Master. • All team members attend—even teleworkers • One activity – Scrum Master asks each attendee 3 questions
What Are The 3 Questions? 1. What have you completed 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. • New estimates and team assignments are made for the next Sprint. • The project can be cancelled.
Scrum in Industry • Arx ICT company as a case study. • Team size: 5 people • Sprints of 2 weeks • Daily Scrum meetings (~15 minutes) • Sprint planning (~ 2 hours) • Rally: agile project management tool
Scrum (Pros.) • Productivity increases • Series of manageable chunks • Everything is visible to everyone • Team communication improves • Customers obtain frequent feedback on how the product actually works
Scrum (Cons.) • Scrum meetings overhead (many meetings). • Interruptions from previous sprints(e.g. bugs). • Mission critical systems. • Not everybody likes that way of working. • People are resistant to change.
References • http://en.wikipedia.org/wiki/Agile_software_development • http://en.wikipedia.org/wiki/Scrum_(development) • http://codebetter.com/blogs/darrell.norton/articles/50339.aspx