What is Scrum? Richard Fennell Engineering Director, Black Marble Ltd.

Slides:



Advertisements
Similar presentations
An Introduction to Scrum
Advertisements

Program Management School Agile & ADDIE Add-Up (AAAU) Elliott Masies Learning 2012 October 21-24, 2012.
Engineering Bernd Fischer RW344: Software Design ▬ ▬ ▬▬ ▬ ▬
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
CSE 403 Lecture 24 Scrum and Agile Software Development Reading:
Clinton Keith CTO, High Moon Studios Agile Methodology in Game Development: Year 3.
ECE44x SCRUM Overview slides adapted from Marty Stepp
Agile Project Management with Scrum
Agile Development and Data With Scrum and TDD Andy Leonard VSTeamSystemCentral.com With thanks to Brian Knight, SQL Server MVP SQLServerCentral.com.
Lecture 3 CS171: Game Design Studio 1I UC Santa Cruz School of Engineering 12 January.
Mountain Goat Software, LLC An Introduction to Scrum Karl Lieberherr January, 2009.
An Introduction to Scrum Presented > > By >. Scrum “The New New Product Development Game” in Harvard Business Review, “The… ‘relay race’ approach.
An Introduction to Scrum
An Introduction to SCRUM
Process and tools Individuals and interactions over Following a plan Responding to change over Comprehensive documentation Working software over Contract.
An Introduction to Agile SCRUM Methodology
Scrum. An evolutionary/iterative/incremental/agile software process The main roles in Scrum are: – Scrum team: Team of software developers – Scrum master.
Presentation from: See Also: scrumreferencecard.com/ScrumReferenceCard.pdf.
Scrum CS These slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Agile Programming 9 OCTOBER History 1960’s  60’s  “Cowboys” wrote software anyway that they could  Difference between best programmers and worst.
Mountain Goat Software, LLC Mike Cohn, Mountain Goat Adapted by Rick Mercer By Scrum Overview.
An Introduction to Scrum
An Introduction to Scrum
An Introduction to Agile SCRUM Methodology
W w w. n e s s. c o m Introduction to SCRUM. w w w. n e s s. c o m “The problem we face has nothing to do with process and technology, but with people.
Stephen Forte Chief Strategy Officer Telerik Session Code: WUX310.
Scrum Agile Methodology
An Introduction to Scrum
0 End-to-End SDLC with Agile Methodologies Baiju Joseph, Senior QE Manager,Yahoo! & Srinivasan Desikan, Master System Technologist, HP 17 th Dec
What is Scrum Process? Where is it used? How is it better?
Mountain Goat Software, LLC An Introduction to Scrum (extended by) Manuel E. Bermudez August 2015.
SCRUM introduction 6 April Scrum Team are known as pigs because they’re committed to delivering Sprint Goal People who are involved but not dedicated.
Stephen Chief Strategy Officer Telerik
© 2006 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Agile Assessment Gadi Lifshitz, Ayelet Kroskin, Barak Yagour, Yael Dubinsky.
1 - Agile in a nutshell. 2 - Basic principles ●Relies on an iterative, incremental development mechanism with continuous adaptation to customer requirements.
Mountain Goat Software, LLC Anssi Lehtinen Presented by An Introduction to Scrum.
1 An Introduction to Scrum. 2 Square One Consulting We’re losing the relay race Hirotaka Takeuchi and Ikujiro Nonaka, “The New New Product Development.
Dr. Nguyen Hai Quan.  Why SCRUM?  What is SCRUM?  Some terms  SCRUM Meetings  Sprint  Estimation  Product backlog  Sprint backlog  Whiteboard.
Scrum Santhosh Srinivasan. Outline What is Scrum What is Scrum Why Scrum Why Scrum Scrum Practices Scrum Practices Why Scrum works Why Scrum works Pros.
Tejasvi Kumar Developer Technology Specialist | Microsoft India
Stephen Forte Chief Strategy Officer Telerik ITS202.
Presentation from: See Also: scrumreferencecard.com/ScrumReferenceCard.pdf.
Applying Agile Methodology
Agile Programming Simple Complex Anarchy Complicated Technology Requirements Far from Agreement Close to Agreement Close to Certainty Far from Certainty.
Mountain Goat Software, LLC An Introduction to Scrum.
SCRUM. WITH ACKNOWLEDGEMENT TO MIKE COHN FROM MOUNTAIN GOAT SOFTWARE, LLC.
A Brief Conversation on Agile and the Scrum Framework
Getting Agile with Scrum Mike Cohn 6 June 2014 We’re losing the relay race “The… ‘relay race’ approach to product development…may conflict with the goals.
#msdevcon Community Track IMPLEMENTATION OF SCRUM Bernardin Katić Insa Investment Software AG.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
The Scrum Framework Presented by Somnath Ghosh Scrum Practitioner 24 hours weeks.
CMPS 116 Software Design Project. Introduction Instructor: Dr. Huahai Yang IBM Research – Almaden Former SUNY Albany Programming.
Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova An Introduction to Scrum and XP Prof. Riccardo Berta.
Mountain Goat Software, LLC An Introduction to Scrum.
Agile Scrum Development Carter Jasinski. Outline ● Introduction ● Roles ● Artifacts ● Sprints ● Uses.
Mike Cohn, Mountain Goat
Agile Methodology and Scrum
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
AGILE SCRUM METHODOLOGY
Overview of Scrum.
SCRUM Scrum and Agile Software Development Reading:
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
End Game.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
An Introduction to Scrum
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
The Agile Product Owner
Scrum MODULE 3 – Part 3.
The End of the first Sprint
Scrum Science NGSS: Engineering, Technology, Applications of Science
Presentation transcript:

