20
Introduction to Introduction to Scrum for Software Scrum for Software Project Management Project Management Kevin Thompson, Ph.D. Kevin Thompson, Ph.D. Project Management Professional Project Management Professional Certified Scrum Practitioner Certified Scrum Practitioner Certified Scrum Master Certified Scrum Master http://www.linkedin.com/in/kevinthompsonphd -- [email protected] -- [email protected]

Introduction to Scrum for Software Project Management Kevin Thompson, Ph.D. Project Management Professional Certified Scrum Practitioner Certified Scrum

Embed Size (px)

Citation preview

Page 1: Introduction to Scrum for Software Project Management Kevin Thompson, Ph.D. Project Management Professional Certified Scrum Practitioner Certified Scrum

Introduction to Introduction to Scrum for Software Scrum for Software

Project Project ManagementManagementKevin Thompson, Ph.D.Kevin Thompson, Ph.D.

Project Management ProfessionalProject Management ProfessionalCertified Scrum PractitionerCertified Scrum Practitioner

Certified Scrum MasterCertified Scrum Master

http://www.linkedin.com/in/kevinthompsonphd -- [email protected] -- [email protected]

Page 2: Introduction to Scrum for Software Project Management Kevin Thompson, Ph.D. Project Management Professional Certified Scrum Practitioner Certified Scrum

2

or, “Dude, where’s my or, “Dude, where’s my Gantt Chart?”Gantt Chart?”

Page 3: Introduction to Scrum for Software Project Management Kevin Thompson, Ph.D. Project Management Professional Certified Scrum Practitioner Certified Scrum

3

What is the Purpose of What is the Purpose of this Talk?this Talk?

It is not to teach Scrum.It is not to teach Scrum. The philosophy of Scrum is simple. The execution is The philosophy of Scrum is simple. The execution is

not.not. Learning Scrum adequately takes days, not half an Learning Scrum adequately takes days, not half an

hour.hour. It is to provide a perspective on Scrum that It is to provide a perspective on Scrum that

makes sense to a trained Project Manager.makes sense to a trained Project Manager. Scrum did not arise in a formal PM context. It can Scrum did not arise in a formal PM context. It can

seem alien, or wrong, to Project Managers.seem alien, or wrong, to Project Managers. It uses unfamiliar termsIt uses unfamiliar terms It makes unfamiliar optimizations and tradeoffsIt makes unfamiliar optimizations and tradeoffs

It is also to show how Scrum arises from basic It is also to show how Scrum arises from basic principles.principles. Define success. Define failure. Optimize process for Define success. Define failure. Optimize process for

success.success.

Page 4: Introduction to Scrum for Software Project Management Kevin Thompson, Ph.D. Project Management Professional Certified Scrum Practitioner Certified Scrum

4

What do Success and What do Success and Failure Mean in Software Failure Mean in Software

Development?Development? Success: Provide the right features Success: Provide the right features

to the customer, at the right timeto the customer, at the right time Failure: Provide the right features at Failure: Provide the right features at

the wrong time, or wrong features at the wrong time, or wrong features at any timeany time Too many “software failures” means Too many “software failures” means

“company failure!”“company failure!”

Page 5: Introduction to Scrum for Software Project Management Kevin Thompson, Ph.D. Project Management Professional Certified Scrum Practitioner Certified Scrum

5

What is the “Right What is the “Right Time?”Time?”

1.1. Some apps (e.g. business Web apps) are Some apps (e.g. business Web apps) are subjected to a continuing stream of feature subjected to a continuing stream of feature requestsrequests

Requests come in over timeRequests come in over time Features are desired when requestedFeatures are desired when requested

2.2. Some apps (e.g. flight control software) may Some apps (e.g. flight control software) may have a fixed set of featureshave a fixed set of features

Requirements are fairly staticRequirements are fairly static Features may not be usable until platform is Features may not be usable until platform is

readyready We focus on Scenario 1 hereWe focus on Scenario 1 here

Page 6: Introduction to Scrum for Software Project Management Kevin Thompson, Ph.D. Project Management Professional Certified Scrum Practitioner Certified Scrum

6

How does Success Relate to How does Success Relate to the Schedule of Feature the Schedule of Feature

Delivery?Delivery? Ideal: Provide every useful new feature the Ideal: Provide every useful new feature the

day it is requestedday it is requested Key elements of ideal solutionKey elements of ideal solution

