Scrum byDr. Korson For CPTR 209 Software Engineering Version 10.1103
How does a mature, disciplined, test driven, agile process work? I will use Scrum as an example
Scrum • Scrum in the sport of rugby, is a way of restarting the game, either after an accidental infringement or (in rugby league only) when the ball has gone out of play.
Three Scrum Roles • the ScrumMaster, who maintains the processes • the Product Owner, who represents the stakeholders and the business • the Team, a cross-functional group of who do the actual analysis, design, implementation, testing, etc.
Protecting the Team Process groups CorporateZone Buffer Regulatory agencies Agile Zone Project manager Team System integration Zone Senior management
Chicken and Pig Scrum requires a commitment.
Pig Roles The Pigs are the ones committed to the project in the Scrum process—they are the ones with “their bacon on the line” and performing the actual work of the project. • ScrumMaster • Scrum is facilitated by a ScrumMaster, also written as Scrum Master, whose primary job is to remove impediments to the ability of the team to deliver the sprint goal/deliverables. The ScrumMaster is not the leader of the team (as the team is self-organizing) but acts as a buffer between the team and any distracting influences. • Cross-Functional Team • The team has the responsibility to deliver the product. • Product Owner • The Product Owner ensures that the Scrum Team works on the “right things” from a business perspective. The Product Owner keeps the product backlogordered and groomed.
Chicken Roles Chickens are not involved in the day to day Scrum process, but must be taken into account. They are people for whom the software is being built. • Stakeholders (customers, vendors) • They are only directly involved in the process during the sprint reviews. • Managers • Executives • Marketing personnel
Super Chickens • Senior managers or other persons important to the project are sometimes called super chickens.. • Chickens (even super chickens) only access to the team is to the Product Owner
Kicking off a Scrum Project • Business justification – ROI calculations, etc. • Project scope, duration, and budget is determined • Product owner • elaborates the project scope into a list of desired features (“stories”) called the product backlog • gets consensus on relative business value of each feature in the product backlog from the stakeholders • gets from the technical team a ballpark estimate on the relative effort of developing each feature • sequentially orders the product backlog according to long term ROI • gathers additional requirement details for the top 20% of the features in the product backlog.
Product Backlog • The product backlog contains broad descriptions of all required features, wish-list items, etc. rank ordered so as to maximize long term ROI. • The backlog can be reordered, added to, or deleted from, at any time by the product owner. • The product backlog is the property of the Product Owner. Business value is known by the Product Owner. ROI can only be calculated after development effort is estimated by the Team.
Sprint Planning Meeting • (1st part) Product Owner + Team: Work to clarify Product Backlog items and determine which ones will go into the Sprint Backlog • (2nd part) Team (PO must be available): hashing out a plan for the Sprint, resulting in the Sprint Item Backlog
Sprint Planning Meeting • It is the responsibility of the product owner to articulate the business goals and vision for the current sprint • It is the responsibility of the team to brainstorm with the product owner to envision product possibilities for the current sprint • Only the technical team knows • Technical possibilities • New technology • Libraries of existing capability • Implementation resources needed • Technical risk
Sprint Backlog (WBS) • Features are broken down into tasks; • tasks are normally estimated between four and eight hours of work. • Tasks on the sprint backlog are never assigned; rather, tasks are signed up for by the team members as needed, according to the set priority and the team member skills. • The sprint backlog is the property of the Team. Estimations are set by the Team.
Clarity in the Product Backlog • Feature 1 • Feature 2 • Feature 3 • Feature 4 • Feature 5 • Feature 6 • Feature 7 • Feature 8 • Feature 9 • Feature 10 • Feature 11 • Feature 12 • Feature 13 • Feature 14 • Feature 15 • Feature 16 • Feature 17 • Feature 18 • Feature 19 • Feature 20 Release 0.1 Based on current backlog ranking and project velocity Release 0.2 Release 0.3 Release 1.0 This is a live document
Daily Scrum • The meeting starts precisely on time. • Only “pigs” may speak • The meeting is timeboxed to 15 minutes • During the meeting, each team member answers three questions: • What have you done since yesterday that contributes to reducing the sprint backlog? • What are you planning to do today that will reduce the sprint backlog? • Are there any obstacles hindering you from accomplishing your goal?
Sprint Review Meeting • Review the work that was completed and not completed • Present the completed work to the stakeholders • Incomplete work cannot be demonstrated • Sprint Backlog is often revised based on ideas generated during the Sprint review Wrap and ship
Sprint Retrospective • All team members reflect on the past sprint • Make continuous process improvements • Two main questions are asked in the sprint retrospective: • What went well during the sprint? • What could be improved in the next sprint? • Three hour time limit
Scrum of Scrums • Scrum of scrums allow clusters of teams to discuss their work, focusing especially on areas of overlap and integration. • A designated person from each team attends and answers the following four questions: • What has your team done since we last met? • What will your team do before we meet again? • Is anything slowing your team down or getting in their way? • Are you about to put something in another team’s way?
Release Backlog • Even though all sprint results are potentially releasable, it may not make business sense to do so. • The sprint schedule is overlaid with a release schedule. • The release backlog is the property of the Product Owner. The product owner monitors the release burndown chart, and adjuststhe release backlog to reflectreality.
Best Case – Worse Case • Worst 3 sprints – 16 story points • Best 3 sprints – 28 story points • Average Velocity – 22 story points Product Backlog has 163 story points • Worst case – 163/16 = 11 sprints • Best case – 163/28 = 6 sprints • Expected case – 163/22 = 8 sprints
Welcomes Changing Requirements sprint new requirement!
Scrum-ban A software production model based on Scrum and Kanban The major differences between Scrum and Kanban are derived from the fact that in Scrum work is divided into sprints that last a certain amount of time, whereas in Kanban the workflow is continuous
Scrum Continuous Flow of Business Value Release Backlog Product Backlog
Scrum Summary • 3 roles • Scrum master • Product Owner • Team • 3 artifacts • Product Backlog • Sprint Backlog • Burndown chart • 3 Ceremonies • Sprint Planning • Daily Scrum • Sprint review and retrospective