Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Project Management effects on software dependability Brendan Murphy Microsoft Research Cambridge, UK E-Science Dec 2002. Agenda Developing solutions. Exploring ‘dependability’ Ignored areas of dependability. Program Management of Windows NT (brief overview). E-Science Dec 2002. Achieving highly dependable software programs. Problem Solution Business Man Software Architect Software Engineers Software Users E-Science Dec 2002. What went wrong Problem definition Understand concepts Exceptions? Knowledge of solution? Software Architect Clear Responsibilities Ownership? Not tested in Production environment. Business Man Problem Reduce costs De-skill Software Software Engineers Different Environments! Users System Manager de-motivated. E-Science Dec 2002. Apply other engineering disciplines to software (e.g. trains)! Original problem. People had there own trains. Many different track designs. Variations in train design. Red for danger L.C.Rolt Solution - redefined the problem Standardization. People training. 150+ year of trial and error. Result a dependable but inflexible process. E-Science Dec 2002. Developing dependable systems. Solution. Develop specialized hardware. Write your own OS and applications. Employ highly trained users and operators. Problems Very expensive. Difficult to get staff. Comparison to commercial products. E-Science Dec 2002. Dependability requirements bugs/KLOC? Problem. Dependability needs. Safety Critical Predictability. Business Process. Knowledge transfer. Database development. Data integrity. New product. Very little. E-Science Dec 2002. Overlooked dependability issues System Recovery of OpenVMS systems. Distribution of Length of System Uptime 70% 60% Single events can Induce periods of System instability. Distribution 50% 40% System Outages System Crashes 30% 20% 10% 0% <30 Minutes 30 - 60 Minutes 1 - 3 Hours 3 - 24 Hours 1 - 7 Days Time Between System Reboots System Reliability Issues, FTC 1999 Murphy, Davies 7 - 31 Days 1 Month+ E-Science Dec 2002. Knowledge affects dependability. OpenVMS dependability improvement over time. Operating System Life Cycle 8 70 Operating System behaviour improves with age? 7 60 6 5 40 4 30 3 2 1 20 Few new patches are produced 6 months after the release of any version of the Operating System. 10 0 0 1st 6 Months 2nd 6 Months 3rd 6 Months Time following Release System Reliability Issues, FTC 1999 Murphy, Davies 4th 6 Months System Outage Rate System Crash Rate 50 System Crashes System Outages E-Science Dec 2002. Project Management at Microsoft. Ideal A standard predictable process producing dependable and secure software. Reality No ideal process exists. Development teams have flexibility in their development process. System test and release a separate process. Continuous tool development. User Interface a separate group. E-Science Dec 2002. Windows NT development. Development Teams (e.g. kernel) Legacy applications New applications Release Management System Test Development System Verification Responsible for Design Implement Testing Legacy computer New hardware and drivers Software E-Science Dec 2002. NT Development E-Science Dec 2002. Summary Understand product dependability from the end user perspective. Assume you will not reach perfection. Understand the preferences/dislikes of the development team. Then choose the development and program management process.