Top Banner
Agile “101”
87

Agile 101

May 11, 2015

Download

Business

Bill McGehee

Sadly with Slide Share the Automation for the sldies does now work.
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 101

Agile “101”

Page 2: Agile 101

Who am I?• Project/Program Management +18 yrs.

o Agile software development for past 5 years• CSP, CSM, CSPO, Agile Trainer, Hansoft Certified Trainer

• Director – Portfolio Management Office (EAC)o PMO, RMO & Studio Ops

• Sr. Development Director – EA Sportso Madden, Tiger Woods, EA GameShow, EA|ON

• X360, PS3, PC, Facebook & Web

• Senior Production Expert @ Hansoft• Project Director @ Universal Studios Creative

Page 3: Agile 101

WildMcG

Page 4: Agile 101

Methodologies

Page 5: Agile 101

WaterfallConcept

Release

Testing

Production

Pre-Production

Page 6: Agile 101

The Relay Race• “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.”

• Hirotaka Takeuchi and Ikujiro Nonaka, “The New New Product Development Game”, Harvard Business Review, January 1986.

Page 7: Agile 101

What is Agile?• It’s a method for developing products using short

iterationso Each iteration is like a short project in itselfo Uses “inspect and adapt” practices to adjust the project plano It focuses on adding features in a value prioritized way, rather than a

resource prioritized way

• Agile doesn’t solve problems!• It is about brutal transparency

o Early & Often

• Inspect and Adapt

Page 8: Agile 101

Test Driven Development

(Re)Write a test

Clean up code

Write production

Code

Check if the test

fails

Repeat

Re-factor

If pass

Page 9: Agile 101

Pair Programming

Page 10: Agile 101

Kanban/Lean

In ProgressNot Started Implemented In Testing Done

Page 11: Agile 101

The “Scrum” Process

Sprint Review

ProductBacklog

SprintBacklog

Potentially Shippable Increment

1 - 4 Weeks

24 Hour

s

Page 12: Agile 101

Waterfall Trip

Fuel

Food

Rest Stop

Page 13: Agile 101

How is Scrum different

Fuel

Food

Rest Stop

Page 14: Agile 101

What is Scrum

Page 15: Agile 101

“Agile” ManifestoBetter ways of developing software by doing it and helping others

do it. Through this work we have come to value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiationResponding to change over following a plan

That is, while there is value in the items on the right,we value the items on the left more.

Page 16: Agile 101

• Customer satisfaction by rapid, continuous delivery of useful software

• Working software is delivered frequently (weeks rather than months)

• Working software is the principal measure of progress.• Even late changes in requirements are welcomed.• Close, daily, cooperation between business people and

developers• Face-to-face conversation is the best form of communication.• Projects are built around motivated individuals, who should be

trusted• Continuous attention to technical excellence and good design.• Simplicity• Self-organizing teams• Regular adaptation to changing circumstances

Page 17: Agile 101

Inspect and Adapt

Page 18: Agile 101

Product Backlog

Page 19: Agile 101

Product Backlog• Often referred to as the big list of work

o The “idea’s for the project

• Very few “tasks” in the backlog• Definition of “Done”• Single backlog for your project

o Not “A” backlog but “THE” backlogo Viewable by entire team

• All User Stories should have a RELATIVE estimationo (Story Points / Estimated Ideal Days)

• Prioritized at multiple levels (Theme & User Story)

Page 20: Agile 101

Best Practices• The team structure and the product backlog

structure should be aligned• Themes, Epics & User Stories should be well

composed and focused on the end user.• Clear Ownership• Common terminology for your Project• “All” User Stories Start in the Product Backlog• User Stories should be re-estimated and re-

prioritized after each releaseo Include items just completed.

Page 21: Agile 101

Obstacles• Backlog seen as “Overhead”

o What is the ROI on the effort required to build and maintain the backlog

• Clarity is product ownership• Not a mandate with some teams.

Page 22: Agile 101

Value• Team has a more clear understanding of what

they are building• Business has confidence what can be delivered• Right focus at the right time• Change Tolerance – Ability to know impact of

