Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project...

61
Agile Project Management with SCRUM Fast Track Course NobleProg Limited

Transcript of Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project...

Page 1: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

Agile Project Management with SCRUM

Fast Track CourseNobleProg Limited

Page 2: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 2

Who r u?●What do you do now●What made you decide to participate in this

course●Theoretical knowledge about project

management?●Practical experience with PM●How many of you heard about Agile/Scrum●How many of you heard about NobleProg

Page 3: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 3

Waterfall•Published in 1970 by Winston W. Royce•Ironically, Royce was presenting this model as an example of a flawed, non-working model

Page 4: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 4

Waterfall•Ideal in construction or engineering projects•Usually preceded by prototyping•Requires Central Control System•As complexity increases, central control breaks down•

Page 5: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 5

Waterfall Model Problems•Changing Requirements•Blaming other people (Analysts blaming designers, designers developers, etc..)•Lack of understanding business by lower ranks•Long feedback•Hit-by-a-spaceship effect•

Page 6: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 6

Agile Manifesto

http://agilemanifesto.org/

Page 7: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 7

Building your house in an agile way

Page 8: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 8

Agile Frameworks/Methodologies

•Extreme Programming (XP)•Scrum•Agile Unified Process (AUP)•Feature Driven Development (FDD)•Open Unified Process (OpenUP)•RUP•Kanban

Page 9: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 9

The Bible

http://www.scrum.org/storage/scrumguides/Scrum_Guide.pdf

Page 10: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 10

Scrum Current Affairs●Ken Schwabers●scrum.org●PSM

●Scrumallience.org●CSM

Page 11: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 11

Waterfall vs Agile● Requirements for the whole project vs. requirements for the

iteration, overview of the bigger picture● Clearly defined roles vs Cross-functional teams● Long time estimation vs short time estimation● Long-time bud getting vs short time budgeting● Abandoning project in the middle leaves useless artefacts vs

each iteration delivers business value● Extensive out-of-synch documentation vs lean general and in-

code documentation● Changes are expensive vs changes are expected and cheap● Long feedback loop between customer and developer vs

almost immediate feedback

Page 12: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 12

Successful Project●Successful project is not necessarily a

project that goes exactly as expected, yielding results identical to those that were predicted.

●Scrum controls the process of software development to guide work toward the most valuable outcome possible.

Page 13: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 13

SCRUM

Page 14: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 14

Why SCRUM?In 1986, Hirotaka Takeuchi ( 竹内 弘高 ) and Ikujiro Nonaka ( 野中 郁次郎 )Compared the methodology where phases strongly overlap and the whole process is performed by one cross-functional team across the different phases, to rugby, where the whole team "tries to go to the distance as a unit, passing the ball back and forth.

Page 15: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 15

Scrum Roles•Product Owner–The customer itself or the proxy between the customer and the team•Scrum Master–Is not a project manager•Development Team

All management responsibilities in a project are divided among these three roles!!!

Page 16: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 16

Project Manager

THERE IS NOTHERE IS NOPROJECT MANAGER ROLE!PROJECT MANAGER ROLE!

Page 17: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 17

Project Manager

What does the project manager do in What does the project manager do in SCRUM?SCRUM?

Page 18: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 18

Pigs and Chickens

Page 19: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 19

Pigs and Chickens●The people who fill the three Scrum roles

are those who have committed to the project (Pigs)

●Others might be interested in the project, but they aren’t on the hook (Chickens)

Page 20: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 20

Scrum Team•The Team is responsible for developing functionality•Self-managing and self-organizing•Up to 10 people (7 optimal)•Cross functional (db admin, web designer, tester, etc...)•Bigger project = more Scrum teams•Responsible for managing itself and has full authority to do anything to meet the Sprint goal within the guidelines, standards, and conventions of the organization and of Scrum

Page 21: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 21

Scrum Team•Self-management–There is no imposed leader–Everybody is responsible for the success of the project•On-site client (or proxy)–Immediate feedback in case of discrepancies–Demonstrations at the end of each iteration shows only working stuff

Page 22: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 22

Quiz•How many different roles are in SCRUM?•How may people can be in a team?•How long usually does a sprint last?

Page 23: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 23

Scrum Master● Responsible for the Scrum process● Teaching Scrum to everyone involved in the project● Implementing Scrum so that it fits within an

organization’s culture and still delivers the expected benefits

● Ensuring that everyone follows Scrum rules and practices

● Manager drives the team vs Scrum Master serves the team

● Scrum Master is a facilitator

Page 24: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 24

Product Owner● Responsible for representing the interests of everyone

with a stake in the project and its resulting system● Achieves initial and ongoing funding for the project by

creating:● project’s initial overall requirements● return on investment (ROI) objectives● release plans

● The list of requirements is called the Product Backlog● The most valuable functionality is produced first● Prioritize the Product Backlog to queue up the most

valuable requirements for the next iteration

Page 25: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 25

Page 26: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 26

Product Backlog•The requirements for the system or product•Product Owner is responsible for the contents, prioritization, and availability of the Product Backlog•It is never complete•Is merely an initial estimate of the requirements

Page 27: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 27

Product Backlog•Span to foreseeable future•Made of pieces of functionality–Stories (XP)–Use cases (UML)•Proven business value•Testable•Completion time should not be longer than a couple of days•Examples–User can browse on-line catalogue–Client can buy a product using a credit card

Page 28: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 28

Sprint Backlogs•A subset of Product Logs•Specified and discussed with all the team members especially with the product owner•Estimated by more than one person•If it takes longer than a couple of days, they should be split

Page 29: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 29

Iteration (Sprint)•Planning and Estimating (4+4)–Define clear goals–Everyone (not only the person who are going to develop it) MUST understand the task–Everyone can contribute their way they see is the best•Daily Scrums (15min every day)•Demonstration (4h)•Retrospection – post-mortem (4h)

