Top Banner
Agile Fundamentals
71

Agile Fundamentals - WordPress.com

Feb 09, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Agile Fundamentals - WordPress.com

Agile Fundamentals

Page 2: Agile Fundamentals - WordPress.com

1

2

3

4

5

We’ll be talking about...

Introduction: What is Agile? What is Scrum?

Team structure and roles

Scrum ceremonies

Estimation

The ideal vs. the reality

Page 3: Agile Fundamentals - WordPress.com

But first...

Page 4: Agile Fundamentals - WordPress.com

What is the difference between Agile and Scrum?

Page 5: Agile Fundamentals - WordPress.com

Agile vs. Scrum● Agile software development

is a methodology that is adaptable to changing requirements; iterative and incremental approach

● Scrum is one of the most popular ways to implement agile - software model that follows a set of roles, responsibilities, and meetings

Page 6: Agile Fundamentals - WordPress.com

Key principles of Agile

● continuous delivery of valuable software - frequently & in shorter timescale

● regularly reflect on how to become more effective

● business + dev team collaborate daily

● importance of face-to-face team interaction

● simplicity is essential● teams are self-organizing

see Agile Manifesto

Page 7: Agile Fundamentals - WordPress.com

Scrum 101● provides a framework

designed to help teams work better together through self-organizing, self-reflecting, and continuous improvement

● framework includes: tools, meetings, roles

● frequently used in software development but can be applied to any type of team

Page 8: Agile Fundamentals - WordPress.com

(tl;dr this presentation should actually be called Scrum Fundamentals)

Page 9: Agile Fundamentals - WordPress.com

you may have heard us use these terms...

Page 10: Agile Fundamentals - WordPress.com

Important Scrum terms to know• Product backlog - a prioritized list of all tasks that need to get done, can be technical

or user-driven• User story - user driven requirement:

• “As a new mom I want to time my breastfeeding so that I can have a record of my baby’s feedings”

• Story points - an estimate of complexity + time for what it will take to complete a particular task or user story, Fibonacci numbers are used (1,2,3,5,8, etc.)

• Velocity - measure of work completed in a sprint• Jira - issue tracking software, where the product backlog is managed

• Issues are tracked via Jira tickets• Tickets are assigned, estimated, and pulled into a sprint, where they appear on the

sprint board• Sprint board has columns that indicate status (in progress, in review, in test, done,

etc.)

Page 11: Agile Fundamentals - WordPress.com

let’s dive in!

Page 12: Agile Fundamentals - WordPress.com

Who makes up the Scrum team?

Page 13: Agile Fundamentals - WordPress.com

Team structure and roles

Page 14: Agile Fundamentals - WordPress.com

Roles & responsibilities

owns the items and priority in the backlog, can choose to involve the development team in defining the work,

but the product owner remains accountable for

the work

Product Owner

ideally cross-functional and self-organizing, even if

individual teams members may have specialized skills, they are accountable as a

team

DevelopmentTeam

ensures that Scrum is understood and used

skillfully by the team; leads by helping, rather than

coercing

ScrumMaster

Page 15: Agile Fundamentals - WordPress.com

“Anyone can add a ticket to the backlog”

Page 16: Agile Fundamentals - WordPress.com

Scrum Ceremonies

Page 17: Agile Fundamentals - WordPress.com

or, what’s up with all the meetings?

Page 18: Agile Fundamentals - WordPress.com

1

2

3

4

5

Ceremonies include...

The Sprint itself

Sprint planning

Daily scrum / stand-up

Sprint review

Sprint retrospective

Page 19: Agile Fundamentals - WordPress.com

what’s a Sprint anyway?

Page 20: Agile Fundamentals - WordPress.com

The Sprint ● the heartbeat of Scrum● provides a rhythm of the

work of the team and the business

● sprint lengths should be consistent - max length is a month but most use 2 weeks

Page 21: Agile Fundamentals - WordPress.com

Sprint Planning

Page 22: Agile Fundamentals - WordPress.com

