©Ian Sommerville 2006MSc module: Advanced Software Engineering Slide 1 Service dependability.
Project Management effects on software dependability
-
Upload
aiko-woodard -
Category
Documents
-
view
24 -
download
3
description
Transcript of 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
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).
E-Science Dec 2002.
Achieving highly dependable Achieving highly dependable software programs.software programs.
Business Man
Problem
Software Architect
Solution
Software EngineersSoftware
Users
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.
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
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.
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.
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.
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
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.
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
E-Science Dec 2002.
NT DevelopmentNT Development
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.