AGILE-SCRUM Introduction to SCRUM Asyirini Fajrin
Topics • Introduction to SCRUM • SCRUM Framework • Roles • Ceremonies • Artifacts
Software Development http://wilhelminatunnels.files.wordpress.com/2010/09/tunnel1.jpg
SCRUM in 100 words • Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. • It allows us to rapidly and repeatedly inspect actual working software (every two weeks to one month). • The business sets the priorities. Teams self-organize to determine the best way to deliver the highest priority features. • Every two weeks to a month anyone can see real working software and decide to release it as is or continue to enhance it for another sprint.
SCRUM Origins • 1986, Hirotaka Takeuchi & Ikujiro Nonaka described a new approach • 1991, DeGrace and Stahl • Early 90’s, Ken Schwaber, first time called SCRUM by Jeff Sutherland, John • 1995, Sutherland & Schwaber presented the result of SCRUM at OOPSLA • 2001, Ken Schwaber & Mike Bleeder wrote “Agile Software Development with SCRUM”
Sequential vs. overlapping development Requirements Design Code Test Rather than doing all of one thing at a time... ...Scrum teams do a little of everything all the time Source: “The New New Product Development Game” by Takeuchi and Nonaka. Harvard Business Review, January 1986.
Why SCRUM ? “The… ‘relay race’ approach to product development…may conflict with the goals of maximum speed and flexibility. Instead a holistic or ‘rugby’ approach—where a team tries to go the distance as a unit, passing the ball back and forth—may better serve today’s competitive requirements.” http://talkingrugbyunion.co.uk/wp-content/uploads/2011/04/scrum.jpg Hirotaka Takeuchi and IkujiroNonaka, “The New New Product Development Game”, Harvard Business Review,January 1986.
SCRUM has been used for: • Video game development • FDA-approved, life-critical systems • Satellite-control software • Websites • Handheld software • Mobile phones • Network switching applications • ISV applications • Some of the largest applications in use • Commercial software • In-house development • Contract development • Fixed-price projects • Financial applications • ISO 9001-certified applications • Embedded systems • 24x7 systems with 99.999% uptime requirements • the Joint Strike Fighter
Introduction by Ken Schwaber • Scrum is not a methodology. Scrum does not provide the answers to how to build quality software faster. • Scrum is a framework within which the game of product development is played. • Your team plays and how good or not-good it is becomes highly visible. • Your team gets to continuously improves itself. Scrum@ Accenture Technology Solutions | PCS
Characteristics • Self-organizing teams • Product progresses in a series of month-long “sprints” • Requirements are captured as items in a list of “product backlog” • No specific engineering practices prescribed • Uses generative rules to create an agile environment for delivering projects • One of the “agile processes”
Agile Manifesto Important!
SCRUM Framework • The Product Owner sets a List of Features called Product Backlog • During the Sprint Planning, the Team “pulls” a piece of the top of that list: the Sprint Backlog; and decide how to implement it. • The Team has a time-box to reach this goal: the Sprint
SCRUM Framework • Each day, the Team measures its progress during a 15’ meeting: the Daily Scrum • During the whole project, the ScrumMaster ensuresthat the Team is still focused on its objective. • At the end of the Sprint, the work has to be potentialy shipable. This work is considered as done.
SCRUM Framework • The Sprint ends with the Sprint Review and the Retrospective. • When the next Sprint starts, the Team selects a new piece of the Product Backlog and restarts the process. • The process is done when all Features are implemented, or the budget is consummed, or when the time is over.
SCRUM : Roles PRODUCT OWNER • Define the features of the product • Decide on release date and content • Be responsible for the profitability of the product (ROI) • Prioritize features according to market value • Adjust features and priority every iteration, as needed • Accept or reject work results
SCRUM : Roles SCRUM MASTER • Define the features of the product • Decide on release date and content • Be responsible for the profitability of the product (ROI) • Prioritize features according to market value • Adjust features and priority every iteration, as needed • Accept or reject work results
SCRUM : Roles THE TEAM • Typically 5-9 people • Cross-functional: • Programmers, testers, user experience designers, etc. • Members should be full-time • May be exceptions (e.g., database administrator) • Teams are self-organizing • Ideally, no titles but rarely a possibility • Membership should change only between sprints
SCRUM : Timeboxed Ceremonies Daily Scrum
Ceremonies : Sprint Planning • 2 Parts: • Sprint Planning 1: the WHAT? • Sprint Planning 2: the HOW? • Product Owner: • Provides the customer ‘s/ user’s prioritized product backlog • Presents the Release Plan. • Explain theVision • Team: • Estimates the Product Backlog in terms of feasibility (functional estimation) • Slice the Product Backlog to Sprint Backlogs with Product Owner • Slice Sprint Backlog in Tasks • Team and Product Owner: • Define the Sprint objective • Establish “Definition of Done” for the Sprint.
Ceremonies : Sprints • Scrum projects make progress in a series of “sprints” • Analogous to Extreme Programming iterations • Typical duration is 2–4 weeks or a calendar month at most • A constant duration leads to a better rhythm • Product is designed, coded, and tested during the sprint
Ceremonies : Daily Scrum Meeting • Participants : • Team (Active) • Scrum Master (Passive) • Product Owner (Passive) • Parameters: • Daily • 15 minutes • Stand-up • Questions: • What did you do yesterday? • What will you do today? • Is anything in your way?
Ceremonies : Sprint Review • It is the Inspect-und-Adapt from Customer, Users and Management. • The team presents the results of the Sprint. • Users/Customer/ Management express their comments and find a compromise with the team. • The ProductOwneracceptsorrejects Sprint Backlog Items accordingto Definition ofDone. • The Product Owner has the last word here.
Ceremonies : Retrospective a short meeting scheduled by the scrum master where just concluded sprint will be reviewed and learning‘s noted to be implemented in the next sprint
Product Backlog What is written in a Product Backlog? • The requirements • A list of all desired work on the project • Ideally expressed such that each item has value to the usersor customers of the product • Prioritized by the product owner • Reprioritized at the start of each sprint
Definition of DONE Work completed and agreed by all stake holders and conforms to organization processes , conventions and guidelines
4 8 8 16 12 4 10 8 11 8 16 16 12 8 8 8 8 8 4 Add error logging 8 Sprint Backlog Tasks Mon Tues Wed Thur Fri Code the user interface Code the middle tier Test the middle tier Write online help Write the foo class
SCRUM Values TRANSPARENCY prioritization increments INSPECTION embracing change feedback value mapping frequent delivery ADAPTATION value streams
Companies using SCRUM Scrum@ AccentureTechnology Solutions | PCS