What is Scrum? Richard Fennell Engineering Director, Black Marble Ltd. The source version of most of this stack is not from the Scrum Alliance site, but from a slightly modified one from Mike Cohn @ www.mountaingoatsoftware.com a Scrum Certified trainer The cartoon characters are copyright Black Marble Ltd This Stack is based upon the Redistributable Scrum Introduction Stack from the Scrum Alliance This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License Richard Fennell Engineering Director, Black Marble Ltd.

Origins of Scrum “The New New Product Development Game” in Harvard Business Review by Hirotaka Takeuchi and Ikujiro Nonaka, 1986. “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.” Wicked Problems, Righteous Solutions by DeGrace and Stahl, 1990. First mention of Scrum in a software context The New New Product. Development Game. by Hirotaka Takeuchi and Ikujiro Nonaka Download from http://apln-richmond.pbwiki.com/f/New+New+Prod+Devel+Game.pdf

Origins of Scrum Jeff Sutherland Initial Scrums at Easel Corp in 1993 IDX and nearly 600 people doing Scrum Not just for trivial projects FDA-approved, life-critical software for x-rays and MRIs Ken Schwaber ADM Initial definitions of Scrum at OOPSLA 96 with Sutherland Mike Beedle Scrum patterns in PLOPD4

Scrum has been used in… Independent Software Vendors (ISVs) Fortune 100 companies Small startups Internal development Contract development

Scrum has been used for… 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 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 There are no type of project Scum cannot be applied to

Characteristics One of the “agile processes” Self-organizing teams Product progresses in a series of 2 to 4 week 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

The Agile Manifesto a statement of values Process and tools Individuals and interactions over Comprehensive documentation Working software over Contract negotiation Customer collaboration over Following a plan Responding to change over Source: www.agilemanifesto.org

Project Noise Level Requirements Agreement Technology Close to Simple Complicated Anarchy Complex Close to Certainty Far from Technology Agreement Requirements Aims to move the project from the top right to be bottom left by taking ‘small bites’ Source: Strategic Management and Organizational Dynamics by Ralph Stacey in Agile Software Development with Scrum by Ken Schwaber and Mike Beedle.

Scrum Process Overview 24 hours Daily Scrum Meeting Backlog tasks expanded by team 10 - 30 days Sprint Backlog Scrum in a single slide Potentially Shippable Product Increment Product Backlog As prioritized by Product Owner Source: Adapted from Agile Software Development with Scrum by Ken Schwaber and Mike Beedle.

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

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.

No changes during a sprint Plan sprint durations around how long you can commit to keeping change out of the sprint

Scrum framework Product owner ScrumMaster Team Sprint planning Roles Sprint planning Sprint review Sprint retrospective Daily scrum meeting Ceremonies Product backlog Sprint backlog Burndown charts Artifacts

