SCRUM Scrum Methodology Collin Smith (Feb. 13, 2006)
SCRUM Outline What is SCRUM? Quick Tour Why is SCRUM Different Individual Components Benefits Advanced Scrum
What is SCRUM? First used to describe hyper-productive development in 1986 by Nonaka & Hirotaka(Harvard Business Review) Scrum refers to the strategy used in rugby for getting an out-of-play ball back into play Adaptive, quick, self-organizing, and have a few rests
A Rugby Scrum
SCRUM Different approach to managing the systems development process. (Agile) An empirical approach based in process control theory Intended to give the team control of its time and destiny.
Quick Tour Product Backlog prioritized list of all product requirements Sprint Backlog list of tasks to be performed during the sprint Sprint set time period for each iteration (30 days) Scrum Master a management representative which enforces Scrum practices Daily Scrum short daily status meeting for observing progress Sprint review meeting inspection of the product increment
Scrum Process
Why is SCRUM different? Self-organizing in that the team meets to figure out how to live up to its Sprint goal Responding empirically, focusing on what is possible Daily visibility into the project Incremental delivery of the system, showing progress earlier and often
Scrum Master Responsible for ensuring that Scrum values, practices, and rules are enacted and enforced Represents management and the team to each other Makes decisions and removes impediments Sometimes making decisions without complete information (better some decision rather than no decision) Keep the team working at the highest possible level of productivity
Product Backlog Evolving prioritized queue of business and technical functionality to be done on the product Higher priority items should be clearer and have a more detailed specification Solely controlled by Product Owner (one person) who works with others to estimate how long it will take to develop
Scrum Teams Individuals with different strengths and weaknesses Seven people (plus or minus two), as small as three Cross-functional with all skills to meet the Sprint goal At least one very experienced engineer as part of the team No titles on the teams (to encourage self organization)
Daily Scrum Meetings Daily 15-minute status meeting Team explains What one has accomplished since last meeting What one is going to do before the next meeting What obstacles are in his/her way Get used to team-based, rapid, intense, co-operative, courteous development Improve communication
Daily Scrum Meetings (contd) established meeting room (same place and same time every day) Door, speakerphone, table, enough chairs for each team member, whiteboards Scrum Master starts a meeting Avoid turning it into a working or design session
Chickens and Pigs
Chickens and Pigs A chicken and pig are together when the chicken says, Let s start a restaurant! The pig thinks it over and says, What would we call this restaurant? The chicken says, Ham n Eggs! The pig says, No thanks. I d be committed, but you d only be involved! Team members are likened to the pigs because they are committed to the project. Everyone else is a chicken. Chickens are not allowed to interfere with the meeting in any way such as talking
Sprint Planning Meeting Customers, users, management, the Product Owner and the Scrum Team determine the next Sprint goal and functionality at the Sprint Planning meeting. Sprint Planning Meeting Overview: Meeting 1: Figure out what functionality to build during the next Sprint (Team,Product Owner, management, users) Meeting 2: Figure out how it is going to build this functionality into a product increment (team by itself)
Sprint Goal Craft the Sprint Goal: For example: Sprint Goal : to provide a standardized middleware mechanism for the identified customer service transactions to access backend databases Defining the goal gives the team some wiggle room as the degree to which the goal is satisfied is flexible, depending on the difficulty of the task
Sprint Backlog After the Sprint goal has been defined, the Sprint Backlog must be defined All team members are required to be present Team compiles a list of tasks to complete to meet the Sprint goal. Tasks should have enough detail so that each task takes roughly 4 to 16 hours to finish
Sprint Backlog Only the team can change its Sprint Backlog during a Sprint Sprint Backlog is a highly visible, real time picture of the work that the team plans to accomplish during the Sprint Sometimes the team discovers it has selected too much Product Backlog to complete in a single Sprint Items may be removed, functionality with scope or depth may also be lessened to meet the Sprint Goal
Sprint The process tends to produce significant quantities of mistakes but can be viewed as valuable learning experiences Each person s knowledge base is broadly expanded though their interaction At the very worst, the team has build nothing but has learned much
Sprint Review 4 hour informational meeting Management comes to the Sprint Review to see what the team has been able to build with the resources it has been given Coordinated and conducted by the Scrum Master
Sprint Review Format Scrum Master gives concise overview of the Sprint Sprint goal and Product Backlog are compared to the actual results of the Sprint Reasons for any discrepancies are discussed No one should prepare extensively (informal) Informational, not critical or action-oriented
Sprint Backlogs Usually implemented in Excel where the team can track Sprint progress Burndown Chart provides value in measuring the progress in a chart format with Effort Remaining(hours) vs. Time Remaining
Empirical vs. Traditional Developing complex software is like running an obstacle course. Traditional techniques try and map out something that has never been navigated before Empirical process control models are better suited to complex and complicated tasks PMBOK processes: (Initiating,Planning,Executing,Controlling,Closing) Scrum regularly inspects activities to see what is occurring and empirically adapts to provide desired and predictable outcomes
Benefits Management and control is exercised through frequent inspection and adaptive response. Assessing the condition of activities and empirically determining what to do next Improved communication through daily meetings Improved visibility through the Sprint Backlog and Burndown charts
Advanced Scrum Applying Scrum to Multiple Related projects Many interrelated projects typically are developed at the same time with resources shared among these projects One team for each application and one team for the shared resources Scrum of Scrums where Scrum Masters of individual applications meet with the Shared Resource Scrum Master
References Agile Software Development with Scrum (Schwaber & Beedle) http://en.wikipedia.org/wiki/scrum_(management)