Instant turnaround (zero time to feature Instant turnaround (zero time to feature delivery)delivery)

Maximum responsiveness (“Yes” to every Maximum responsiveness (“Yes” to every request)request)

Note: Other definitions of success are Note: Other definitions of success are possible! possible! They could lead to optimal processes that are They could lead to optimal processes that are

different from Scrum.different from Scrum.

Page 7: Introduction to Scrum for Software Project Management Kevin Thompson, Ph.D. Project Management Professional Certified Scrum Practitioner Certified Scrum

7

How can we Approximate How can we Approximate the Ideal of Success in the the Ideal of Success in the

Real World?Real World? Instant turnaround Instant turnaround Work in short Work in short

development cyclesdevelopment cycles Within cycle, reduce risk, maximize Within cycle, reduce risk, maximize

delivered value by finishing each feature delivered value by finishing each feature before starting nextbefore starting next

Maximum responsiveness Maximum responsiveness Prioritize Prioritize feature requests into rank order, and feature requests into rank order, and “burn down” the list from the top“burn down” the list from the top Revise the ranked feature list before each Revise the ranked feature list before each

development cycle, based on current development cycle, based on current evaluation of customer needsevaluation of customer needs

Page 8: Introduction to Scrum for Software Project Management Kevin Thompson, Ph.D. Project Management Professional Certified Scrum Practitioner Certified Scrum

8

Does Scrum Approach the Does Scrum Approach the Ideal?Ideal?

It attempts to, because Scrum is a project-It attempts to, because Scrum is a project-management framework designed to management framework designed to address rapidly-changing customer needs.address rapidly-changing customer needs.

Scrum is optimized for projects whereScrum is optimized for projects where Needs change quickly (scope is very fluid).Needs change quickly (scope is very fluid). Most implementation can be done quickly.Most implementation can be done quickly. Long lead times are not usually a major issue.Long lead times are not usually a major issue. Project is cyclic (always starts over in a few Project is cyclic (always starts over in a few

weeks, so new needs can be addressed then), weeks, so new needs can be addressed then), not linear (only one chance to “do it right”).not linear (only one chance to “do it right”).

Success is measured by customer satisfaction Success is measured by customer satisfaction with responsiveness and turnaround timewith responsiveness and turnaround time

Page 9: Introduction to Scrum for Software Project Management Kevin Thompson, Ph.D. Project Management Professional Certified Scrum Practitioner Certified Scrum

9

How does Scrum Differ How does Scrum Differ from Classic “Waterfall” from Classic “Waterfall”

Project Management?Project Management? Classic “Waterfall”Classic “Waterfall”

Freezes scope, Freezes scope, estimates scheduleestimates schedule

Adjusts schedule Adjusts schedule first, scope second, first, scope second, as needed to meet as needed to meet target dates.target dates.

Plans all features, Plans all features, designs all features, designs all features, implements all implements all features, tests all features, tests all features, fixes all features, fixes all bugs, in that orderbugs, in that order

ScrumScrum Freezes schedule, Freezes schedule,

estimates scopeestimates scope Never changes Never changes

schedule. Adjusts schedule. Adjusts scope, as needed, to scope, as needed, to meet target dates.meet target dates.

Plans one feature, Plans one feature, designs one feature, designs one feature, implements one implements one feature, tests one feature, tests one feature, fixes bugs for feature, fixes bugs for one feature, then one feature, then repeats for next featurerepeats for next feature

Page 10: Introduction to Scrum for Software Project Management Kevin Thompson, Ph.D. Project Management Professional Certified Scrum Practitioner Certified Scrum

10

Are Scrum and Waterfall Are Scrum and Waterfall Similar?Similar?

Yes, on paper, but no, in practice.Yes, on paper, but no, in practice. The key difference is about “Feature Completion”The key difference is about “Feature Completion”

Scrum process finishes one feature at a time (all the Scrum process finishes one feature at a time (all the way through testing). If specified scope takes 2X more way through testing). If specified scope takes 2X more time than expected, at least some features will be ready time than expected, at least some features will be ready to ship.to ship.

Waterfall process parallelizes work across features at Waterfall process parallelizes work across features at each stage, finishing all features at end. If specified each stage, finishing all features at end. If specified scope takes 2X more time than expected, it may be that scope takes 2X more time than expected, it may be that no features will be ready to ship, as all are still in no features will be ready to ship, as all are still in process.process.

