45

Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Embed Size (px)

Citation preview

Page 1: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methoologies and Scrum

francesco mapelli (@mapelli)

University of Insubria

April 29, 2016

Page 2: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Agile Methodologies

Scrum

References

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 3: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Introduction

History

I Waterfall issues identi�ed earlyI "Risky and invites failure" , "Do it twice" (Royce, 1970)

I Light software development methods in the '90I ScrumI eXtreme Programming (XP)I ...

I 2001 The Agile Manifesto

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 4: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Introduction

Why a shift in the approach?

I In a predictable environment atheoretical model works better

I In a chaotic environment (or whenprocess is too complex) an empiricalapproach works better

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 5: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Manifesto

Tha Agile Manifesto: Values

I Individuals and iteractions over Processess and tools

I Working software over Comprehensive documentation

I Customer collaboration over Contract negotiation

I Responding to change over Follwing a plan

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 6: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Manifesto

Tha Agile Manifesto: Principles

I Customer satisfaction by early and continuous delivery ofvaluable software

I Welcome changing requirements, even in late development

I Working software is delivered frequently (weeks rather thanmonths)

I Close, daily cooperation between business people anddevelopers

I Projects are built around motivated individuals, who should betrusted

I Face-to-face conversation is the best form of communication(co-location)

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 7: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Manifesto

Tha Agile Manifesto: Principles

I Working software is the principal measure of progress

I Sustainable development, able to maintain a constant pace

I Continuous attention to technical excellence and good design

I Simplicity - the art of maximizing the amount of work notdone - is essential

I Best architectures, requirements, and designs emerge fromself-organizing teams

I Regularly, the team re�ects on how to become more e�ective,and adjusts accordingly

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 8: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Summary

Remember

I Agile is a set of principles

I Agile does NOT de�ne a method

I Di�erent approaches / methodologies can be agile

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 9: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Introducion

Introduction to Scrum

I Scrum is an agile frameworkI Focus on delivering the highest business value in the shortest

time

I Allows rapid and recursive inspection of working softwareI 2 weeks - 1 month

I Business sets priorities

I Teams self organize to determine the best way to deliver thehighest priority features

I Every 2 weeks / 1 month anyone can see real working softwareand decide to continue to work or release it

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 10: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Introducion

Key concepts

I Self organizing teams

I No speci�c engineering practices

I Simple set of rules that allows generating processes, practicesand solutions

I evolutive approachI solutions can and should change in time

I Requirements are items of a list called "Product Backlog"

I Product is developed in a series of "Sprints"

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 11: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Introducion

Overview

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 12: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Sprint

Sprint

I Scrum projects make progresses in a series of Sprints

I Duration: 2-4 weeks or a monthI (usually does not change)

I Requirements, design, coding, testing during the sprint

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 13: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Sprint

Not a sequential process

I Instead of doing all of one thing at atime, teams do a bit of everything allthe time

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 14: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Sprint

No changes during a sprint

I Changes should NOT occur during a sprint

I If something changes, the next sprint will react to the newcontext

I Plan sprint duration according to how much time change canbe kept outside of the sprint

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 15: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Sprint

Potentially shippable product at end of each sprint

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 16: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Sprint

Worst case

I The limited lenght of the sprint allows to limit the damage,worst case we go back X days

I But X days of learning have been mined

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 17: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scrum Framework

Scrum Framework

I RolesI Product OwnerI Scrum MasterI Team

I CerimoniesI Sprint PlanningI Sprint ReviewI Sprint RetrospectiveI Daily Scrum Meeting

I ArtifactsI Product BacklogI Sprint BacklogI Burndown Charts

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 18: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scrum Framework - Roles

Roles

I Product Owner

I Scrum Master

I Team

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 19: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scrum Framework - Roles

Product Owner

I De�ne the features of the product

I Decide on release date and content

I Be responsible for the pro�tability of the product (ROI)

I Prioritize features according to market value

I Adjust features and priority every iteration, as needed

I Accept or reject work result

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 20: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scrum Framework - Roles

Product Owner (2)

I Voice of the customer (or customer himself)

I Business side of the project

I Should not interact on technical aspects

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 21: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scrum Framework - Roles

Scrum Master

I Interface between team and management

I Protects the teamI Shield the team from external interferencesI from committing too mucI from relaxing too much

I Responsible for enacting Scrum values and practices

I Removes impediments

I Ensures that the team is fully functional and productive

I Enables close cooperation across all roles and functions

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 22: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scrum Framework - Roles

Scrum Master (2)

I FacilitatorI Helps PO to update the backlogI Encourages improvements in the teamI Stimulates solutions and facilitate meetingsI Helps the team to de�ne when a feature is DoneI ...

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 23: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scrum Framework - Roles

Team

I Typically 5-9 people

I Members should be full-timeI May be exceptions (e.g., database administrator)

I Teams are self-organizingI Really!

I Ideally, no titles but rarely a possibility

I Membership should change only between sprints

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 24: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scrum Framework - Roles

Team (2)

I Should deliver potentially shippable product at end of eachiteration

I Cross-functional:I Programmers, testers, user experience designers, etc.

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 25: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scrum Framework - Cerimonies