change• Helps to surface dependencies• Gives Product leadership confidence in the roadmap.

Page 23: Agile 101

What is a User Story• Should be focused on the user• Simple and concise• Hierarchical• Prioritized• User Story Template

“As a <user role>, I want <goal> so that <reason>.”

Page 24: Agile 101

Sample Stories

As a player I want to

see the enemy appear

closer when I use my

sniper scope so I am

able to see them from

long distances

As an Origin user I want to want to know which of my friends is online

As a content creator, I

want the asset

validation pipeline to

automatically catch

memory errors so that

there are fewer failed

assets in the build

Page 25: Agile 101

Sprint Backlog

As a player I want to

see the enemy appear

closer when I use my

sniper scope so I am

able to see them from

long distances

Developers break story into smaller deliverables

Enable Right

Click to Zoom

(4)

Change zoom

position of object

when scope

(xZoom) is

selected (8)

Page 26: Agile 101

Refining the backlog

Priority/Time

Sprint

Release

Long Term

Page 27: Agile 101

Grooming the Backlog• Keep tasks out!• Structure, Structure, Structure• Remove old/stale information• Key information for all items• User Stories are sized according to priority and time.

o As items near implementation (releases/sprints) more detail is applied.

Page 28: Agile 101

Poker Planning• Relative estimation of all backlog items

o How one items compares against others in terms of efforto 1 Point item is ½ the effort of a 2 point item

• Story Points or ideal Dayso T-Shirt Sizes

• Team estimates each itemo Product Owner explains user storyo Using planning poker cards everyone picks a card

• Then discusses of there are differences in numberso Repeat until card draw until everyone agrees

• Estimation should NOT be based on timeo #1 Mistake in backlog estimation for teams

Page 29: Agile 101

Relative Accuracy• The challenge with estimating anything

o We are overly optimistic o We are just not built to think in time

• Difficulty sizing things the large the value

Points 1 2 3 5 8 13 20 400

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

Page 30: Agile 101

Release Plan• Theme or Narrative

o What is our high level goal

• Capacity based on empirical velocity from prior releaseso Based on team by team velocity

• Includes user stories with key data• Plan multiple releases

Page 31: Agile 101

Releases

Page 32: Agile 101

Release Planning• Multiple Development Sprints• 1 Hardening Sprint

o Integrations/Polish/Bugs

• Hardening Sprint length not tied to development Sprint length

Sprint

Release 1

Sprint

Hardening

Sprint

Sprint

Hardening

Release 2

Page 33: Agile 101

Release Planning

Sprint

Release

Sprint

Sprint

Sprint

Sprint

• Multiple Development Sprints

• Hardening Sprint in Middle & End

Hardening

Sprint

Sprint

Sprint

Hardening

Page 34: Agile 101

Release Burndown• Includes

o Empirical information from prior releases• Using relatively estimated user stories

o Includes team by team velocity of work for each release

Page 35: Agile 101

Sprints

Page 36: Agile 101

Start/End Together• Don’t stagger sprint starts

• Sync Sprint Start/End Dates

Team 1 Team 1

Team 2 Team 2

Team 3 Team 3

Team 1 Team 1

Team 2 Team 2

Team 3 Team 3

Page 37: Agile 101

Sprint Length• Most common Sprint length

o 2 – 3 Weekso 1 – Week for Social or Live teamso 4+ – Weeks is generally not suggested

• What Sprint length is best?o How long can your team go without shifting directionso Risk of what is being deliveredo Lowest amount of Start/Stop time (for complexity of work)o How well your teams estimates (over a span of time)

Page 38: Agile 101

Sprint Planning• Product Owner

o Pre-Assigns Sprint deliverables to sprint backlog• Taking into account the prior sprint velocities

• Teamo Reviews sprint backlogo Commits to level of work it feels it can completeo Work is broken into “work remaining”

• Based on hours

Page 39: Agile 101

Daily Standup• No more than 15 minutes• Attendees

o Product Owner, Scrummaster & Team

• 3 Questionso What did I complete yesterdayo What and I going to complete todayo What is blocking me from completing my work

