20
CHC-3 Consulting, Inc. Software Process Improvement Chuck Connell www.chc-3.com

CHC-3 Consulting, Inc. Software Process Improvement Chuck Connell

Embed Size (px)

Citation preview

Page 1: CHC-3 Consulting, Inc. Software Process Improvement Chuck Connell

CHC-3 Consulting, Inc.Software Process Improvement

Chuck Connell

www.chc-3.com

Page 2: CHC-3 Consulting, Inc. Software Process Improvement Chuck Connell

Healing Sick Software

Or, What to Do When Your Software Project Is In Trouble…

Page 3: CHC-3 Consulting, Inc. Software Process Improvement Chuck Connell

1/18/00 Copyright 2000 CHC-3 Consulting, Inc. (www.chc-3.com)

3

Long-term Improvements

Much attention lately to strategic improvements in software processCMM (from Carnegie Mellon) and ISO 9001 are prime examplesCan have a big payoff, over many projectsCan take a long time (18+ months common)

Page 4: CHC-3 Consulting, Inc. Software Process Improvement Chuck Connell

1/18/00 Copyright 2000 CHC-3 Consulting, Inc. (www.chc-3.com)

4

This Is Great, But…

Won’t help when a particular software project is in trouble now

Can’t wait a year to solve this week’s crisis

(This caveat is stated explicitly in the CMM publications.)

Page 5: CHC-3 Consulting, Inc. Software Process Improvement Chuck Connell

1/18/00 Copyright 2000 CHC-3 Consulting, Inc. (www.chc-3.com)

5

For Short-term Crisis We Need…

A method to analyze and fix a particular project

Must be fast (2-10 days)

Should not interfere with long-term improvements

Page 6: CHC-3 Consulting, Inc. Software Process Improvement Chuck Connell

1/18/00 Copyright 2000 CHC-3 Consulting, Inc. (www.chc-3.com)

6

Our Method…

Look at the qualities a software project must have to stay healthy

Identify effort and benefit of each area

Use this analysis to develop numerical “snapshot” of project health

Take snapshot of troubled project to guide short-term actions

Page 7: CHC-3 Consulting, Inc. Software Process Improvement Chuck Connell

1/18/00 Copyright 2000 CHC-3 Consulting, Inc. (www.chc-3.com)

7

A. Shared End-Goals

What are the long-term plans for this project? What will it do? What will it look like?Should have fairly specific detailShould include all major playersIf projects lacks this, all other work may be a wasteSome projects only have one constituent (the visionary) but this is rare

Page 8: CHC-3 Consulting, Inc. Software Process Improvement Chuck Connell

1/18/00 Copyright 2000 CHC-3 Consulting, Inc. (www.chc-3.com)

8

B. Modest, Stable Goals for Next Version

A short list of specific features for next milestoneShould use known methodsShould be the same, more or less, every morningOther features broken into equally manageable sets (not forgotten)Common failing of software projects, especially in organizations with lots of $$Usually requires good (strong) management

Page 9: CHC-3 Consulting, Inc. Software Process Improvement Chuck Connell

1/18/00 Copyright 2000 CHC-3 Consulting, Inc. (www.chc-3.com)

9

C. Good Internal Design

All routines and code should be clean, simple, maintainable, modifiable, and scalableMake it right, don’t just make it workRequires a top-notch, senior engineerFor large projects, can be difficult to fixBut, fix made easier by cleaning up #A and #B

Page 10: CHC-3 Consulting, Inc. Software Process Improvement Chuck Connell

1/18/00 Copyright 2000 CHC-3 Consulting, Inc. (www.chc-3.com)

10

D. Realistic Schedule for Next Version

Realistic means realistic – include specification, design, coding, testing, debugging, external testing, documentation, training, sick time, personnel changes, etc.

Assumes good quality

Also requires strong management

Page 11: CHC-3 Consulting, Inc. Software Process Improvement Chuck Connell

1/18/00 Copyright 2000 CHC-3 Consulting, Inc. (www.chc-3.com)