Cerimonies

I Sprint planning

I Daily scrum meeting

I Sprint review

I Sprint retrospective

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 26: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scrum Framework - Cerimonies

Sprint Planning

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 27: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scrum Framework - Cerimonies

Sprint Planning

I Toghether with the Product Owner, a sprint goal is identi�ed

I Sprint goal is an high-level statement of what value the sprintwill produce

I "Add functionalities related to booking for customers of thewebsite"

I Team selects items from the product backlog they can committo completing

I Sprint backlog is createdI Tasks are identi�ed and each is estimated (usually in hours)I Collaboratively, not done alone by the ScrumMaster

I High-level design is considered

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 28: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scrum Framework - Cerimonies

Sprint planning, example

I Product backlog"As a vacation planner, I want to see photosof the hotels." - becomes

I Code the middle tier (8 hours)I Code the user interface (4)I Write test �xtures (4)I Code the foo class (6)I Update performance tests (4)

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 29: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scrum Framework - Cerimonies

Daily scrum meeting

I 15-minutes

I Stand-up

I Not for problem solving

I Whole world is invited

I Only team members, ScrumMaster, product owner, can talkI PO can attend or not, depending on the team preferences

I Helps avoid other unnecessary meetings

I same place, same time

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 30: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scrum Framework - Cerimonies

Daily scrum meeting

I Everyone answers 3 questionsI What did you do yesterday?I What will you do today?I Is anything in your way?

I These are not status for the ScrumMaster

I They are commitments in front of peers

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 31: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scrum Framework - Cerimonies

Sprint review

I Team presents what it accomplished during the sprintI we are inspecting how the product is going

I Typically takes the form of a demo of new features orunderlying architecture

I Informal

I 2-hour prep time rule

I No slides

I Whole team participates

I Invite the world

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 32: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scrum Framework - Cerimonies

Sprint retrospective

I Periodically take a look at what is and is not workingI we are inspecting how the process is going

I Typically 15-30 minutes

I Done after every sprint

I Scrum Master facilitates the learning

I Whole team participatesI ScrumMasterI Product ownerI TeamI Possibly customers and others

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 33: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scrum Framework - Cerimonies

Sprint retrospective - how

I Whole team gathers and discusses what they'd like to:I Start doingI Stop doingI Continue doing

I Other optionI What was bad?I What was good?I What action items can we take?

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 34: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scrum Framework - Artifacts

Artifacts

I Product Backlog

I Sprint Backlog

I Burndown Charts

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 35: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scrum Framework - Artifacts

Product Backlog

I The requirements

I A list of all desired work on the project

I Ideally expressed such that each item has value to the users orcustomers of the product

I Prioritized by the product owner

I Reprioritized at the start of each sprint

I Amount of work is estimated, and re-estimated wheninformation changes

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 36: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scrum Framework - Artifacts

Product Backlog: example

I As a guest, I want to be able to make a reservation

I As a guest, I want to cancel a reservation

I As a guest, I want to change the dates of a reservation

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 37: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scrum Framework - Artifacts

Sprint Backlog

I What should be done to meet the sprint goal?

I Things taken from the product backlog and translated intotechnical tasks

I example: "As a vacation planner, I want to see photos of thehotels."

I Code the middle tier (8 hours)I Code the user interface (4)I Write test �xtures (4)I Code the foo class (6)I Update performance tests (4)

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 38: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scrum Framework - Artifacts

Managing the Sprint Backlog

I Individuals sign up for work of their own choosing

I Work is never assigned

I Estimated work remaining is updated daily

I Any team member can add, delete or change the sprint backlog

I Work for the sprint emerges

I If work is unclear, de�ne a sprint backlog item with a largeramount of time and break it down later

I Update work remaining as more becomes known

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 39: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scrum Framework - Artifacts

Burndown Charts

I a chart that tracks the remaining work

I easily allows everybody to understandhow things are going

I can be used to re�ne the future tasksand react to current status

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 40: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scaling

Scalability

I Typical individual team is 5-9 people

I Scalability comes from teams of teams

I Factors in scalingI Type of applicationI Team sizeI Team dispersionI Project duration

I Scrum has been used on multiple 500+ person projects

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 41: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scaling

Scrum of Scrum

I Meeting with members from di�erentscrum teams to update

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 42: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Scaling

Spotify:

I Squads, tribes, guidlds, chapters

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 43: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Books

Books

I Agile Software Development with Scrum - chapter 3

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 44: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

Attribution

Some inspiration and content from

I Fornari, S. Lean Development and Agile Methodologies CourseMaterial

I Scrum Presentation, Mountain Goat SoftwareI https://www.mountaingoatsoftware.com/agile/scrum/a-

reusable-scrum-presentation

I Scrum Training Series at scrumtrainingseries.com

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum

Page 45: Agile methoologies and scrum - Lean development and Agile methodologies lesson 3

Agile Methodologies Scrum References

License

Released under CC

I This work is licensed under a Creative CommonsAttribution-ShareAlike 4.0 International License.

francesco mapelli (@mapelli) University of Insubria

Agile Methoologies and Scrum