• Conversations take place after meeting

Page 40: Agile 101

Sprint Review• Review work delivered with entire team• Product Owner approves/rejects work• Re-plan work that was rejected

Page 41: Agile 101

Sprint Retrospective• What went right

o Call out key successeso Where did recent changes make improvements

• What went wrongo Where can we make improvementso Only make 1 improvement at a time

• Let it rest before making additional changes

• Never stop improvingo Find the next 1% change

Page 42: Agile 101

Development Sprint• Team Goal based around structure

o Component based: Animation, SE, Scripterso Feature based: Feature X, Feature Y

• Sprint backlogo Populated from Product backlogo Includes relative estimationo Team commits to work and sets goals

• User Storieso Broken into tasks w/ work remaining hours

• Team worko Team picks up slack to reach sprint goals

Page 43: Agile 101

Hardening Sprint• Hardening/Polish Sprint

o Generally Shorter than normal Sprints (1-2 Weeks)o Polish/tweak functionality implemented in prior sprintso Sustained Testing of features (1-2 days)o Improve Frame rate (Sim/Render)o Memory fixes

• This is Polish not Finish…!

Page 44: Agile 101

Spike Sprint• Spike Sprint

o Generally Shorter than normal Sprints (days to a week)o Explore risky or unknown feature/technologyo Expected outcome is a breakdown of the user stories & risk profile

Page 45: Agile 101

Abnormal Termination• If change cannot be kept out of a sprint...

o The sprint may be abnormally terminated

• An extreme circumstance• Generally terminated by Product Owner

Page 46: Agile 101

Sprint Burndown• A visual representation of work complete• A projection of the work remaining (Hours)• Trend line indicating likely finish

Page 47: Agile 101

Quality Assurance

Page 48: Agile 101

What about QA• Partners NOT Adversaries• Two types of QA testing

o Embedded• Focused on what is being delivered• Where direct team interaction on is an advantage

o Centralized• Bulk or heavy testing• Edge case testing

• Setting expectations earlyo How are we going to test?o What is “Done”

• Then Stick to them!

Page 49: Agile 101

Embedded Testing• Verify TFCs/ Acceptance Tests• Focused on finding Bugs in sprint/release

deliverables• Special knowledge required• Prioritized and Weight• Max carryover length• “Clean” over more

o Focus on “Done”

Page 50: Agile 101

External “Bulk” Testing

• “Escaped bugs”• Typically found by external testing• Should be prioritized

o Based on User Impact

• Work with Embedded QA• Edge Case testing

Page 51: Agile 101

Bugs Per Hour• Don’t let numbers build• The snowball effect

o 1 Bug early in development generally results in 2.7 bugs later

• Should I fix a bug nowo Bug fixed in sprint can save up to 60% of fix time.

• EA Sports fix rate: .39-.42 (b.p.h.)o Gold Product: 500 – 1500 Cycleo AAA Sports: 18,000 – 23,000 Cycleo AAA Game: 25,000 – 80,000 Cycle

Page 52: Agile 101

Roles

Page 53: Agile 101

The “Roles”• Product Owner• Scrummaster• Team• Customers• QA

Page 54: Agile 101

Scrum Joke

Page 55: Agile 101

Which are U?Pigs Chickens

• Product Owners• ScrumMasters• Scrum teams

• QA

• Studio Leadership• PMO

• Marketing/PR• HR/RMO• Facilities

Page 56: Agile 101

Product Owner• Maintains the product backlog• Continuous prioritization and grooming• Conveys a shared vision• Represents the customers and shareholders• Participates in all Scrum meetings• Accepts or rejects sprint results• Guides releases, not sprints• Accepts or rejects sprint results• Communicates status externally• Terminates a sprint if needed

Page 57: Agile 101

ScrumMaster• Remove impediments• Protects the team• Ensures all Scrum artifacts exist• Facilitates Scrum meetings• Support and guide the PO role• Coaches & guides the team on agile/Scrum

principles

Page 58: Agile 101

The Team• Plans the sprint• Commits to the sprint goals• Members should be full-time

o Limit people to two teams (if possible)o Require being on one team at least 60%