Page 30: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 30

Estimation in Iteration Meeting•User stories–Business value–How to test it (acceptance criteria)•Different schools about complexity–Abstract size (0,1,2,5,8)–Number of days•Planning poker•Splitting User stories into task•Task duration from 1 hour up to 3 days

Page 31: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 31

Planning Poker

Page 32: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 32

Precision vs Accuracy•Precise but not accurate PI number: 3.12134352343435•Accurate but not precise number PI number: 3.14•Try to be accurate not precise•Precision gives false confidence about estimation

Page 33: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 33

Estimation●What is the height of the highest mountain●What is the longitude of Reykjavik●What is the latitude of Reykjavik

Page 34: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 34

Estimation Exercises1)Choose couple of user stories2)Each person in a group should write down

their estimations without communicating with each other

3)Then, each person tells their estimates and quickly explain why (the components)

4)If there are discrepancies, take another round for the same story

Page 35: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 35

Exercise

•Put the proper names in the boxes above using words: Scrum, Retrospective, Demo, Planning, Estimating

Page 36: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 36

Backlogs•Product backlog–User stories–Epics•Iteration backlog–User stories (what)–Tasks (how)–Bugs

Page 37: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 37

User Story Example●As a dog owner,●I want to sign-up for a kennel reservation over Christmas so that I get a confirmed spot● Verify individual as a registered pet owner● Verify that preferred members get 15% discount on basic

service● Verify that preferred members get 25% discount on extended

services and reservation priority over other● members● Verify that past Christmas customers get reservation priority● Verify that declines get email with discount coupon for future

services

Page 38: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 38

What does it mean DONE!?Definition of doneness can differClarify what does it mean done is a Scrum Muster and Product Owner role

For example:● functional and unit tested● documented● committed into repository● deployed on staging environment● accepted by the client (thumbs up)

Page 39: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 39

Epic ExamplesTrainer and Delegate can negotiate the date of the instructor-led on-line course in the system without a training coordinator involvement

Page 40: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 40

Advert●More about User Stories, Epics, Use

Cases and prioritization can be found in Product Owner Course available at

●http://www.nobleprog.com/scrum-product-owner/training-course

Page 41: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 41

Post It

Page 42: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 42

Page 43: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 43

Post-it vs tools●Tools can confine your choices●Post-its are simple and always visible●Tools are recommended when you work

with an outsourced teams’ members

Page 44: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 44

Exercises•Sort the pieces of functionality from the short to the longest one:Story, Epics, Task

Page 45: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 45

Burn-down Chart

Page 46: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 46

Burndown Charts

Page 47: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 47

Iteration Duration and Team Velocity

•Do not change the duration of an iteration!•What if we discovered new tasks to do in order to complete user story?•Measurement – hours or finished tasks•What does it mean done•Overtime•Adjusting next iteration

Page 48: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 48

Team Responsibility•All team members are responsible•Hit-by-the-bus factor•Openness•Support and knowledge exchange•Pair programming (one keyboard)•Master-lamma pair programming

Page 49: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 49

Daily Scrums

•People MUST stand•Up to 15 min regardless of the team size•Everyone invited, only pigs are talking

The questions must be asked:● What have I done since the last Daily Scrum?● What am I going to do between now and the next Daily Scrum?● What is preventing me from doing my work?

Page 50: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 50

Scrum guidelines•Backlog Planning (PO, Managers, Application Users)

•Planning Meeting (Team, PO, SM)

•Estimation•Iteration (Sprint) from 2 to 4 weeks–Daily Scrum (stand-up meeting)•Demonstration•Iteration review (retrospective meeting)

Page 51: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 51

Exercise•Choose roles•Start planning project•Estimate project•Create backlog•Conduct the iteration meeting–Estimate the stories (cards)–Assign the stories to people•Develop the product•Conduct the demonstration•Conduct retrospective meeting

Page 52: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 52

Scrum (pros)•Better communication•Faster development•Better team relations•Better productivity

Page 53: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 53

Scrum (cons)•People must be focused all the time. Some people may leave.•Managers loose some of their powers. Some may leave or obstruct the changes.•Partially introduce can do more harm than good.

Page 54: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 54

Scrum•Accepting uncertainty•Welcome technology changes•Delivering early and often•Constant estimating and planning•Sustainable work pace•Early feedback and learning•Self managing work environment•Self controlling environment•Delegating the responsibility•Having fun at work

Page 55: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 55

Scrum and...•documentation–You still need some sort of documentation•budgeting•outsourcing•bigger projects

Page 56: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 56

Where not to use SCRUM•If you know requirements upfront and model must be proven–Life critical projects (medical, army, etc...)•Cannot change the way clients or your management thinks•Old ways work fine ; -)

Page 57: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 57

Painful Transition•What happened to Gantt?•Time reporting?•Documentation?•Responsibility•Clients involved all the times

Page 58: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 58

Tools•JIRA (Greenhopper)•Redmine•Xplanner (deprecated)•Google Calc (be careful)•Agilo•Scrumy•Spreedsheet (deprecated)

Page 59: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 59

Books

Page 60: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 60

Scrum Modifications•Extreme Programming (XP)•Scrum•Agile Unified Process (AUP)•Feature Driven Development (FDD)•Open Unified Process (OpenUP)•RUP•Kanban

Page 61: Agile Project Management with SCRUM Fast Track Course ... · Successful Project Successful project is not necessarily a project that goes exactly as expected, yielding results identical

02/02/09 www.NobleProg.comNobleProg 2010 All Rights Reserved 61

Thank Youwww.nobleprog.comOnline Consultancy and TrainingClassroom Training