total cost of ownership and return on...

31
Copyright 1993-2010, ADM, All Rights Reserved v1.4 1 Total Cost of Ownership and Return on Investment [email protected]

Upload: lamkiet

Post on 17-Aug-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Copyright 1993-2010, ADM, All Rights Reserved v1.4

1Total Cost of Ownership

andReturn on Investment

[email protected]

Copyright 1993-2010, ADM, All Rights Reserved v1.4

2ROI of Software ProductsTraditional software accounting only takes the cost of development into account.

A more balanced method would take the long term costs and value of the product into account.

We should also take into account the impact of short term decisions on long term ROI

Copyright 1993-2010, ADM, All Rights Reserved v1.4

3Product ROI over the life of a product

is dependent on the variables:

1. Presence of valuable functionality for customers to use;2. Absence of low value functionality that must be maintained

and sustained regardless;3. Quality code base to predictably maintain and sustain;4. Quality code base to enhance without undue effort or risk;5. Ability to catch defects early and no later than at release;6. Predictability of schedules;7. Lack of surprises; and,8. People and resources available to work on it.

Copyright 1993-2010, ADM, All Rights Reserved v1.4

1. I can readily understand the software and where and how things happen;

2. When I change or add to part of the software, there are no unintended or poorly designed dependencies;

3. I can read the code without looking for tricks or poorly defined and labelled variables or data;

4. I donʼt need the person(s) that wrote the code to explain it to me;5. There are a full set of (automated) tests to check that the function

works as expected;6. When I change something and add to the tests, I can check that the

entire change and product continues to work;7. How things work and hang together is tranparent; and,8. Standard, well-known design principles have been adhered to.

4Quality from a Developer Point of View

Copyright 1993-2010, ADM, All Rights Reserved v1.4

5

Time

ProductBacklog New

Functionality

Core Functionality

Consequences of low value software to developers

Core FunctionalityMost significant new functionality builds

on it;

Also called infrastructure and legacy software;

Is fragile, doesnʼt have complete test harnesses, and few people still know how to or are willing to touch it; and,

Requires more time to work on; velocity working on it is less than new work.

Copyright 1993-2010, ADM, All Rights Reserved v1.4

6Where does core functionality come from? Is it bought from a malicious competitor?

Time

Product Backlog

Done Velocity = 18

Undone Velocity = 36

Release 1

Time

Product Backlog

Done Velocity = 14

Undone Velocity = 30

Release 2

Copyright 1993-2010, ADM, All Rights Reserved v1.4

7

Or, do we built it ourselves??

Time

Product Backlog

Done Velocity = 8

Undone Velocity = 22

Release 3

65 7

Release 8

Copyright 1993-2010, ADM, All Rights Reserved v1.4

8Exercise - your CEO comes to your development group. She tells youit is mandatory to deliver three new pieces of functionality within three Sprints. Otherwise, competitors will decimate the company.Planned work consists of:

1. Function 1: 20 units of work, 15 new, 5 core

2. Function 2: 40 units of work, 25 new, 15 core

3. Function 3: 30 units of work, 20 new, 10 core

• Velocity for new functionality is 15 units of work per Sprint per team.

• Velocity for core functionality is 5 units of work per Sprint total.

You need a release with all three functions in three months.

Can do you do? Can you save the company?

Copyright 1993-2010, ADM, All Rights Reserved v1.4

9

What are the smells a dying piece of software?

What are the consequences to the organization?

Velocity in Core

0

500

1000

1500

2000

1 2 3 4 5 6

New Requirements Capability

Req

uire

men

ts

Year

Copyright 1993-2010, ADM, All Rights Reserved v1.4

The Assignment:

• What work would you have to do to turn the requirements into a “done” increment?• If you were developing a “done”, potentially shippable increment, what would your definition of “done” be? Would it include, for example, refactoring? What else?

The Situation:

• You are a developer at xyz.co, building advanced life-critical products. • Your Scrum team is one of seven teams working on a new release of one of the products.• Your team is going to select requirements (product backlog) to turn into something that is done (no more work remains, potentially shippable) within a two-week iteration.• Each team has all the skills to fully develop the requirements into a “done increment.”

10Exercise : Five Minutes with Three People Near You

Copyright 1993-2010, ADM, All Rights Reserved v1.4

Did your definition of “done” include the following?If not, why not?

• Performance testing• Stability testing• Refactoring• Immunological response testing• Integration with the work of the other six teams• Integration testing with the work of the other six teams so the increment is the totality of all seven teams

• Release notes• Internationalization to the six cultures where the product will be sold• User acceptance testing• Regression testing• Code reviews

Next Exercise : Five Minutes with Three People Near You

11

Copyright 1993-2010, ADM, All Rights Reserved v1.4

12

Planning P D SDevelopment Stabilization

Scrum Project with complete, itegrated “done”

Scrum project with incomplete or variable “done”

P PPP P DD D DD S

S

P

Stabilization is when you do all the “undone” work

PPP PD D DDP

Undone Undone Undone Undone

Copyright 1993-2010, ADM, All Rights Reserved v1.4

