An Introduction to Scrum

Slides:



Advertisements
Similar presentations
Engineering Bernd Fischer RW344: Software Design ▬ ▬ ▬▬ ▬ ▬
Advertisements

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:
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.
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
Process and tools Individuals and interactions over Following a plan Responding to change over Comprehensive documentation Working software over Contract.
SCRUM John Drew. SCRUM - overview Scrum is a project management discipline that has evolved since the early 1990s to deliver software that meets business.
SCRUM © University of LiverpoolCOMP 319slide 1. SCRUM history In 1986, Hirotaka Takeuchi and Ikujiro Nonaka More an observation of good practise in manufacturing.
An Introduction to Agile SCRUM Methodology
Dept. of Computer Science & Engineering, The Chinese University of Hong Kong Agile Software Development CHEN Xinyu
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.
Scrum 1.
Agile development By Sam Chamberlain. First a bit of history..
An Introduction to Scrum
An Introduction to Agile SCRUM Methodology
Stephen Forte Chief Strategy Officer Telerik Session Code: WUX310.
Scrum Agile Methodology
Introduction to Agile.
1 Agile Methodology & Programming Ric Holt July 2009.
What is Scrum Process? Where is it used? How is it better?
1 SCRUM 22/02/2009 By Siemen Bastiaens >>
Software Engineering- Scrum 徐 瑋 Alen 林芳瑜 Flora 1.
Project Workflow. How do you do it? -Discussion-
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 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.
Presentation from: See Also: scrumreferencecard.com/ScrumReferenceCard.pdf.
Applying Agile Methodology
SCRUM.
Agile Programming Simple Complex Anarchy Complicated Technology Requirements Far from Agreement Close to Agreement Close to Certainty Far from Certainty.
PV213 EIS in Practice: 06 – Development process 1 PV213 Enterprise Information Systems in Practice 06 – Development process.
AGILE - IMPLEMENTATION (C) CLARION TECHNOLOGIES. ability to move quickly and easily…. AGILE MEANING (LITERALLY)
Using Scrum to Improve Teamwork, Communication, Quality and Speed
Agile Development Chapter 10 - part 2. Agile Philosophy  A guiding philosophy and set of guidelines for : developing information systems in an unknown,
SCRUM © University of LiverpoolCOMP 319slide 1. SCRUM history In 1986, Hirotaka Takeuchi and Ikujiro Nonaka More an observation of good practise in manufacturing.
The Agile Manifesto Some thought starters for Ogilvy on how to work with Agile and SCRUM approaches to managing projects.
AGILE - IMPLEMENTATION (C) CLARION TECHNOLOGIES. ability to move quickly and easily…. AGILE MEANING (LITERALLY)
SCRUM. WITH ACKNOWLEDGEMENT TO MIKE COHN FROM MOUNTAIN GOAT SOFTWARE, LLC.
A Brief Conversation on Agile and the Scrum Framework
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
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.
Managing Agile Software Development Teams Using Scrum AKA: Wrangling Developers for Fun and Profit!
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.
Agile Methodology and Scrum
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
AGILE SCRUM METHODOLOGY
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.
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
© University of Liverpool
Introduction to Agile Blue Ocean Workshops.
Adjective: Able to move quickly and easily. Principles and Values
Presentation transcript:

An Introduction to Scrum

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. Our teams self-manage 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 for another iteration.

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” Scrum

Agile Manifesto – a statement of values Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan http://www.agilemanifesto.org We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Overview Scrum

Sprints Scrum projects make progress in a series of “sprints” Analogous to XP iterations Target duration is one month +/- a week or two But, a constant duration leads to a better rhythm Product is designed, coded, and tested during the sprint Scrum

Sequential vs. Overlapping Development Scrum Requirements Design Code Test Source: “The New New Product Development Game”, Hirotaka Takeuchi and Ikujiro Nonaka, Harvard Business Review, January 1986.

No changes during the sprint Inputs Tested Code Change Scrum Plan sprint durations around how long you can commit to keeping change out of the sprint

Scrum Framework Roles : Product Owner, ScrumMaster, Team Ceremonies : Sprint Planning, Sprint Review, Sprint Retrospective, & Daily Scrum Meeting Artifacts : Product Backlog, Sprint Backlog, and Burndown Chart Scrum is a simple "inspect and adapt" framework that has three roles, three ceremonies, and three artifacts

Scrum Framework Roles : Product Owner, ScrumMaster, Team Ceremonies : Sprint Planning, Sprint Review, Sprint Retrospective, & Daily Scrum Meeting Artifacts : Product Backlog, Sprint Backlog, and Burndown Chart Scrum is a simple "inspect and adapt" framework that has three roles, three ceremonies, and three artifacts

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. He/She is the driver, car driver analogy