• Teams are self organizing• Includes everyone needed to go from idea to

implementation• Egos are put aside

Page 59: Agile 101

Team Size• Typically 7 people (+- 2)

o Two pizza team

• Military approacho Fire Teamo Squad

Page 60: Agile 101

Team Area• Open seating• Seating Spaces 7-10 people• Low or no walls• Big whiteboard• Table for discussions

Page 61: Agile 101

Mixing Roles• Can the Product Owner and ScrumMaster also be

developers on the team?o This is a challenge for even the most experienced of Agile userso Can lead to poor decisions on either side of the roles

• CCP (Eve Online)o Shared Scrummaster/Product Owner Roleso When you are speaking to Scrummaster he/she will wear a Viking.

Page 62: Agile 101

Scalability • Scalability comes from teams of teams

o Factors in scaling• Logical division of work• Team size• Team location

Team 1

Team 2

Team 3

Page 63: Agile 101

Cross functional Teams

• Scrum teams should include all skill sets to deliver the Sprint goals

• Exampleo If you are developing a web presentation layer for the Sprint your team

should include:• Web Artist, UI Artist, Scripter, General SE, QA & Designer

o This is not always possible but this will give your team the best chance for success

Page 64: Agile 101

Additional Meetings

Page 65: Agile 101

Scrum of Scrums• Attendees

o Each team sends an individual contributor

• Agendao Everyone answers four questionso Attendees discuss the product backlog for the scrum of scrums

• Frequencyo Weekly

• Not time-boxedo Take the time to get “it” done

Page 66: Agile 101

The Questions?• What has each team done since we last meeting?• What will each team do before the next meeting?• What’s in each team’s way?• What are you about to put in another team’s

way?

**Nobody gets burned**

Page 67: Agile 101

“The Chief” Product Owner

• Visionaries for global/local products All members of their teams

• Chief PO works with feature/functional product owners to establish vision and priorities for their teams

Feature POs

Chief PO

Page 68: Agile 101

Risks• ScrumFall

o Mixing of various processes into one

• Selective use of key principleso Must use certain tools from toolboxo Others are elective

• Zealots…o No methodology is perfecto Agile will not solve all your problems

Page 69: Agile 101

Training

Page 70: Agile 101

Training• CSPO

o Designers, Producers, Art Leads, QA Leads

• CSMo Development Directors, Technical leads, Producers, QA Leads

• Agile Estimating & Planningo Content providers

• Kanban/Leano Art, IS/IT

• Waterfallo Art

Page 71: Agile 101

Recommended Reading

Page 72: Agile 101

Contact Information

[email protected]

Director – Portfolio Management Office

Page 73: Agile 101

Parking

Page 74: Agile 101

Reasons for Change

Page 75: Agile 101

Agile Myths• We don’t have long term plans

o All methodologies can fall victim to this problem

• We spend all day in meetingso Sprint Planning, Daily Standup, Sprint review, Sprint retrospectiveo Backlog Estimation, Release Planning

• Agile doesn't allow documentationo Documentation should be to the level needed de-risk the estimates

• Agile doesn't need up front designo Detailed designs should be balanced with likelihood they will be

implemented.

• Agile is a silver bullet solution to software engineering problemso There is no Silver bullet development methodology.

Page 76: Agile 101

Architecture vs. Features

100

40

20

80

60

0

1 2 3 4 5 6 7 8 9

Per

cent

of

Effo

rt

Sprints

ArchitectureUser- Valuedfunctionality

Page 77: Agile 101

