Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Problem with Good Enough Software Bj Rollison Test Training Manager Microsoft, Inc.

Similar presentations


Presentation on theme: "The Problem with Good Enough Software Bj Rollison Test Training Manager Microsoft, Inc."— Presentation transcript:

1 The Problem with Good Enough Software Bj Rollison Test Training Manager Microsoft, Inc.

2 Overview Discuss the intent and the reality of good enough software Test engineering…where we are and where should we go

3 What is software quality? Three properties of software quality  Features The cool stuff that makes customers want the software  Attributes Functionality, security, usability, reliability, maintainability  Defects The bugs that make users wish they bought something else  Defects =  Quality There is no such thing as defective, high-quality software

4 Good enough software Utilitarian view of quality – potential positive consequences outweigh potential negative consequences “…powerful alternative to the orthodox, expensive, and boring methodologies that aim at the best possible quality.” “…secret to the success of Microsoft…” http://www.satisfice.com/articles/gooden2.pdf

5 Utilitarian view in practice Good enough: Features exceed defects 80/20 rule: Defects actually exceed features Defects Features

6 Development cycles in practice Hack-and-whack approach Projects that rely on testing spend a lot of time and money on testing Orthodox, boring engineered approach Projects that rely on engineering practices use test to validate quality http://www.sei.cmu.edu/tsp/ Plan? Code 1 defects / 10 LOC Test Random, Subjective Plan Detailed plan Reviewed Modeled Code Inspected Reviewed Unit tested Test Focused

7 Microsoft’s success!!! Complex products/ unwanted features Bugs, Security Patches & Service Packs Un-needed/unwanted upgrades Unpredictable, reactionary

8 The reality of good enough software Tends to focus on features & schedule  PM’s/Dev’s are rewarded for features not quality Heavy investment in testing to validate quality  Reliance on testing to find defects  You can’t test in quality Necessitates sustained engineering  There’s never enough time to do it right the first time, but there’s always enough time to fix it.

9 Features vs. Quality “If Microsoft is not here in 10 years it won’t be because of a lack of features, it will be due to a lack of quality!” – Craig Zhou, Microsoft Problems in the process  Undefined features  Feature creep  Schedule driven releases

10 Testing Effectiveness 50% Bugs Testing Ideal Testing Actual

11 Sustained Engineering Costs Microsoft issued 60 patches for Windows 2000 in 2001 Security patches cost an enterprise customer about $300,000 to install It costs Microsoft about $100,000 per patch Windows XP SP 1 – risk free, but why bother Maintenance has become similar to shipping a product at Microsoft.

12 The changing role of test engineering

13 Hack – n - Whack Approach Program Mgt. Development Testing Non-detailed specs Write code Integration testing Unit testing testing System

14 Engineering Approach Program Mgt. Development Testing Detailed specs Write code Integration testing Unit testing System testing Model

15 Role of Software Test Engineer Validation  “Establishing confidence that a program…does what it is supposed to do.” – Hetzel, 1983 Falsification  “Executing a program or system with the intent of finding errors.” – Myers, 1979 Achieve testable designs  Spec reviews, modeling, writing hooks in code, etc. Provide information to developers  More than bugs, code reviews, inspections, metrics, etc. Provide information to management  “The penultimate objective of testing is to gather management information.” – Beizer, 1995

16 Questions


Download ppt "The Problem with Good Enough Software Bj Rollison Test Training Manager Microsoft, Inc."

Similar presentations


Ads by Google