Software Quality Assurance Foundations and Processes
2 Days
Contact Us to bring this course to your company or your city!
This course is designed for Software Quality Assurance professionals who want to learn the foundational concepts of software quality and the processes used to achieve high-quality software.
There is a lot more to software quality than testing! In this course, Quality Assurance is defined as (1) A planned and systematic pattern of all actions necessary to provide adequate confidence that an item or product conforms to established technical requirements and (2) A set of activities designed to evaluate the process by which products are developed or manufactured.
By attending this course, you will be able to understand both the theory and practical application of software quality practices. The course concludes with developing your own action plan for quality.
Who Should Attend
- QA Analysts
- QA Managers
- Test analysts
- Testers
- Project Leaders
Return on Investment
- Learn how to find costly and embarrassing problems before your customers find them.
- Understand the key issues in achieving high-quality software applications
- Learn the difference between QA and QC.
- Understand the principles of quality that form a firm foundation for quality improvement.
- Advance your career by reinforcing your skills in designing, deploying and evaluating
processes to deliver quality software applications.
Topics
Module 1 - Concepts of Quality and Quality Assurance (1 hr.)
- Two Views of Quality
- Verification and Validation
- The Cost of Quality
- Who is Your Customer?
- The Deming Workbench Model
- The Difference Between QA and QC
- What is the Value of QA?
- Why Are Standards Important?
- Process Improvement Analysis
- Cause and Effect Analysis
- Pareto Analysis
- Flowcharting
- Brainstorming
- What Works in Improving Quality
Module 2 – The Role of Software QA (1 hr.)
- What is Software Quality Assurance?
- The Purpose and Role of SQA
- The Dimensions of SQA
- The Components of SQA
- Pre-project Components
- Software Project Life Cycle Components
- Infrastructure Components
- Management Components
- SQA Standards, System Certification and Assessment Components
- Organizational Components
- Independent SQA
- The SQA Plan and What to Address in it
- Summary
- References
Module 3 – The Basics of Process (1 hr.)
- The Role of Process in Software Quality
- What is Process Maturity and How Does it Impact Software Quality?
- Exploring the CMM and CMMi
- CMMi Models
- Benefits of the CMM and CMMi
- How to Define a Process in About an Hour: The Workbench Approach
- Where Do Standards Fit in?
- What’s the First Step?
- What is Required for Mature Processes
- Marking the Need for Processes
- Resources
- How to Assess your Process Maturity
Module 4 – Process Assurance (1 hr.)
- The Purpose of Process Assurance
- Who Performs Process Assurance?
- The Importance of Oversight
- Techniques of Process Assurance
- Checkpoint or milestone reviews
- Management control
- The Role of V&V in Process Assurance
- How Process Assurance Can Fail
- The Product Delivery Process
- How Process Quality Works
- The Balance of QA and Test
- What are the Risks?
- How Can These Risks be Mitigated?
- References
Module 5 – Developing Quality Requirements (1 hr.)
- The Importance of Requirements
- Quality Requirements
- Testable Requirements
- Identifying Needs
- Ambiguity in Requirements
- The Importance of Inflection
- The Importance of Word Meanings
- Word Games
- The Right People – Who Do We Involve?
- Brainstorming
- Prototyping
- Dealing with Change
- How to Control Change
- Requirements Reviews
- Special Considerations For Existing Software Requirements
- Exercise: Role Playing the Requirements Process
Module 6 – The Role of Standards (1 hr.)
- The Role of Standards
- Why are Standards Important?
- What Is in a Standard?
- What Is Not in a Standard?
- Which Standards Apply to Testing and Software Quality?
- Where Standards Can Be Obtained
- What is Tailoring?
- The Tailoring Process
- How to Tailor and Apply Standards
- Example
Module 7 – Risk Assessment (1 hr.)
- What is Risk?
- The Nature of Risk
- Three Views of Risk
- The Elements of Risk
- Why is Risk Assessment Important?
- Computer System Risks
- The Project Risk Assessment Process
- Building the Risk Assessment Team
- Presenting the Risk Assessment Tutorial
- Completing the Risk Questionnaires
- Scoring the Risk Assessment
- Reporting the Risk Assessment Results
- Summarizing the Risk Findings
- Presenting the Risk Findings
- Assessing Technical RisksAssessing Business Risk
- Ways to Apply the Results
- How Can This Information Be Used?
- When is Testing Complete?
- When is Risk Assessment Performed?
- Who Performs Risk Assessment?
- Who Owns Risk Assessment?
- Additional Resources
- Conclusion
Module 8 – Root Cause Analysis (3 hrs.)
- How To Define the Problem and Collect Data
- How to Perform an Analysis of the Current Situation – Current State Analysis
- How to Identify Opportunities for Process Change – Gap Analysis
- Control Barrier Analysis
- Charting Events And Causal Factors
- How to Conduct Effective Interviews to Gather Information
- Determining Root Causes Of Failures
- Making Process Changes
- Documenting Your Findings in Writing
Module 9 – Process Definition and Improvement (2 hrs)
- The Nature of Processes
- Why are Processes Important?
- A Process Framework: The Workbench
- What You Need to Begin Documenting Processes
- Deliverables – The Attributes of a Good Process
- Key Principles for Process Definition and Improvement
- Light vs. Heavy Processes
- Popular Process Models
- Three Phases of Process Definition and Improvement
- Phase 1 – Build a Framework
- Phase 2 – Understand and Document Current Processes
- Interview Techniques
- Brainstorming
- Phase 3 – Improving Processes
- Objectives
- Knowing When to Challenge the Process
- Knowing When to Make Process changes
- The Approach and Process for Process Improvement
- Defining Positive and Negative Motivations for Change
- Setting Expectations
- Identifying the Reasons for Process Change
- Identifying the Impact of Process Change
- How to Get Management Support for Process Change
- How to Get Stakeholder Support for Process Change
Module 10 – Software Metrics (1 hr.)
- Measurements vs. Metrics
- What Do Metrics Tell Us?
- Which Metrics are Most Helpful?
- Five Core Metrics
- A Primer on Function Point Analysis
- How to Capture Metrics
- How to Implement Metrics
Module 11 – Software Configuration Management (1 hr.)
- What is Configuration Management?
- What is the Scope of Configuration Management?
- The Objectives of Configuration Management
- Why Should You Care About Configuration Management?
- Legalities - The Foreign Corrupt Practices Act of 1977
- What’s Required for Effective Configuration Management?
- A Basic Process for Configuration/Release Management
- Configuration Management Tools
- Summary
- Resources
Module 12 – Reviews and Inspections (1 hr.)
- What are Reviews?
- Types of Review-based Activities
- Why perform early verification?
- Where Defects Originate
- Where Testing Resources are Used
- The Relative Cost of Fixing Defects
- The Bottom Line
- Managing Expectations
- Terminology
- Interpersonal and Cultural Issues
- Critical Success Factors
- Software Inspection Best Practices
- Review Traps to Avoid
Module 13 – Building Your Action Plan for Quality Improvement (1 hr.)
- A Basic Framework for Improvement
- The Goal/Question/Metric Paradigm
- Identifying Needs and Goals
- Answering the Right Questions
- Getting the Right Data
- Critical Success Factors
- Exercise - Develop Your Own Action Plan for Improvement
Resources
- Checklists and Templates
- Glossary
- Bibliography
Deliverables
- Course notebook with slides, worksheets, checklists, complete examples and
supporting text - You will have the information needed to create an effective software quality
assurance program