
643bac0b59fea01a52c00a57f3b8762a.ppt
- Количество слайдов: 10
Personal Software Process Team Software Process CSC 3380 Lecture 08
Sources • Introduction to the Personal Software Process by Watts S. Humphery, pp. 239273, • Introduction to the Team Software Process by Watts S. Humphery
Product Quality • Can’t retrofit a product to improve quality • From the beginning we need: – Quality standards; – Process standards; – Quality assurance mechanisms, responsibilities • Defect elimination is the principal metric – Done by reviews, compilation, and testing – Each such filter passes on a %age of defects – Testing is most expensive and least effective
Product Quality continued • Problems with testing – Hard to trace back from symptom to defect – Defects interact to mask each other – Tests are often enormous - testing is “blind”, so we must test for every category of defect – You never know that a product is defect-free • Keep individual/organization estimated filter rates • Individual review may not exceed 70% effectiveness - prototyping helps eliminate rest, which often arise in requirements, specification, and design errors
Filtering yields of different methods Individual Code review Group Code Inspection 70% to 80% 50% to 70% Compilation 50% Unit Testing 40% to 50% Integration Testing 45% Requirements (System) Testing 45% Algorithm Testing 8%
Process Quality • As quality improves, removal rates decrease • Defect removal strategy: – Individuals develop high quality modules – Team inspects all module interfaces and interactions – Team validates all requirements and their presence in code – Individual conducts very complete unit test – Team does comprehensive integration testing – QA does thorough system testing
Process Quality • Build in as much quality as you want to buy – Quality failure costs – fixing defects – Quality appraisal costs – reviews and other filtering that doesn’t remove defects – Defect prevention costs – process analysis and improvement efforts – Failure costs ~ compile and test costs – Appraisal costs ~ reviews • Personal process metrics – Appraisal/failure > 2. 0 (primary metric) – Review yield >= 70% (use own checklist) • When achieved, cull checklist and do prototyping
Major Insights of Introductory Team Software Process • Teams are the norm; they speed up development, bring skills/experience to bear • Teamwork is synergistic; this requires: – – – – Training and experience Common goals and good communication Acceptance of assigned roles Environmental support (management) Accepted process, including planning Commitment to all the above Mutual respect and support • Teams are fun and satisfying as well as productive
The Team Process • Launch sets goals, roles, meeting schedule • Strategizing sets conceptual design, risk assessment, development strategy, estimates • Planning sets detailed plans and QA process • Requirements definition sets specifications and mechanisms for requirements change • Design sets standards, product design, test plans, and performs reviews, inspections • Implementation completes low-level design, coding, reviews, inspections, testing
The Team Process continued • Integration and system testing tests and validates product, produces documentation • Postmortem evaluates experience, analyzes process, provides suggestions for improving • Team roles: – Leader – Development manager – Planning manager – Quality/process manager – Support manager