Scrum framework Product owner ScrumMaster Team Sprint planning Roles Sprint planning Sprint review Sprint retrospective Daily scrum meeting Ceremonies Artifacts Product backlog Sprint backlog Burndown charts

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

The ScrumMaster Represents management to the project Responsible for enacting Scrum values and practices Removes impediments Ensure that the team is fully functional and productive Enable close cooperation across all roles and functions Shield the team from external interferences

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

story A chicken and a pig are.... A chicken and a 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!". This is the ethos for a Scum team, they are pigs, their neck is on the line in what they have committed to doing. Everyone else is a Chicken, they might be interested in the project but their job is not on the line

Scrum framework Product owner ScrumMaster Team Sprint planning Roles Sprint planning Sprint review Sprint retrospective Daily scrum meeting Ceremonies Product backlog Sprint backlog Burndown charts Artifacts

Sprint prioritization Sprint planning meeting Team capacity Sprint prioritization Analyze and evaluate product backlog Select sprint goal Sprint goal Product backlog Business conditions Sprint planning Decide how to achieve sprint goal (design) Create sprint backlog (tasks) from product backlog items (user stories / features) Estimate sprint backlog in hours Current product Sprint backlog Technology

Sprint planning Team selects items from the product backlog they can commit to completing Sprint backlog is created Tasks are identified and each is estimated (1-16 hours) Collaboratively, not done alone by the ScrumMaster High-level design is considered As a vacation planner, I want to see photos of the hotels so I can have a better idea of facilities Priority 4 [10 Story Points] Code the middle tier (8 hours) Code the user interface (4) Write test fixtures (4) Code the foo class (6) Update performance tests (4)

The daily scrum Parameters Not for problem solving 15-minutes Stand-up Not for problem solving Whole world is invited Only team members, ScrumMaster, product owner, can talk Helps avoid other unnecessary meetings Only pigs can speak … does get a little grey which product owner (are they part of the team?) Fines for people who are late – the fine can be money i.e. to buy cakes for end of sprint, or some penalty such as sing a song, wear a silly hat. Whatever works best for the team

Everyone answers 3 questions What did you do yesterday? 1 What will you do today? 2 Is anything in your way? 3 These are not status for the ScrumMaster They are commitments in front of peers

The sprint review Team presents what it accomplished during the sprint Typically takes the form of a demo of new features or underlying architecture Informal 2-hour prep time rule No slides Whole team participates Invite the world

Sprint retrospective Periodically take a look at what is and is not working Typically 15–30 minutes Done after every sprint Whole team participates ScrumMaster Product owner Team Possibly customers and others

Start / Stop / Continue Start doing Stop doing Continue doing Whole team gathers and discusses what they’d like to: Start doing Stop doing Interesting idea to do this before the project starts as a hypothetical planning projects to see what people think could be problems. See Clarke Ching’s blog for some thought’s on this http://www.clarkeching.com/2007/10/project-tip-con.html This is just one of many ways to do a sprint retrospective. Continue doing

Scrum framework Product owner ScrumMaster Team Sprint planning Roles Sprint planning Sprint review Sprint retrospective Daily scrum meeting Ceremonies Product backlog Sprint backlog Burndown charts Artifacts

This is the product backlog The requirements A list of all desired work on the project Ideally expressed such that each item has value to the users or customers of the product Prioritized by the product owner Reprioritized at the start of each sprint This is the product backlog

A sample product backlog Priority Backlog item Story Point Estimate 1 Allow a guest to make a reservation 3 2 As a guest, I want to cancel a reservation. 5 As a guest, I want to change the dates of a reservation. 4 As a hotel employee, I can run RevPAR reports (revenue-per-available-room) 8 Improve exception handling 6 ... 30 The estimates are in story points, these give a relative estimate between the items, not a fixed one in hours

The sprint goal A short statement of what the work will be focused on during the sprint Life Sciences Support features necessary for population genetics studies. Database Application Make the application run on SQL Server in addition to Oracle. Financial services Support more technical indicators than company ABC with real-time, streaming data.

Managing the sprint backlog Individuals sign up for work of their own choosing Work is never assigned Estimated work remaining is updated daily Any team member can add, delete or change the sprint backlog Work for the sprint emerges If work is unclear, define a sprint backlog item with a larger amount of time and break it down later Update work remaining as more becomes known