Sprint Planning

● team comes together to discuss what items at the top of the backlog they can pull into a sprint

● entire scrum team attends● team creates sprint goal =

objective/shared understanding of what will be accomplished in a given sprint

● releasable product increment

Page 23: Agile Fundamentals - WordPress.com

goals of meeting include:

1. determine what we can deliver in this sprint

2. plan how we will achieve that delivery

determined by capacity of the team + past performance of the team (velocity)

Sprint Planning

Page 24: Agile Fundamentals - WordPress.com

● no work should be pulled into a sprint after it has already started unless the team realizes they have more capacity mid-sprint

● if it turns out to be more work than expected, dev team can negotiate scope with the product owner

Sprint Planning

Page 25: Agile Fundamentals - WordPress.com

Daily Scrum

Page 26: Agile Fundamentals - WordPress.com

(a.k.a. stand-up)

Page 27: Agile Fundamentals - WordPress.com

Daily Scrum● once a day the team meets

to inspect the sprint plan and make any adaptations necessary

● held at the same time + place every day to reduce complexity

● timeboxed to 15 min● focus is key!● stand up to keep it short

Page 28: Agile Fundamentals - WordPress.com

Daily Scrum

● goals include: inspect and adapt the work of the sprint

● also transparency - critical that the entire dev team is present to meet shared understanding

● create team spirit + mental attitude toward crushing impediments

Page 29: Agile Fundamentals - WordPress.com

members of dev team describe plans & process in

3 areas

Page 30: Agile Fundamentals - WordPress.com

1) what did I do yesterday to help the dev team meet the sprint goal?

2) what will I do today to help the dev team meet the sprint goal?

3) do I see any impediments preventing me or the dev team from hitting the sprint

goal?

Page 31: Agile Fundamentals - WordPress.com

the Scrum Master is responsible for...

Page 32: Agile Fundamentals - WordPress.com

1) making sure the meeting happens

2) making sure only the dev team participates

3) coaching the team to honor the timebox

Page 33: Agile Fundamentals - WordPress.com

each dev team member delivers their 3 key updates to the full group, not just to the Scrum

Master

Page 34: Agile Fundamentals - WordPress.com

once the team has it down, the Scrum Master doesn’t even

need to attend or can attend in a neutral role

Page 35: Agile Fundamentals - WordPress.com

1

2

3

4

5

Benefits of Daily Scrum include...

Improved communication

Eliminates other meetings

Identify impediments

Highlight & promote quick decision making

Improve dev team’s knowledge sharing

Page 36: Agile Fundamentals - WordPress.com

Sprint Review

Page 37: Agile Fundamentals - WordPress.com

Sprint Review

● product owner invites relevant stakeholders to attend

● inspect the releasable product increment along with other stakeholders + adapt future plans for the product by updating the product backlog

Page 38: Agile Fundamentals - WordPress.com

Scrum team presents the product increment and group has a discussion centered on the

business context for the project, namely...

Page 39: Agile Fundamentals - WordPress.com

1) product opportunities

2) customer use cases

3) projected release dates

Page 40: Agile Fundamentals - WordPress.com

the team also discusses...

Page 41: Agile Fundamentals - WordPress.com

...what’s the most valuable thing to work on next?

Page 42: Agile Fundamentals - WordPress.com

Sprint Review

● product backlog is adapted based on the discussion

● Scrum team enters the next sprint with shared understanding and context of the priority of their work

● output = revised product backlog, defines what probable backlog items are for the next sprint

Page 43: Agile Fundamentals - WordPress.com

but wait, isn’t a Sprint Review just a Demo?

Page 44: Agile Fundamentals - WordPress.com

technically, referring to the Sprint Review as a “demo” is

incorrect - demonstration of the product increment is just a small portion of the meeting

Page 45: Agile Fundamentals - WordPress.com

Sprint Retrospective

Page 46: Agile Fundamentals - WordPress.com

Sprint Retrospective

● held after sprint review ● inspect the system of