11

E. Source Control & Automatic Builds

A.k.a. configuration management

Should be able easily to retrieve and build any previous version

Not a technical problem – solvable with existing tools and procedures

Page 12: CHC-3 Consulting, Inc. Software Process Improvement Chuck Connell

1/18/00 Copyright 2000 CHC-3 Consulting, Inc. (www.chc-3.com)

12

F. Efficient Process to Track and Fix Bugs

Bug reporting should be simple and understood by everyone involved

No need for bugs to be lost or fixed twice

Not a technical problem – solvable with existing tools and procedures

Page 13: CHC-3 Consulting, Inc. Software Process Improvement Chuck Connell

1/18/00 Copyright 2000 CHC-3 Consulting, Inc. (www.chc-3.com)

13

0

10

20

30

40

50

60

70

LT P lan ST P lan Design Schedule Builds Bugs

Impact

Page 14: CHC-3 Consulting, Inc. Software Process Improvement Chuck Connell

1/18/00 Copyright 2000 CHC-3 Consulting, Inc. (www.chc-3.com)

14

0

10

20

30

40

50

60

70

LT P lan ST P lan Design Schedule Builds Bugs

Effort to Improve

Page 15: CHC-3 Consulting, Inc. Software Process Improvement Chuck Connell

1/18/00 Copyright 2000 CHC-3 Consulting, Inc. (www.chc-3.com)

15

Taking a Project’s Temperature

Numerical “snapshot” of a software project’s health

Subjective -- but helpful in focusing repair efforts

Each item given a value of 1 to 5 (5 is best) with factors at front of list weighted more heavily

Overall score is 0 to 100

Page 16: CHC-3 Consulting, Inc. Software Process Improvement Chuck Connell

1/18/00 Copyright 2000 CHC-3 Consulting, Inc. (www.chc-3.com)

16

Taking a TemperatureExample

Formula is….

((A-1)*6 + (B-1)*5 + (C-1)*4 + (D-1)*3 + (E-1)*2 + (F-1)) * (100/84)

Not as complex as it looks

Equation just weights initial items more heavily and stretches score from 0 to 100

Page 17: CHC-3 Consulting, Inc. Software Process Improvement Chuck Connell

1/18/00 Copyright 2000 CHC-3 Consulting, Inc. (www.chc-3.com)

17

Example #1(from audience)

A (lt plan), B (st plan)

C (design), D (schedule)

E (builds), F (bugs)

((A-1)*6 + (B-1)*5 + (C-1)*4 + (D-1)*3 + (E-1)*2 + (F-1)) * (100/84)….

Key point -- results of making improvements…

Page 18: CHC-3 Consulting, Inc. Software Process Improvement Chuck Connell

1/18/00 Copyright 2000 CHC-3 Consulting, Inc. (www.chc-3.com)

18

Example #2(from audience)

A (lt plan), B (st plan)

C (design), D (schedule)

E (builds), F (bugs)

((A-1)*6 + (B-1)*5 + (C-1)*4 + (D-1)*3 + (E-1)*2 + (F-1)) * (100/84)….

Key point -- results of making improvements…

Page 19: CHC-3 Consulting, Inc. Software Process Improvement Chuck Connell

1/18/00 Copyright 2000 CHC-3 Consulting, Inc. (www.chc-3.com)

19

What To Do

As shown in the examples, use the snapshot to guide you to trouble spots. Most likely….

Fix #E (source/builds) and #F (bug tracking) – big gain for little work. Then,

Fix #A (lt plan), #B (st plan), and #D (schedule) – with help from strong management. Then,

Fix #C (design), over several releases

Page 20: CHC-3 Consulting, Inc. Software Process Improvement Chuck Connell

1/18/00 Copyright 2000 CHC-3 Consulting, Inc. (www.chc-3.com)

20

What To Do

Use this model of a healthy project to guide your next project (so it does not get into trouble)

Continue long-term, strategic improvements to your organization’s software processes (CMM, ISO)