The Scrum Master 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 Scrum SM has no authority

The Scrum Team Typically 5-10 people Cross-functional QA, Programmers, UI Designers, etc. Members should be full-time May be exceptions (e.g., System Admin, etc.) Teams are self-organizing What to do if a team self-organizes someone off the team?? Ideally, no titles but rarely a possibility Membership can change only between sprints Scrum Selects the Sprint goal and specifies work results Has the right to do everything within the boundaries of the project guidelines to reach the Sprint goal; Organizes itself and its work; and  Demos work results to the Product Owner.

Scrum Framework Roles : Product Owner, ScrumMaster, Team Ceremonies : Sprint Planning, Sprint Review, Sprint Retrospective, & Daily Scrum Meeting Artifacts : Product Backlog, Sprint Backlog, and Burndown Chart Scrum is a simple "inspect and adapt" framework that has three roles, three ceremonies, and three artifacts

Sprint Planning Meeting Scrum Product Owner Scrum Team Customers Management Product Backlog Sprint Planning Meeting Team Capabilities Sprint Goal Business Conditions Sprint Backlog Technology Current Product

Daily Scrum meetings Parameters Three questions: 15-minutes Stand-up Not for problem solving Three questions: What did you do yesterday What will you do today? What obstacles are in your way? Chickens and pigs are invited Help avoid other unnecessary meetings Only pigs can talk Scrum

Daily Scrum – Pigs and Chickens The joke is meant to point out the difference between those who are committed on a project and those who are only involved. Scrum affords special status to those who are committed and many teams enforce a rule in which only those who are committed are allowed to talk during the daily scrum.

Questions about Scrum meetings? Why daily? “How does a project get to be a year late?” “One day at a time.” Fred Brooks, The Mythical Man-Month. Can Scrum meetings be replaced by emailed status reports? No Entire team sees the whole picture every day Create peer pressure to do what you say you’ll do Scrum

Sprint Review Meeting 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 Participants Customers Management Product Owner Other engineers Scrum

Sprint Retrospective Meeting Scrum Team only Feedback meeting Three questions What was good? What could have been better? What would they like to do different in next sprint? Don’t skip for the first 5-6 sprints!!! This should not be a blame session.

Scrum Framework Roles : Product Owner, ScrumMaster, Team Ceremonies : Sprint Planning, Sprint Review, Sprint Retrospective, & Daily Scrum Meeting Artifacts : Product Backlog, Sprint Backlog, and Burndown Chart Scrum is a simple "inspect and adapt" framework that has three roles, three ceremonies, and three artifacts

Product Backlog A list of all desired work on the project Usually a combination of story-based work (“let user search and replace”) task-based work (“improve exception handling”) List is prioritized by the Product Owner Typically a Product Manager, Marketing, Internal Customer, etc. Scrum

Sample Product Backlog Scrum

Eksempel på et Backlog item

Planning Hver post-it svarer til en task inden for et Backlog item

Planning (Real-life)

The Sprint Goal A short “theme” for the sprint: Scrum 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.”

From Sprint Goal to Sprint Backlog Scrum team takes the Sprint Goal and decides what tasks are necessary Team self-organizes around how they’ll meet the Sprint Goal Manager doesn’t assign tasks to individuals Managers don’t make decisions for the team Sprint Backlog is created Scrum

Sample Sprint Backlog Scrum

Sprint Backlog format/Taskboard

Sådan benyttes et Taskboard

Et real-life Sprint Backlog Taskboard

Sprint Backlog during the Sprint Changes Team adds new tasks whenever they need to in order to meet the Sprint Goal Team can remove unnecessary tasks But: Sprint Backlog can only be updated by the team Estimates are updated whenever there’s new information Scrum

Sprint Burndown Chart Scrum

Some conclusions about pair-programming (Henrik Kniberg, Crisp) Pair programming does improve code quality. Pair programming does improve team focus (for example when the guy behind you says “hey is that stuff really necessary for this sprint?”). Pair programming is exhaustive and should not be done all day. Shifting pairs frequently is good. Pair programming does improve knowledge spread within the group. Surpisingly fast too. Some people just aren’t comfortable with pair programming. Don’t throw out an excellent programmer just because he isn’t comfortable with pair programming. Code review is an OK alternative to pair programming. The “navigator” (the guy not using the keyboard) should have a computer of his own as well. Not for development, but for doing little spikes when necessary, browsing documentation when the “driver” (the guy at the keyboard) gets stuck, etc. Don’t force pair programming upon people. Encourage people and provide the right tools but let them experiment with it at their own pace.