Other differences have more to do with Other differences have more to do with customary practices than fundamental concepts customary practices than fundamental concepts (but in practice, make a huge difference).(but in practice, make a huge difference).

Scrum is like “one waterfall per feature”, Scrum is like “one waterfall per feature”, end-to-end through the development cycle.end-to-end through the development cycle.

Page 11: Introduction to Scrum for Software Project Management Kevin Thompson, Ph.D. Project Management Professional Certified Scrum Practitioner Certified Scrum

11

How does Scrum Differ How does Scrum Differ from Normal Project from Normal Project

Management?Management? It doesn’t, really. It doesn’t, really.

It just makes a less-familiar tradeoff in the It just makes a less-familiar tradeoff in the “iron triangle” of scope, schedule, and “iron triangle” of scope, schedule, and resources.resources. Most non-software projects have a specified Most non-software projects have a specified

scope. One estimates schedule, and adjusts scope. One estimates schedule, and adjusts schedule to guarantee the scope.schedule to guarantee the scope.

Scrum projects have a specified schedule. One Scrum projects have a specified schedule. One estimates scope, and adjusts scope to guarantee estimates scope, and adjusts scope to guarantee the schedule.the schedule.

It also uses terms that seem peculiar to It also uses terms that seem peculiar to Project Managers.Project Managers.

Page 12: Introduction to Scrum for Software Project Management Kevin Thompson, Ph.D. Project Management Professional Certified Scrum Practitioner Certified Scrum

12

Why not Specify Schedule Why not Specify Schedule and Scope?and Scope?

Software development involves constant invention, Software development involves constant invention, not repetition of standard steps. Accurate effort not repetition of standard steps. Accurate effort estimation is impossible.estimation is impossible. Thus Scope and Schedule cannot both be guaranteed.Thus Scope and Schedule cannot both be guaranteed. Attempts to constrain both yield high uncertainty and high Attempts to constrain both yield high uncertainty and high

risk!risk! The risk is to the The risk is to the project’s criteria for successproject’s criteria for success, which is , which is

customer satisfaction with responsiveness and turnaround customer satisfaction with responsiveness and turnaround time.time.

Risk is minimized if only one variable is constrained.Risk is minimized if only one variable is constrained. Scrum chooses a predictable schedule over a predictable Scrum chooses a predictable schedule over a predictable

scope.scope. We are much more likely to deliver on a commitment to We are much more likely to deliver on a commitment to

schedule than on a commitment to scope.schedule than on a commitment to scope. We communicate the schedule commitment to customers, and We communicate the schedule commitment to customers, and

meet it.meet it.

Page 13: Introduction to Scrum for Software Project Management Kevin Thompson, Ph.D. Project Management Professional Certified Scrum Practitioner Certified Scrum

13

What are the Key Scrum What are the Key Scrum Concepts?Concepts?

Software requirements are either chunked into small Software requirements are either chunked into small sets called “sets called “storiesstories” (often in narrative form), or are ” (often in narrative form), or are bug-fix requests.bug-fix requests.

Small teams (3—7 people) work in short “Small teams (3—7 people) work in short “sprintssprints” (2—4 ” (2—4 weeks) to implement stories in weeks) to implement stories in rank order.rank order. Requirements are frozen when sprint starts—no change requests Requirements are frozen when sprint starts—no change requests

allowed!allowed! Teams Teams self-organizeself-organize to best apply member skill sets to best apply member skill sets

(coding, test development, testing, etc.). PM does not (coding, test development, testing, etc.). PM does not assign tasks.assign tasks.

Team members Team members collaboratecollaborate to complete stories quickly, to complete stories quickly, instead of working on separate stories in parallel.instead of working on separate stories in parallel.

At end of sprint, completed stories are “shipped,” At end of sprint, completed stories are “shipped,” incomplete stories are not.incomplete stories are not. No exceptions! Schedule is No exceptions! Schedule is notnot extended to complete work. extended to complete work.

Page 14: Introduction to Scrum for Software Project Management Kevin Thompson, Ph.D. Project Management Professional Certified Scrum Practitioner Certified Scrum

14

Scrum has New Names for Scrum has New Names for Old ConceptsOld Concepts

Project Managers Project Managers saysay ScheduleSchedule ScopeScope Work Breakdown Work Breakdown

