dr. rob hasker. what if every project used scrum? why might scrum not be perfect for every project?...

28
SE 3800 NOTE 8 OTHER WAYS TO GET THERE Dr. Rob Hasker

Upload: geoffrey-long

Post on 08-Jan-2018

217 views

Category:

Documents


2 download

DESCRIPTION

Why have a process?  What does a process give us?

TRANSCRIPT

Page 1: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

SE 3800NOTE 8

OTHER WAYS TO GET THERE

Dr. Rob Hasker

Page 2: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

What if every project used Scrum? Why might Scrum not be perfect for every

project?Hard to get the big pictureEarly choices may have to be undoneWhat if we need to design the hardware that

will run the system?How would a fixed-price project work?What if tasks can’t be planned out for 2 wks?

○ What to do about critical production issues?

Page 3: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

Why have a process? What does a process give us?

Page 4: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

Why have a process? What does a process give us? Minimal requirements (Pressman):

communication: communication/collaboration with customers & other stakeholders: goal is to figure out what system is to do

planning: establishing plan for technical work, identifying risks, scheduling

modeling: creation of models to clarify requirements and outline the design

construction: code generation (possibly automatic), testing to identify errors in the construction

deployment: delivering the product including customer evaluation

Page 5: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

Why have a process? What does a process give us? Minimal requirements (Pressman):

communication: communication/collaboration with customers & other stakeholders: goal is to figure out what system is to do

planning: establishing plan for technical work, identifying risks, scheduling

modeling: creation of models to clarify requirements and outline the design

construction: code generation (possibly automatic), testing to identify errors in the construction

deployment: delivering the product including customer evaluation

“Compile more code” - (Kasmir Siekierzynski, 2007)

Page 6: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

Process framework How Scrum satisfies this list:

communication: communication/collaboration with customers & other stakeholders○ ?

planning: establishing plan for technical work, identifying risks, scheduling○ ?

modeling: creation of models to clarify requirements and outline the design○ ?

construction: code generation (possibly automatic), testing to identify errors in the construction○ ?

deployment: delivering the product including customer evaluation○ ?

Page 7: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

Process framework How Scrum satisfies this list:

communication: communication/collaboration with customers & other stakeholders○ PO, daily standups, reviews – LOTS!

planning: establishing plan for technical work, identifying risks, scheduling○ Sprint planning, grooming backlog, daily standup

modeling: creation of models to clarify requirements and outline the design○ Acceptance criteria, diagrams

construction: code generation (possibly automatic), testing to identify errors in the construction○ Executing sprint

deployment: delivering the product including customer evaluation○ Potentially releasable product at end of every sprint

Page 8: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

Traditional Model - Waterfall Requirements

What system does Design

How to impl. reqs Implementation

Coding Verification

Testing Maintenance

Delivery, rework

Page 9: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

Traditional Model Requirements

What system does Design

How to impl. reqs Implementation

Coding Verification

Testing Maintenance

Delivery, rework

Specification

Diagrams

Traditional Model - Waterfall

Code

Testprocedures

Page 10: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

Traditional Model Requirements

What system does Design

How to impl. reqs Implementation

Coding Verification

Testing Maintenance

Delivery, rework

Specification

Diagrams

Traditional Model - Waterfall

Code

Testprocedures

Communication,

Planning

Modelling

Construction

Deployment

Page 11: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

Traditional Model Wins:

Covers all deliverables Similar process to other

engineering disciplines Problems:

Nothing executable until end

Difficult to evaluate progress

Reviews block progress What to do if find

problem?

Specification

Diagrams

Traditional Model - Waterfall

Code

Testprocedures

Page 12: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

Traditional Model Wins:

Covers all deliverables Similar process to other

engineering disciplines Problems:

Nothing executable until end

Difficult to evaluate progress

Reviews block progress What to do if find

problem?

Specification

Diagrams

Traditional Model - Waterfall

Code

Testprocedures

2 solutions:• Go back to top• Wait until next projectBasic problem:• No model, no tracking

Page 13: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

So why use the waterfall model? Easy to understand Fits projects w/ hardware, software:

Page 14: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

