MAJOR SW STRATEGIES BASED HEAVILY ON ROBERT GRADY'S BOOK “Practical Software Metrics for Project Management and Process Improvement”, Prentice-Hall 1996 • What are the goals in developing successful software systems? • We wish to develop systems that .... meet customer needs are reliable (perform well) are cost effective to build and evolve meet a product delivery schedule CMPUT 402 - Software Quality Major Software Strategies - 1 ©Paul Sorenson GOAL DEVELOPMENT GOAL: Develop Successful Software Systems SG4: Minimize Time to Market SG1: Maximize Customer Satisfaction SG3: Minimize Defects SG2: Minimize Engineering Effort and Schedule CMPUT 402 - Software Quality Major Software Strategies - 2 ©Paul Sorenson QUESTION GENERATION SG1: Maximize Customer Satisfaction Q1: What are the attributes of customer satisfaction? Q2: What are the key indicators of customer satisfaction? Q3: What aspects result in customer satisfaction? Q4: How satisfied are the customers? Q5: How do we compare with the competition? Q6: How many problems are affecting customers? Q7: How long does it take to fix a problem? (compared to customer expectn) Q8: How does installing a fix affect the customer? Q9: How many customers are affected by the problem? (by how much?) Q10: Where are the bottlenecks? CMPUT 402 - Software Quality Major Software Strategies - 3 ©Paul Sorenson Q1: What are the attributes of customer satisfaction? Functionality Feature Set Capabilities Generality Security Usability Human Factors Aesthetics Consistency Documentation Reliability Failure Freq. Predictability Failure Severity Accuracy Recoverability Mean Time to Fail Performance Speed Efficiency Thruput Resource Consumpt. Response Time Testability Extensibility Adaptability Maintainability Compatiability Configurability Serviceability Installability Localizability Supportability CMPUT 402 - Software Quality Major Software Strategies - 4 ©Paul Sorenson MEASUREMENT PROGRAM PLANNING 40 35 FURPS 30 25 Actual Planned 20 15 10 5 0 1 3 5 7 9 11 13 15 17 WEEK FURPS+ planned versus actual tracking (from Fig. 4-3 Grady, Practical Software Metrics) CMPUT 402 - Software Quality Major Software Strategies - 5 ©Paul Sorenson SG2: Minimize Effort & Schedule QUESTION GENERATION Q11: Where are the resources going? Where are the worse rework loops? Q12: What are the total maintenance and support costs for the product? Q13: What development methods affect maintenance costs? Q14: How maintainable is the product as change occurs? When do we rewrite? Q15: What will process monitoring cost and where are costs distributed? Q16: What will the maintenance requirements be? Q17: How long does it take to respond to (fix) a defect? Q18: How can we predict cycle time, reliability and effort? Q19: What practices yield best results? Q20: How much do maintenance phase activities cost? Q21: What are the major cost components? Q22: How do costs change over time? CMPUT 402 - Software Quality Major Software Strategies - 6 ©Paul Sorenson Minimize Effort & Schedule • Emphasis is clearly on management aspects • Much more process-oriented than customer-oriented • Important to get people involved in looking at where time is spent. Also important to empower groups and individuals to make changes in their areas to achieve stated goals CMPUT 402 - Software Quality Major Software Strategies - 7 ©Paul Sorenson Q11: Where are the resources going? Project Type Phase Requirements Design Implementation Test Firmware Systems Applications (31 Projects) (48 Projects) (53 Projects) 15% 14% 22% 21% 19% 16% 39% 30% 34% 25% 37% 28% (adapted from Fig. 5-1 Percent engineering hours by phase) CMPUT 402 - Software Quality Major Software Strategies - 8 ©Paul Sorenson QUESTION GENERATION SG3: Minimize Defects Q23: What are the key indicators of process health and how are we doing? Q24: What are the high-level opportunities for preventive maintenance? Q25: Are fixes effective and are unexpected side-effects created? Q26: What is the post-release quality of each module? Q27: What are we doing right (w.r.t. defects)? Q28: How do we know when to release? Q29: How effective is the development process in preventing defects? Q30: What can we predict post-release based on pre-release data? Q31: What defects are getting through and what caused those defects? CMPUT 402 - Software Quality Major Software Strategies - 9 ©Paul Sorenson MINIMIZING DEFECTS • most applicable when product features are competitive and holding or improving market share is the goal • Grady points to products such as standard operating systems and compilers as examples • Typical metrics are defect-tracking oriented: count of prerelease and postrelease defects, count of remaining critical & serious defects or defects sorted by module or size, NCSS and branch coverage in testing CMPUT 402 - Software Quality Major Software Strategies - 10 ©Paul Sorenson MAJOR STRATEGIES CHARACTERISTICS MAJOR CHARACTERISTICS MAXIMIZE CUSTOMER SATISFACTION MINIMIZE EFFORT AND SCHEDULE MINIMIZE DEFECTS MAJOR BUSINESS FACTOR Attempt to capture market share Competitive pressures => prod dev & cost cntrl Hold/increase market share WHEN MOST EFFECTIVE When initially entering the market Competitive products or prod cost reduction req. When features are competitive CHARACTERISTIC FEATURE Customer commun. & quick response Focus on delivery dates and effort Analysis & removal of defect causes MOST VISIBLE METRICS Survey & interview data product metrics, defects Calendar time, effort and defects Failure analysis by module, cause & sev. GROUP LIKELY TO DRIVE STRATEGY Development team initally, customer support later Division or company management Devel. team &/or quality organization GROUP MOST IN CONTACT WITH CUSTOMER Development team Marketing/factory customer support Field support organization POTENTIAL DRAWBACKS IF FOCUS TOO RESTRICTED Process of developing products may not improve CMPUT 402 - Software Quality Defect backlog can get Defects may be fixed unmanageable, that are not cost customers & developers effective frustrated Major Software Strategies - 11 ©Paul Sorenson SG4: Minimize Time to Market QUESTION GENERATION 1. CMPUT 402 - Software Quality Major Software Strategies - 12 ©Paul Sorenson Mixture of Goals Minimize Costs Air Traffic Control System Maximize Customer Satisfaction Java Compiler Minimize Defects Next Version of Baldergome Minimize Time-toMarket CMPUT 402 - Software Quality Major Software Strategies - 13 ©Paul Sorenson
© Copyright 2026 Paperzz