StructureStructure ProductivityProductivity Estimate to CompleteEstimate to Complete

Scrum Masters Scrum Masters saysay SprintSprint Sprint BacklogSprint Backlog Task BreakdownTask Breakdown VelocityVelocity Burndown ChartBurndown Chart

Page 15: Introduction to Scrum for Software Project Management Kevin Thompson, Ph.D. Project Management Professional Certified Scrum Practitioner Certified Scrum

15

Scrum has New Names for Scrum has New Names for Process GroupsProcess Groups

Project Managers Project Managers saysay PlanPlan ExecuteExecute Monitor & Monitor &

ControlControl CloseClose

Scrum Masters sayScrum Masters say Define Backlog, Plan Define Backlog, Plan

SprintSprint Develop and TestDevelop and Test Move Stickies, have Daily Move Stickies, have Daily

ScrumsScrums Demo, Release, have Demo, Release, have

RetrospectiveRetrospective

Page 16: Introduction to Scrum for Software Project Management Kevin Thompson, Ph.D. Project Management Professional Certified Scrum Practitioner Certified Scrum

16

Scrum has New Names Scrum has New Names for Rolesfor Roles

Scrum MasterScrum Master Manages the process (enforces, tracks, expedites problem Manages the process (enforces, tracks, expedites problem

resolution)resolution) Runs daily Scrum and Sprint Planning MeetingsRuns daily Scrum and Sprint Planning Meetings Usually a Project ManagerUsually a Project Manager

Product OwnerProduct Owner Responsible for requirements (new features, bug fixes) and release Responsible for requirements (new features, bug fixes) and release

datesdates Works with customers to define user-facing featuresWorks with customers to define user-facing features Collaborates with engineers, QA, Services, and Support personnel, to Collaborates with engineers, QA, Services, and Support personnel, to

work out order of implementation of all requestswork out order of implementation of all requests Usually a Product ManagerUsually a Product Manager

TeamTeam Self-organizes cross-functional members to implement and test Self-organizes cross-functional members to implement and test

featuresfeatures Usually software & test engineers, database architects, UI Usually software & test engineers, database architects, UI

developers, etc.developers, etc.

Page 17: Introduction to Scrum for Software Project Management Kevin Thompson, Ph.D. Project Management Professional Certified Scrum Practitioner Certified Scrum

17

Scrum has a Different Scrum has a Different Concept of ScheduleConcept of Schedule

MS Project schedules are possible, MS Project schedules are possible, but not of much value.but not of much value.

A Scrum schedule is really a A Scrum schedule is really a cadence, i.e. a repeating sequence of cadence, i.e. a repeating sequence of activities and events.activities and events. Content of cadence varies by role or Content of cadence varies by role or

organization:organization: Team, Product Management, Customer Team, Product Management, Customer

Support, Professional Services, etc.Support, Professional Services, etc.

Page 18: Introduction to Scrum for Software Project Management Kevin Thompson, Ph.D. Project Management Professional Certified Scrum Practitioner Certified Scrum

18

E.g., a Development Team E.g., a Development Team Cadence might Repeat Cadence might Repeat

Every 1—3 WeeksEvery 1—3 Weeks

Page 19: Introduction to Scrum for Software Project Management Kevin Thompson, Ph.D. Project Management Professional Certified Scrum Practitioner Certified Scrum

19

SummarySummary Scrum is a particular Project Management Scrum is a particular Project Management

framework for software development, withframework for software development, with A short, fixed schedule per cycle, with adjustable scopeA short, fixed schedule per cycle, with adjustable scope A repeating cadence of events, milestones, and meetingsA repeating cadence of events, milestones, and meetings A practice of implementing and testing requirements A practice of implementing and testing requirements

(stories and bug fixes) serially, to ensure some work is (stories and bug fixes) serially, to ensure some work is release-ready after each cyclerelease-ready after each cycle

Scrum uses standard project-management Scrum uses standard project-management concepts.concepts.

Scrum addresses customer satisfaction by Scrum addresses customer satisfaction by optimizing turnaround time and responsiveness to optimizing turnaround time and responsiveness to requests.requests.

Page 20: Introduction to Scrum for Software Project Management Kevin Thompson, Ph.D. Project Management Professional Certified Scrum Practitioner Certified Scrum

20

Q & AQ & A

Questions?Questions? Answers!Answers!