700 likes | 814 Views
Quality Assurance in ISD and Maintenance Projects. How do you do QA when the time it takes is longer that the time to do the work?. Tom Gilchrist , CQA, CSQE tomg@halcyon.com. Disclaimers. The views and opinions expressed in this presentation are not necessarily those of my employer.
E N D
Quality Assurance in ISD and Maintenance Projects How do you do QA when the time it takes is longer that the time to do the work? Tom Gilchrist, CQA, CSQE tomg@halcyon.com
Disclaimers • The views and opinions expressed in this presentation are not necessarily those of my employer. • No financial connection with vendors mentioned. • Your results may vary.
Improvement PROCESS Major determinants of product cost, schedule, and quality performance.
Improvement PROCESS TECHNOLOGY Major determinants of product cost, schedule, and quality performance.
Improvement PEOPLE PROCESS TECHNOLOGY Major determinants of product cost, schedule, and quality performance.
Goals and Objectives Sharpen Your SQA Skills • Understand…. • How ISD and maintenance SDLC work. • How to Do SQA in ISD Projects • Deployment
Some Level Setting • What is Quality? • What is SQA? • What are Peer Reviews? • What is a “Customer”? • What are the goals of SQA?
Low Quality in Software • Unneeded Complexity • Rework • Wrong • Unclear • Missing • Extra
Software Quality Assurance • Check software products and processes to verify that they comply with the applicable procedures and standards. (Process Checks/Audits) • Review and measure the quality of software products and processes throughout development. (Peer Reviews) • Provide software project management (and other appropriate parties) with the results of reviews and process checks. • Work with the software project during early stages to establish plans, standards, and procedures to keep errors from occurring in the first place.
Peer Review Methods Methods Typical Goals Typical Attributes • Little/no preparation • Informal process • No measurement • No Meetings • Not a Formal Review! Walkthroughs • Minimal overhead • Quick turnaround Desk Checks • Little/no preparation • Informal process • Meetings • No measurement • Not a Formal Review! • Minimal overhead • Developer training • Quick turnaround • Formal process • Known Coverage Rate • Moderator • Checklists • Customer Reviewers • Measurement • Detect and report all defects efficiently and effectively. Formal Reviews
Customer vs. End User • End User: • The person who uses the software product in the value stream • Customer: • Anyone who is affected by the end product or intermediate software engineering deliverables being produced (reviewed).
Software Development Model Standards, templates, rules and checklists Standards, templates, rules and checklists E N T R Y E N T R Y Output Output E X I T E X I T Program Element Creation Program Element Creation Input Input Time
Exit Criteria Standards, templates, rules and checklists Standards, templates, rules and checklists • Cost • Schedule • Quality E N T R Y E N T R Y Output Output E X I T E X I T Program Element Creation Program Element Creation Input Input
How SDLC’s Work • Waterfall SDLC • Waterfall SQA Techniques • Maintenance & Sustaining SDLC • ISD SDLC
Waterfall SDLC Software Development Lifecycle Feasibility Analysis Requirements Definition Alternatives Analysis Functional Specification Preliminary Design Detailed Design & Construction Verification Installation
Waterfall SDLC Software Development Lifecycle Feasibility Analysis • All planning is oriented toward a single delivery date. • All analysis and design are done before coding and testing. • Model or document driven. Requirements Definition Alternatives Analysis Functional Specification Preliminary Design Detailed Design & Construction Verification Installation
The Project Project Plan Finished Product Specs Design Code Test Requirements Time
When Waterfall Works • Solution is well understood. • Developers are well practiced. • End-user process being automated is stable and well understood. • Mature project management.
Idealized Waterfall Sequence Managed by intermediate software engineering deliverable Requirements Design Requirements Code Design Code Time
Development Models The old system exists BANG! The new revolution New system being developed Adopted from Tom Gilb, Principles of Software Engineering Management
Development Models The old system exists BANG! The new revolution New system being developed Old system New System Adopted from Tom Gilb, Principles of Software Engineering Management
The “Plan” Usable Results POC
The “Result” Usable Results POC Inc 1
The “Final Results” POC Inc 1 Inc 2 Inc 3 Inc n Inc n+1
Phased Development Software Released Incrementally Construction Release 1 Construction Release 3 Feasibility Analysis Requirements Definition Alternatives Analysis Detailed Design & Construction Functional Specification Verification Installation Preliminary Design Detailed Design & Construction Construction Release 2 Verification Installation Detailed Design & Construction This is NOT ISD Verification Installation
Increment ISD Phases Proof of Concept Approval
Approval Plan Dev Initial Product Review Propose Plan Grow Product Review Propose Plan Grow Product Review Propose ISD SDLC Software Development Lifecycle APR POC INC INC Proof-of-Concept Increment 1 Increment 2 POC INC 1 Act Plan INC 2 Check Do
INC INC INC Idealized ISD/Sustaining Sequence Requirements Design Code Original Waterfall Development Triggered by CR’s and/or PR’s Incremental Development or Sustaining Time
POC INC INC INC INC INC POC INC INC INC INC INC INC INC Real-World ISD/Sustaining How can one spend the flow time necessary to do Peer Reviews when the flow time to do them is sometimes longer than the increment?
SQA in ISD Projects • Tools of SQA • Strategies & Goals • Process vs. Product • Creative SQA Opportunities
Peer Review Methods Methods Typical Goals Typical Attributes • Little/no preparation • Informal process • No measurement • No Meetings • Not a Formal Review! Walkthroughs • Minimal overhead • Quick turnaround Desk Checks • Little/no preparation • Informal process • Meetings • No measurement • Not a Formal Review! • Minimal overhead • Developer training • Quick turnaround • Formal process • Known Coverage Rate • Moderator • Checklists • Customer Reviewers • Measurement • Detect and report all defects efficiently and effectively. Formal Reviews
Peer Reviews Standards, templates, rules and checklists Standards, templates, rules and checklists • Walkthrough • Desk Check • Walkthrough • Desk Check E N T R Y E N T R Y Output Output... E X I T E X I T Program Element Creation Program Element Creation Input Input • Kickoff • Readiness • Formal Review • Formal Walkthrough • Formal Desk Check • Formal Review • Formal Walkthrough • Formal Desk Check • Kickoff • Readiness
SQA Interventions E N T R Y Input Output E X I T Program Element Creation Start During End • Kickoff Meeting • Readiness Review
SQA Interventions E N T R Y Input Output E X I T Program Element Creation Start During End • Kickoff Meeting • Readiness Review • Walkthrough • Desk Check
SQA Interventions E N T R Y Input Output E X I T Program Element Creation • Formal Review • Formal Walkthrough • Formal Desk Check Start During End • Kickoff Meeting • Readiness Review • Walkthrough • Desk Check
Software Development Model Standards, templates, rules and checklists Standards, templates, rules and checklists E N T R Y E N T R Y Output Output E X I T E X I T Program Element Creation Program Element Creation Input Input Time
Readiness Review Reduce the amount of time needed by the author(s) to produce a deliverable by making sure things are ready to do the job. • Identify people/organizations producing product for the process • Identify the people/organization who will do the work • Identify and document potential major errors (build/modify checklists) • Confirm task/process entry conditions • Identify resources • Forum for learning
Generic Document Worklist • Before creating the deliverable... • Hold Kickoff Meeting • Invite the right participants • Plan for a successful document • Build/Refine Checklists • While working on the deliverable… • Use the checklists • Use Walkthroughs and Desk Checks as needed to reduce rework (major errors). • When finished with the deliverable… • As per SQA plan, perform the appropriate Peer review • Send peer review data summary to SQA focal
Maintenance CR or PR CR or PR CR or PR CR or PR CR or PR
Maintenance CR or PR Approved CR or PR CR or PR Approved CR or PR CR or PR Approved CR or PR CR or PR CR or PR
Maintenance Approved CR or PR Targeted to a Release CR or PR Approved CR or PR Approved CR or PR Targeted to a Release CR or PR Approved CR or PR CR or PR Approved CR or PR CR or PR CR or PR Approved CR or PR Targeted to a Release
Maintenance Approved CR or PR Targeted to a Release Integrated Test Approved CR or PR Targeted to a Release Change
SQA Sustaining/ISD Strategies • Ignore • On the Schedule • No Change • Demotion • Creative Techniques • Sampling • Off the Schedule • Sampling with Process Improvement
Demotion • Trigger for new/first creation Peer Review • Define less rigorous Peer Review for Updates to deliverables • Tracking/Reporting System
Creative Techniques • Demo Peer Reviews • Risk Assessment • Others...