work itself● make adaptations to be

more effective in future sprints

● allows for continuous improvements, when done well

Page 47: Agile Fundamentals - WordPress.com

the Retro is one of the most important parts of

Scrum

Page 48: Agile Fundamentals - WordPress.com

during Retro, the team:

Page 49: Agile Fundamentals - WordPress.com

1) Inspects what was completed in the last sprint, focusing on areas like: people, relationships, process,

and tools

2) Has a collaborative discussion to identify and order major items that went well, and opportunities

for improvement

3) Creates a plan for how they will roll out chosen improvements

Page 50: Agile Fundamentals - WordPress.com

the plan should be specific so that improvements are actually carried out

in the next sprint

Page 51: Agile Fundamentals - WordPress.com

new Scrum teams focus on improvements within the team; more developed Scrum teams grow to focus

on improvements across the larger organizational system

Page 52: Agile Fundamentals - WordPress.com

Estimation

Page 53: Agile Fundamentals - WordPress.com

estimation is necessary in order to determine velocity and pull the right amount of work into the

sprint

Page 54: Agile Fundamentals - WordPress.com

why do we use story points?

Page 55: Agile Fundamentals - WordPress.com

points are found to be more accurate than time estimates, plus they make teams happier

Page 56: Agile Fundamentals - WordPress.com

“if a task estimated at 2 hours expanded to 10 hours, team felt

upset and professionally deficient”

Page 57: Agile Fundamentals - WordPress.com

teams can measure improvement with points and therefore improve

faster, which is impossible with hours

Page 58: Agile Fundamentals - WordPress.com

1

2

3

4

5

Estimation: the basics

Estimate relative size of stories (S,M,L,XL)

Measure velocity per sprint

Estimates done by the people doing the work

Estimate continuously, not just upfront

Prefer verbal communication over detailed, written specifications

Page 59: Agile Fundamentals - WordPress.com

why do we use the Fibonacci sequence?

Page 60: Agile Fundamentals - WordPress.com

1) mathematical analysis shows exponential growth in estimation points is better than linear

2) growth pattern found in nature; teams self-adjust to optimize practice using it

3) distance between points is large enough for people to make a clear distinction between sizes

Page 61: Agile Fundamentals - WordPress.com

Estimation: how to

● “planning poker” - can be done with cards or fingers

● directed by Scrum Master, everyone shows cards at the same time

● if cards are more than 3 numbers apart in sequence, those who are “high” and “low” must explain why, then everyone votes again

● not a debate, just a statement of reason

Page 62: Agile Fundamentals - WordPress.com

Estimation: how to

● vote until all numbers are within 3 cards, then average

● average may not even be a Fibonacci number - but simulation shows the average is very close to real estimate

● consensus is necessary

Page 63: Agile Fundamentals - WordPress.com

estimation takes into consideration

implementation + test!

Page 64: Agile Fundamentals - WordPress.com

i.e. what will it take to fully close out this story?

Page 65: Agile Fundamentals - WordPress.com

The ideal vs. the reality

Page 66: Agile Fundamentals - WordPress.com

Scrum provides the framework but makes a lot of

assumptions. It is up to the individual team to tweak the process as needed to fit their

own goals

Page 67: Agile Fundamentals - WordPress.com

We can use Scrum as a guideline vs. a rule

Page 68: Agile Fundamentals - WordPress.com

No expectation to be perfect - Scrum is about awareness of

how we can be better and continuously working to

improve

Page 69: Agile Fundamentals - WordPress.com

The ideal vs. the reality• Project Manager vs. Scrum Master• Product Manager vs. Product Owner• Specialized skills + platforms vs. cross-functional teams

• Shared dev team resources (i.e. QA)• Releasable product increments vs. Individual platform goals

Page 70: Agile Fundamentals - WordPress.com

Any questions?

Thanks for your time!

Page 71: Agile Fundamentals - WordPress.com

Relevant sources

• Scrum Foundations eLearning Series• Scrum Guides