So why use the waterfall model? Easy to understand Fits projects w/ hardware, software

But rarely used!

Page 15: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

So why use the waterfall model? Easy to understand Fits projects w/ hardware, software Most frequent alternative: Iterative

Requirements Design

Implement Test

Requirements Design

Implement Test

Requirements Design

Implement Test

Page 16: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

Iterativemodel Start w/ core,add features Cycles done in parallel or sequenced Advantages

clear feedbackshows progress

Disadvantage over waterfall:Customer evaluates on basis of what’s missingRevisiting design can be expensive

Requirements

Design

Implement

Test

Requirements

Design

Implement

Test

Requirements

Design

Implement

Test

Page 17: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

Rational Unified Process (RUP) Observation: no phase ever really complete Varying levels of effort by time

Dutchguilder, Wikipedia

Page 18: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

Unified Process Phases

Business Modeling, Requirements identify preliminary use cases, develop preliminary architecture,

outline developmentPrimary goal: establish goals for project and each iteration (with

input from all stakeholders)Key issue: address business and requirements risks

Analysis & Design: establish baseline architectureRest of project: filling "gaps" within the architecture

Implementation, TestMake use cases operational for end users

DeploymentEnd result: available for customers/end users

Page 19: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

Unified Process Phases

Business Modeling, Requirements identify preliminary use cases, develop preliminary architecture,

outline developmentPrimary goal: establish goals for project and each iteration (with

input from all stakeholders)Key issue: address business and requirements risks

Analysis & Design: establish baseline architectureRest of project: filling "gaps" within the architecture

Implementation, TestMake use cases operational for end users

DeploymentEnd result: available for customers/end users

• Very flexible• Detailed definitions for each phase• Robust enough for very large

projects

Page 20: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

Alternative process models Waterfall, iterative, RUP: plan-based Agile alternatives:

ScrumXP: Extreme ProgrammingFDD: Feature-driven Development

Page 21: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

Alternative process models Waterfall, iterative, RUP: plan-based Agile alternatives:

ScrumXP: Extreme ProgrammingFDD: Feature-driven Development

Page 22: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

Alternative process models Waterfall, iterative, RUP: plan-based Agile alternatives:

ScrumXP: Extreme ProgrammingFDD: Feature-driven Development

Commonality: Agile manifestoIndividuals/interactions > processes & toolsWorking software > comprehensive documentationCustomer collaboration > contract negotiationResponding to change > following a plan

Page 23: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

Alternative agile method Kanban

‘Signboard’ or ‘billboard’ in Japanese First developed by Toyota for manufacturing Supermarket model

people take just what they need when they need itpeople can assume constant supply, no need to

stock upstore obtains just what it needs to stay stocked

Wikipedia

Page 24: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

Kanban

On factory floor (simplified):Products in binsWhen bin is empty, send to supplier with a kanban

cardSupplier returns correctly filled bin with cardReducing supply: control number of cards

Reactive: never have product don’t need Allows careful inventory control

1 2 3 4

Page 25: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

Kanban in Software When team needs work, take top item from

backlogPO ensures top item is the most important

Team applies process to complete item Key metric: cycle time – time to complete work

Consistency allows predicting delivery of future workAvoid bottleneck skills – overlapping skills a must

Limit work in progressKeeps team focused, ensures efficiency

Can use with almost any other process

Atlassian

Page 26: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

Kanban Board Tracking products:

Page 27: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

Scrum vs. KanbanScrum Kanban

Cadence Regular fixed length sprints (ie, 2 weeks)

Continuous flow

Release methodology At the end of each sprint if approved by the product owner

Continuous delivery or at the team's discretion

Roles Product owner, scrum master, development team

No existing roles. Some teams enlist the help of an agile coach.

Key metrics Velocity Cycle time

Change philosophy Teams should strive to not make changes to the sprint forecast during the sprint. Doing so compromises learnings around estimation.

Change can happen at any time

Page 28: Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have

Review Plan-driven:

Waterfall, Iterative, Rational Unified ProcessPredictable if estimate right!

Agile:Scrum, XPKanban: just-in-time work, no sprint cycle

Why so many? What’s best?