A sprint backlog Tasks Mon Tues Wed Thur Fri Code the user interface Add error logging 8 10 16 8 16 12 4 12 16 8 4 11 8 8 Code the middle tier Test the middle tier Write online help Write the foo class We can see how the sprint backlog goes down over the sprint

A sprint burndown chart Hours The daily estimates are used to plot the sprint burndown, the work remaining

Tasks Mon Tues Wed Thur Fri Code the user interface 8 4 12 16 8 10 16 7 11 8 Code the middle tier 16 Test the middle tier 8 Write online help 12 50 40 30 Hours 20 10 Mon Tue Wed Thu Fri

Team Velocity Over a number of sprints you will see how many story points you can achieve – the velocity This allows you to predict delivery times based on number of story points outstanding REMEMBER – one team’s story point is not the same as anothers

Scalability Typical individual team is 7 ± 2 people Factors in scaling Scalability comes from teams of teams Factors in scaling Type of application Team size Team dispersion Project duration Scrum has been used on multiple 500+ person projects

Scaling through the Scrum of scrums The person sent to the scrum of scrums is the most appropriate – this is not always the scrum master e.g. if a teams was doing DB design the DBA might be a better choice. This choice could alter over time .

Scrum of scrums of scrums The scrum of scrums process can be repeated to further grow a project.

Tools for Scrum Postcards & Post-Its Scrum board As with Extreme Programming the product backlog and sprint backlog can be managed on paper cards, most other things add complexity These can be displayed in a notice board or whiteboard with a manual burn down chart. Image Source: http://www.crisp.se/henrik.kniberg/ScrumAndXpFromTheTrenches.pdf

Tools for Scrum Often need to record the sprint progress Digital Camera Excel However we also want to Link to development tools such as TFS Support remote development teams Commonly the Scrum master will record the revised estimates at the end the daily scrum into Excel and maybe photograph the scrum board. However this alone may not provide the support needed for a distributed project where staff can be in different countries.

Scrum and TFS There are at least three Scrum Process Guidance Templates Conchango’s Scrum for Team System Microsoft’s eScrum VSTS Scrum Process Template from CodePlex They all do basically the same, customise work items to scrum names and provide reports

demo eScrum I like eScrum as I find the web based user interface a quick easy way to capture the sprint progress. As the sprint items are TFS work items source code can be checked in against them.

Screenshot from demo On the product screen you can add the product backlog items

Screenshot from demo You can enter all the product feature details

Screenshot from demo In the sprint page you can add the team members and the time they have committed to the sprint

Screenshot from demo In the sprint page you can add the team members and the time they have committed to the sprint

Screenshot from demo Every day the team alter the hours completed and the estimate of the remaining.

Screenshot from demo The daily scrum page, were tasks can be updated

Screenshot from demo A sprint burn down, one of many reports available

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.

Where to go next www.scrumalliance.org www.controlchaos.com scrumdevelopment@yahoogroups.com www.mountaingoatsoftware.com/scrum

A Scrum reading list Agile and Iterative Development: A Manager’s Guide by Craig Larman Agile Estimating and Planning by Mike Cohn Agile Project Management with Scrum by Ken Schwaber Agile Retrospectives by Esther Derby and Diana Larsen Agile Software Development Ecosystems by Jim Highsmith Agile Software Development with Scrum by Ken Schwaber and Mike Beedle Scrum and The Enterprise by Ken Schwaber User Stories Applied for Agile Software Development by Mike Cohn Lots of weekly articles at www.scrumalliance.org

For Further Information My random thoughts ‘But it works on my PC!’ http://blogs.blackmarble.co.uk/blogs/rfennell You can also get in touch via: Email – richard@blackmarble.co.uk WebSite – www.blackmarble.co.uk

Copyright notice You are free: Under the following conditions to Share―to copy, distribute and transmit the work to Remix―to adapt the work Under the following conditions Attribution. You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). Nothing in this license impairs or restricts the author’s moral rights. For more information see http://creativecommons.org/licenses/by/3.0/ Based on Presentation by: Mike Cohn mike@mountaingoatsoftware.com www.mountaingoatsoftware.com (720) 890-6110 (office) Amended and the cartoon characters added by Black Marble Ltd richard@blackmarble.co.uk www.blackmarble.co.uk +44 1274 841305