Project Management effects on software dependability

13
Project Management Project Management effects on software effects on software dependability dependability Brendan Murphy Brendan Murphy Microsoft Research Microsoft Research Cambridge, UK Cambridge, UK

description

Project Management effects on software dependability. Brendan Murphy Microsoft Research Cambridge, UK. Agenda. Developing solutions. Exploring ‘dependability’ Ignored areas of dependability. Program Management of Windows NT (brief overview). Problem. Solution. Business Man. - PowerPoint PPT Presentation

Transcript of Project Management effects on software dependability

Page 1: Project Management effects on software dependability

Project Management Project Management effects on software effects on software

dependabilitydependability

Brendan MurphyBrendan Murphy

Microsoft ResearchMicrosoft Research

Cambridge, UKCambridge, UK

Page 2: Project Management effects on software dependability

E-Science Dec 2002.

AgendaAgenda

Developing solutions.Developing solutions. Exploring ‘dependability’Exploring ‘dependability’ Ignored areas of dependability.Ignored areas of dependability. Program Management of Windows Program Management of Windows

NT (brief overview).NT (brief overview).

Page 3: Project Management effects on software dependability

E-Science Dec 2002.

Achieving highly dependable Achieving highly dependable software programs.software programs.

Business Man

Problem

Software Architect

Solution

Software EngineersSoftware

Users

Page 4: Project Management effects on software dependability

E-Science Dec 2002.

What went wrongWhat went wrong

Business ManSoftware Architect

Software Engineers

Software

Users

ProblemReduce costs

De-skill

Problem definitionUnderstand concepts

Exceptions?Knowledge of solution?

Clear Responsibilities

Ownership?

Different Environments!

Not tested inProduction environment.

System Managerde-motivated.

Page 5: Project Management effects on software dependability

E-Science Dec 2002.

Apply other engineering Apply other engineering disciplines to software (e.g. disciplines to software (e.g.

trains)!trains)!Original problem.Original problem. People had there People had there

own trains.own trains. Many different Many different

track designs.track designs. Variations in train Variations in train

design.design.

Solution - redefined Solution - redefined the problemthe problem

Standardization.Standardization. People training.People training. 150+ year of trial 150+ year of trial

and error.and error.

Result a dependable Result a dependable but inflexible but inflexible process.process.

Red for danger L.C.Rolt

Page 6: Project Management effects on software dependability

E-Science Dec 2002.

Developing dependable Developing dependable systems.systems.

Solution.Solution. Develop specialized hardware.Develop specialized hardware. Write your own OS and applications.Write your own OS and applications. Employ highly trained users and operators.Employ highly trained users and operators.

ProblemsProblems Very expensive.Very expensive. Difficult to get staff.Difficult to get staff. Comparison to commercial products.Comparison to commercial products.

Page 7: Project Management effects on software dependability

E-Science Dec 2002.

Dependability requirementsDependability requirementsbugs/KLOC?bugs/KLOC?

Problem.Problem. Dependability Dependability needs.needs.

Safety CriticalSafety Critical Predictability.Predictability.

Business Process.Business Process. Knowledge transfer.Knowledge transfer.

Database Database development.development.

Data integrity.Data integrity.

New product.New product. Very little.Very little.

Page 8: Project Management effects on software dependability

E-Science Dec 2002.Overlooked dependability Overlooked dependability issuesissues

System Recovery of OpenVMS System Recovery of OpenVMS systems.systems.

Distribution of Length of System Uptime

0%

10%

20%

30%

40%

50%

60%

70%

<30 Minutes 30 - 60Minutes

1 - 3 Hours 3 - 24 Hours 1 - 7 Days 7 - 31 Days 1 Month+

Time Between System Reboots

Dis

trib

uti

on

System Outages

System Crashes

System Reliability Issues, FTC 1999 Murphy, Davies

Single events canInduce periods ofSystem instability.

Page 9: Project Management effects on software dependability

E-Science Dec 2002.Knowledge affects Knowledge affects dependability.dependability.

OpenVMS dependability improvement OpenVMS dependability improvement over time.over time.

Operating System Life Cycle

0

1

2

3

4

5

6

7

8

1st 6 Months 2nd 6 Months 3rd 6 Months 4th 6 Months

Time following Release

Sys

tem

Cra

sh R

ate

0

10

20

30

40

50

60

70

Sys

tem

Ou

tag

e R

ate

System Crashes

System Outages

Operating System behaviourimproves with age?

Few new patches are produced6 months after the release of any version of the Operating System.

System Reliability Issues, FTC 1999 Murphy, Davies

Page 10: Project Management effects on software dependability

E-Science Dec 2002.

Project Management at Project Management at Microsoft.Microsoft.

IdealIdeal A standard predictable process producing A standard predictable process producing

dependable and secure software.dependable and secure software.RealityReality No ideal process exists.No ideal process exists. Development teams have flexibility in their Development teams have flexibility in their

development process.development process. System test and release a separate process.System test and release a separate process. Continuous tool development.Continuous tool development. User Interface a separate group.User Interface a separate group.

Page 11: Project Management effects on software dependability

E-Science Dec 2002.

Windows NT development.Windows NT development.Development Teams

(e.g. kernel)

Responsible forDesign

Implement Testing

Release ManagementSystem Test Development

System Verification Software

Legacy computerNew hardware

and drivers

Legacy applicationsNew applications

Page 12: Project Management effects on software dependability

E-Science Dec 2002.

NT DevelopmentNT Development

Page 13: Project Management effects on software dependability

E-Science Dec 2002.

SummarySummary

Understand product dependability Understand product dependability from the end user perspective.from the end user perspective.

Assume you will not reach perfection.Assume you will not reach perfection. Understand the preferences/dislikes Understand the preferences/dislikes

of the development team.of the development team. Then choose the development and Then choose the development and

program management process.program management process.