Items to Add• How do we become more agile and do this properly• "Iterative and incremental death marches, agile teams that do not plan", Clinton Keith• "Scrum is like the mother in law that lives with you, it tells you everything that is wrong with you.. That is it; it doesn’t fix anything but it makes everything transparent"…. Ken Swabber• "Product Owner is the most difficult role in Game Development" , Clinton Keith• Winston Royce, waterfall• Talk about culture of an organization• Harvard Business review article• GE 1930s workforce study to see impact of productivity through change.• Product backlog iceberg• User story: As a (user role) > I want (goal) > So that (reason)• Waterfall schedule tend to have lower value up front and show more valve on a curve in alpha as everything is fixed and resolved.• Games about ownership or teamwork (easy to play)• 7 dysfunctions of a product owner• Sharing roles (CCP has a Viking hat to tell you when you are listening to a specific role).• Ralph Stacey, Stacey Diagram, Strategic management and organizational dynamics• Buy a feature training, monopoly money• Innovation games, luke• Weisbaert.com/badscrummaster• Discuss PM triangle - Think NASA going to the moon• Switching teams context switch, count 1-26 and standup, count 1-26 but at a letter 1A, 2B• Steiner 1972 Team Size Productivity• Dubar numbers for team size• Myths of a Scrummaster/Product Owner (sort with your team in 3 min)• Human response story, monkey and banana tree story• The new new product development game• Sometimes component teams are required• Sprint type, normal, hardening, component (Sprint 0, design Sprint not great idea but can do)• Define Done for Sprint• Slide on Daily Scrum• Daily Standup meeting (KobioshiMaru) example (role play)• Agile Coaching (book)• Talking stick• Silent count to 10 after asking a question• Who attends Sprint/Release Reviews• Danger of tools but reason you need them..• Sprint Backlog• Product backlog• Sprint Goals• Task Boards (show various types)• Burndown slope vs drag example burndown• Abnormal terminations• Use battlefield to explain user stories, sniper rifle with flash suppressor (doesn’t matter to a medic)• Scale and scaling up small to extremely large teams (over 1000)• Scrum of scrums• Scrum of Scrums - 4 Questions, What has your team done since we last met, What will your team do before we meet again, what is in your teams way, what is your team about to put in another teams way• Organizational - Backlog vs. teams (core services)• As the point size increases as does the variance or accuracy of the estimation

Page 78: Agile 101

“Today's problems come from yesterday's "solutions”.”

Peter SingeThe Fifth Discipline

Page 79: Agile 101

“It doesn't work to leap a twenty-foot chasm in two ten-foot jumps.”

• An American Proverb

Page 80: Agile 101

Key “Lean” PrinciplesLean principleso Eliminate wasteo Amplify learningo Decide as late as

possibleo Deliver as fast as

possibleo Empower the teamo Build integrity ino See the whole

Lean principles short» Respect for people

(team empowerment)» Continuous

improvement

Page 81: Agile 101

Refining the backlog

Time/Priority

Sprint Level

Release

Level

Page 82: Agile 101

Agile Coaches & Trainers

• Certified Coaches – (CSM, CSPO)o Mike Cohno Clinton Keith

• Agile/Hansoft Trainerso Bill McGehee (CSP, CSM, CSPO)o Brian Graham (CSM)o Jorge Hernandez (CSM)

Page 83: Agile 101

The 11 Laws of the Fifth Discipline

• Today's problems come from yesterday's "solutions."• The harder you push, the harder the system pushes back.• Behavior will grow better before it grows worse.• The easy way out usually leads back in.• The cure can be worse than the disease.• Faster is slower.• Cause and effect are not closely related in time and space.• Small changes can produce big results...but the areas of

highest leverage are often the least obvious.• You can have your cake and eat it too ---but not all at once.• Dividing an elephant in half does not produce two small

elephants.• There is no blame. Peter Singe

The Fifth Discipline

Page 84: Agile 101

Filling your Sprint

Unplanned Time

Plannable Time

Corporate Overhead

Page 85: Agile 101

Missing details Details• As a player I want to see enemies have hit

reactions when I melee them.o Are the reactions physical or animated?o How do we do collision detection?o Is there a distance check with the enemy?

Page 86: Agile 101

Team Size and Productivity

Steiner (1972)

Page 87: Agile 101

Training PlanAdd radial char to show key training areas

1. Sprints1. Sprint types2. Sprint Backlog3. Priority4. Work Breakdown5. Velocity

1. Work remaining 2. Release

1. Planning2. Velocity

3. Product Backlog1. Keys

1. Relative Estimation2. Prioritized

1. Multiple levels2. Team3. Corporate