13

• 120 people, 18 Scrum teams• Release 1 : Each team produced “done” increments each Sprint, but they

were not integrated or integration tested until “code complete.”• Release 2: All teams produced an increment of integrated, integration tested

code every Sprint.

Time

Defectsin Release

Release 1

Planned Release Date

Release 2

Copyright 1993-2010, ADM, All Rights Reserved v1.4

14

Copyright 2010, Scrum.org, All Rights Reserved

The Scrum Framework is lightweight and full of holes

13

Copyright 1993-2010, ADM, All Rights Reserved v1.4

“There's a mess I've heard about with quite a few projects recently. It works out like this:

• They want to use an agile process, and pick Scrum

• They adopt the Scrum practices, and maybe even the principles

• After a while progress is slow because the code base is a mess

What's happened is (people using Scrum) haven't paid enough attention to the internal quality of their software (…) I've mentioned Scrum because when we see this problem, Scrum seems to be particularly common as the nominative process the team is following (…) because Scrum is process that's centered on project management techniques and deliberately omits any technical practices.

I'm sure that the many Flaccid Scrum projects being run will harm Scrum's reputation, and probably the broader agile reputation as well.”

– Martin Fowler, January 2009

15

Source: http://martinfowler.com/bliki/FlaccidScrum.html

Martin Fowler Calls Scrum “Flaccid” 14

Copyright 1993-2010, ADM, All Rights Reserved v1.4

16

“BY EARLY 2009, … MORE ORGANIZATIONS WERE USING AGILE PROCESSES THAN WATERFALL PROCESSES … HOWEVER, LESS THAN 50% OF THOSE USING SCRUM WERE DEVELOPING IN INCREMENTAL ITERATIONS, WHICH ARE THE HEARTBEAT OF SCRUM.

ONE OF THE BIGGEST CHALLENGES OF USING SCRUM HAS ALWAYS BEEN THE STEEP LEARNING CURVE FOR THE DEVELOPERS ON THE SCRUM TEAM.”

-- JEFF SUTHERLAND, KEN SCHWABER, MARCH 2010

Copyright 1993-2010, ADM, All Rights Reserved v1.4Copyright 1993-2010, ADM, All Rights Reserved v1.3

17

Who, me?!

18

Copyright 2010, Scrum.org, All Rights Reserved

17

Learn about ScrumGet your teams hands-on Scrum trainingMeasure their understandingSet a bar

Learn about ScrumGet hands-on Scrum

trainingMeasure your

understandingPass it on

“But I’m a developer, not a manager!”

“But I’m a manager, not a developer!”

Copyright 2010, Scrum.org, All Rights Reserved

What are you going to do about it?19

Improving the Profession of Software DevelopmentThe Purpose of Scrum.org

Maintain Scrum

Create and maintain bodies of

knowledge on which to train and assess people for the betterment of

software development.

Offer Training

Work with experts in various

technologies and fields to create a deliver courses that meet the needs of the

software development profession.

Continuously monitor quality.

Assess Knowledge

Offer rigorous assessments to allow people to evaluate their

abilities so they are able to improve.

20

Copyright 2010, Scrum.org, All Rights Reserved

19

Introducing theProfessional Scrum Developer Program

• An innovate program for developers from Zuehlke and the founders of Scrum

• Including a training course, assessment, and certification

• Visit Scrum.org (http://www.scrum.org)

21

Four Pillars of the Professional Scrum Developer Program

22

Copyright 2010, Scrum.org, All Rights Reserved

Learn how to:

1. How to work together as a cross-functional, self-organizing team,

2. Using modern engineering practices,

3. On a modern technology stack, in a modern development environment,

4. To build a “done” incrementwithin an iteration.

21

Copyright 1993-2010, ADM, All Rights Reserved v1.4

23

1.Start2.Initiation

2.1.Form team2.2.Course overview2.3.Case study overview2.4.IDE overview2.5.Scrum overview

3.Develop product

4.Retrospective

Case studyproduct backlog

Engineering practices

IDE technology stack

Teams iteratively build increments while learning more Scrum, teamwork, engineering techniques, and tooling each Sprint. They are allowed to fail and learn.

Course Structure Mirrors the Strucure of Scrum

Copyright 1993-2010, ADM, All Rights Reserved v1.4

24

Copyright 1993-2010, ADM, All Rights Reserved v1.4

25

Measure Understanding in Multiple Skills

Copyright 1993-2010, ADM, All Rights Reserved v1.4

25Fundamental Knowledge of Scrum Development Questions

Copyright 1993-2010, ADM, All Rights Reserved v1.4

26Fundamental Knowledge of Scrum Development Questions

Copyright 1993-2010, ADM, All Rights Reserved v1.4

27Fundamental Knowledge of Scrum Development Questions

Copyright 1993-2010, ADM, All Rights Reserved v1.4

28Fundamental Knowledge of Scrum Development Questions

Copyright 1993-2010, ADM, All Rights Reserved v1.4

30

Copyright 1993-2010, ADM, All Rights Reserved v1.4

31

Questions?