Software Quality Engineering Course
 

Home
Up
Consulting Services
Events & Activities
Free Webinar Library
Library & Information
CSQE Quizzes
About Our Team
How to Contact Us

Software Quality Engineering is a 5-day course designed to provide a comprehensive knowledge base and practical skills for anyone interested in implementing or improving Software Quality Engineering techniques and practices in their organization.

This course starts with an overview of software quality engineering basics, including the benefits of software quality, a discussion of defect prevention vs. detection techniques, an overview of software quality related standards and models, and a review of quality team tools.

Course attendees will learn how to establish software quality goals and objectives, document their quality management systems, track the cost of quality and perform quality system audits.  This course will review the strengths and weakness of various life cycle models and review major activities in the software development life cycle.

This course discusses basic software project management principles and techniques as they relate to software project planning, monitoring and control, and risk management.  Attendees will learn how to select, define and implement software metrics to understand, evaluate, control and predict their software process, product and services. 

This course covers the basics of software verification and validation planning with an emphasis on software peer reviews and software testing techniques.  The course ends with an overview of software configuration management, including configuration identification, control, status accounting and auditing.

In addition to software quality skill building, many people have also successfully used this course to prepare for the ASQ CSQE exam.  Course materials from this course are designed for easy use as reference materials during the ASQ’s open book exam and include an extensive glossary and index. 

Method of Instruction: This course is taught through lecture and interactive discussion and learned skills are practiced using team exercises.  Actual examples from the software industry are utilized to make the information relevant.  The emphasis is on techniques that allow the attendees to transition the skills learned in this course to their own work environments. 

Target Audience: Software quality engineers, developers, testers, project managers, functional managers, requirements analyst, and other software stakeholders who will be involved in planning and managing software projects, developing software and/or assuring its quality.

Course Objectives: Upon successful completion of this course attendees will be able to:

  • Understand the basics of software quality engineering, including its benefits, related models and standards, and quality team tools

  • Plan, implement and audit a Software Quality Management program for their organization

  • Assist in defining and tailoring software engineering life cycles and processes 

  • Understand the basic software project management principles and techniques as they relate to software project planning, tracking, control and risk management

  • Select, define, and apply software measurement, metrics, and analytical techniques to their software products, processes and services 

  • Participate in peer reviews, and assist in the planning, implementation and evaluation of software testing activities

  • Understand the fundamentals of the configuration management process to include configuration identification, configuration control, status accounting, and audits.

Course Materials: Student notebooks are designed to provide reference materials that can be utilized by the attendees long after the completion of the course.  These materials include:

  •  Copies of all presentation materials with annotated descriptive notes

  • A bibliography of reference materials

  • Example solutions to all course exercises

  • An index and glossary of Software Auditing Terms

Detailed Outlines:

I: Basics of Software Quality Engineering

1. Benefits of Software Quality      

a.  Benefits of Software Quality

·  Quality Defined

·  Benefits of Software Quality

·  Increasing Costs of Fixing Defects

·  Kano Model

b.  Prevention vs. Detection

·  Mistakes, Faults & Failures

·  Testing, Debugging & Root Cause Analysis   

·  Prevention vs. Detection

·  Defect Detection Techniques

·  Defect Prevention Techniques

·  Juran on Defects

2. Standards & Models

a.  Definitions

b.  Importance of Standards

c.  Standards Organizations

d.  ISO 9001 – Quality Management System

e.  ISO 9001:2000

f.  ISO 15504

g.  IEEE Software Engineering Standards

h.  IEEE/EIA 12207

i.  Software Engineering Institute (SEI)

j.  SEI Capability Maturity Model for Software (SW-CMM®)

k.  SEI SW-CMM® vs. SEI CMMISM Staged

l.   SEI CMMISM Staged Representation

m.  SEI CMMISM Continuous Representation

3. Quality Team Tools

a.  Brainstorming

b.  Nominal Group Techniques

c.  Affinity Diagram

d.  Multi-Voting Techniques

e.  Nominal Group Technique – Exercise

f.  Prioritization Matrices

g.  Prioritization Graph

h.  Force Field Analysis

i.   Joint Applications Development

II: Software Quality Management

1. Software Quality Goals & Objectives

a.  Juran on Quality Achievement

b.  Deming’s 14 Points

c.  Crosby’s Maturity Framework

d.  Total Quality Management

e.  Baldrige National Quality Program

f.  Customer/Supplier Chain

g.  Software Quality Plan

h.  Software Acquisition

i.   Supplier Management

2. Software Quality Management System (QMS) Documentation

a.  Software QMS Documentation Hierarchy

b.  Processes

c.  ETVX Process Definition

d.  Process Definition Critical Attributes

e.  Process Documentation – Example

f.  Process Documentation – Exercise

g.  Process Architecture

h.  Process Tailoring

3. Cost of Quality

a.  Cost of Quality Categories

b.  Cost of Quality Balance

c.  Collecting Cost of Quality Data

d.  Cost of Quality Reporting

4. Problem Reporting & Corrective Action

a.  Problem Report & Corrective Action Procedures

·  Problem Report Process

·  Corrective Action Process

b.  Quality Improvement Processes

·  Process Improvement

·  IDEALSM Model for Process Improvement

·  Process Owners

·  Barriers to Implementation

5. Audits

a.  Audit Program

·  Audit Defined

·  Purpose of an Audit Program

·  Participant Roles

·  Initiator

·  Auditor Management

·  Lead Auditor

·  Auditors

·  Auditee Management

·  Auditee

·  Escort

b.  Audit Preparation & Execution

·  Types of Audits

·  Internal Audits

·  External Audits – Second Party Audits

·  External Audits – Third Party Audits

·  Quality System Audits

·  Product Audits

·  Process Audits

·  Project Audits

·  Supplier Audits

·  Audit Steps

·  Audit Initiation

·  Audit Entry Criteria

·  Audit Inputs

·  Audit Plan

·  Prepare for the Audit

·  Audit Execution

·  Opening Meeting

·  Gathering Objective Evidence

·  Checklists

·  Interviewing

·  Tracing

·  Daily Meetings

·  Closing Meeting   

·  Audit – Exercise

c.  Audit Reporting & Follow Up

·  Audit Report

·  Corrective Action

·  Corrective Action Plan

·  Evaluating the Corrective Action Plan

·  Verification Follow-up

III: Software Engineering Processes

1. Life Cycle Methods

a.  Waterfall Model 

b.  V Model

c.  U-Dot Model

d.  Spiral Model

e.  Incremental Model

f.  Rapid Application Development

g.  Evolutionary Development

h.  Rapid Prototyping

i.  Choosing a Model

2. Life Cycle Activities

a.  Concept Activities

·  Purpose of Concept Activities

·  Concept Documentation   

b.  Requirements Activities

·  Purpose of Requirements Activities

·  System Requirements

·  System Architectural Design

·  System vs. Software Requirements

·  Software Requirements

·  Software Requirements – FURPS+

·  Support Requirements

·  Requirements Elicitation  

·  Critical Incident Approach

·  Focus Groups

·  Context-Free Questions

·  Requirements Analysis

·  Data Flow Diagram

·  Entity Relationship Diagram

·  State Transition Diagram

·  Use Cases

·  Quality Functional Deployment

·  Requirements Specification

·  Software Requirements Specification

·  Requirements Verification

·  Requirements Checklist

c.  Design Activities

·  Purpose of Design Activities

·  Software Architectural Design

·  Software Architecture Styles

·  Heterogeneous Architecture

·  Architectural Design Documentation

·  Detailed Design Documentation

·  Design Verification

d.  Implementation Activities

·  Purpose of Implementation Activities

·  Code Verification

e.  Test Activities

·  Purpose of Test Activities

f.  Operations Activities

·  Purpose of Replication, Delivery & Installation

·  Products of Replication, Delivery & Installation

g.  Maintenance & Retirement

·  Purpose of Maintenance

·  Maintenance Products

·  Retirement

3. Requirements Management

a.  Purpose of Requirements Management    

b.  Requirements Management Practices

c.  Requirements Churn

d.  Traceability

IV: Program & Project Management

1. Planning

a.  Prpject Management Basics

·  Project Defined

·  Purpose of Project Management 

·  Software Project Management Process

·  Cost/Schedule/Product

·  Project Success   

b.  Project Planning

·  Goals of Software Project Planning

·  Project Objectives

·  Software Project Management Plan

·  Software Project Deliverables

c.  Project Estimation & Scheduling

·  Work Breakdown Structure

·  Types of Work Breakdown Structures

·  Include Everything

·  Work Breakdown Structure – Exercise

·  Estimation

·  Estimation Methods – Expert Judgment

·  PERT Method

·  Estimation Methods – Model Based

·  Scheduling

·  Activity Networks

·  Critical Path Method

·  Staff & Resource Allocation

·  Schedule Duration

·  Costs

2. Monitoring & Control

a.  Monitoring Tools & Metrics

·  Gantt Charts

·  Earned Value

·  Earned Value Tracking

·  Staff & Resource Tracking

·  Productivity Tracking

b.  Monitoring Reviews

·  Project Team Status Reviews

·  Senior Management Reviews

·  Phase Transition & Milestone Reviews

·  Post Project Reviews

c.  Project Control

·  Corrective Action

3. Risk Management

a.  Risk Management Basics

·  Risk Defined

·  Risk / Reward Balance

·  Types of Risk

·  Project Management vs. Risk Management

·  Risk Exists

·  Risk Management Process

b.  Risk Identification & Analysis

·  Risk Identification

·  Risk Statement

·  Communicating Risks

·  Risk Analysis

·  Risk Context

·  Risk Probability 

·  Loss Analysis

·  Risk Exposure

·  Risk Timeframe 

c.  Risk Planning

·  Techniques for Handling Risks

·  Avoid Risks

·  Obtain Information

·  Transfer the Risk

·  Control the Risk: Containment Plans

·  Assume the Risk – Contingency Plans

·  Risk Reduction Leverage

·  Adjust Project Plans

d.  Taking Action & Risk Tracking

·  Taking Action

·  Track Risks

e.  Implementing Risk Management

V: Software Metrics, Measurement & Analytical Methods

1. Metrics & Measurement Theory

a.  Measurement Theory

·  Software Metrics Defined

·  Measurement Defined

·  Entities & Attributes

·  Mapping System

b.  Why Measure

·  Roles of Measurement

2. 12 Steps to Useful Software Metrics

a.  ISO/IEC 15939

b.  The 12 Step Process

c.  Selecting Metrics

·  Two Schools of Thought    

·  Step 1 – Identify Metrics Customer

·  Goal/Question/Metrics Paradigm

·  Step 2 – Target Goals

·  Step 3 - Ask Questions

·  Drilling Down to Lower-Level Goals

·  Step 4 - Select Metrics

·  Metric Selection - Exercise

·  Selecting Metrics for Implementation

·  Evaluate Existing Metrics

·  Metrics Requirement Statement 

·  Metrics Requirement Statement - Exercise

d.  Designing Metrics

·  Why Standardization is Important

·  Step 5 – Standardize Definitions  

·  Standardize Definitions - Example

·  Step 6 – Choose a Model

·  Simplification

·  Selecting a Model

·  Tailoring a Model

·  Step 7 – Establish Counting Criteria

·  Types of Counting Criteria

·  Counting Criteria - Examples

·  Models & Counting Criteria - Exercise

·  Step 8 – Defining Decision Criteria

·  Decision Criteria for Control Type Metrics

·  Decision Criteria for Evaluate Type Metrics

·  Decision Criteria for Understand & Predict Type Metrics

·  Confidence Level

·  Decision Criteria - Example

·  Step 9 – Design Reporting Mechanisms

·  Report Timing

·  Report Delivery     

·  Design Reporting Mechanisms - Example

·  Design Reporting Mechanisms - Exercise

·  Step 10 – Determine Additional Qualifiers

e.  Collecting Data

·  Step 11 – Collect Data

·  Who Collects the Data?  

·  Data Collection Training     

·  Data Collection Objectives

·  How to Collect Data

·  Defining Data Collection - Example

f.  Considering Human Factors

·  Step 12 - Consider Human Factors

·  Human Factor – What Not to Do 

·  Human Factor – What to Do

3. Process & Product Measurement

a.  Commonly Used Metrics

·  Structural Complexity

·  Size – Lines of Code

·  Size – Function Points

·  Size – Other Size Metrics

·  Defect Density

·  Incident Report Arrival Rate

·  Incident Report Closure Metrics

·  System Performance

·  Reliability

·  Customer Satisfaction

b.  Software Quality Attributes

c.  Defect Detection Effectiveness Measures

·  Phase Containment Effectiveness

·  Defect Detection Efficiency

·  Defect Prevention

d.  Program Performance & Process Effectiveness

·  Program & Project Effectiveness

·  Process Effectiveness

·  Cycle Time

4. Analytical Techniques

a.  Flow Charts

b.  Pareto Charts

c.  Cause & Effect Diagrams

d.  Check Sheets

e.  Checklists

f.  Scatter Diagrams

g.  Run Charts

h.  Control Charts

i.   Histograms

j.  Root Cause Analysis

k.  Tree Diagram

l.  Process Decision Program Chart

m.  Matrix Diagram

n.  Interrelationship Digraph

VI: Software Verification & Validation

1. Verification & Validation Planning

a.  Verification & Validation Defined

b.  V&V Throughout the Life Cycle

c.  V&V Plan

d.  V&V Task Iteration

e.  Traceability

f.  Test Matrix – Example

2. Peer Reviews

a.  Types of Peer Reviews

·  What Can You Peer Review?

·  Benefits of Peer Reviews

·  Types of Peer Reviews

b.  Peer Review Processes

·  Desk Checking Process

·  Walkthrough & Inspection Roles

·  Walkthrough Process

·  Inspection Process

·  Common-Defects Checklists

·  Inspections – What Data to Collect

·  Inspection Metrics – Examples

·  Factors Affecting Peer Review Quality

·  Inspection – Exercise

3. Testing

a.  Testing Defined

·  Testing Principles

·  Levels of Testing

b.  Test Activities & Documentation

·  Testing Activities – Peer Reviews

·  Testing Activities – Test Planning & Design

·  Testing Activities – Test Execution

·  Test Documentation

c.  Structural (White Box) Testing

·  Condition/Decision Coverage

·  Loop Testing

·  Basis Path Testing

·  Testing Exception Handling

d.  Integration Testing

·  Top Down Integration Strategy

·  Stubs

·  Bottom Up Integration Strategy

·  Drivers

·  Design Predicate Approach

e.  Functional (Black Box) Testing

·  Testing Functions

·  Testing Use Case Scenarios

·  State Testing

·  Equivalence Class Partitioning

·  Boundary Value Testing

·  Error Guessing

·  Operational Profile Testing

·  Threads

·  Testing Non-Functional Requirements

·  Testing Non-Functional Requirements – Load, Volume & Stress

·  Testing Non-Functional Requirements – Localization Testing

f.  Regression Testing

g.  Evaluating the Testing Effort

·  Factors Affecting Quality of Testing

·  Reviewing Test Effort

VII: Software Configuration Management

1. Configuration Infrastructure

a.  Configuration Management

·  Configuration Management Defined

·  Software Configuration Management Goals & Practices

·  Software Configuration Management Responsibilities

·  Software Configuration Management Activities

·  Software Configuration Management Plans

b.  Library Processes

·  Library Functions

·  SCM Library Types

·  SCM Library Procedures – Creating a New Module

·  SCM Library Procedures – Testing a Build

·  SCM Library Procedures – Modifying a Controlled Module

·  SCM Library Procedures – Releasing a Build

·  SCM Library Procedures – Backup

2. Configuration Identification

a.  Configuration Items

·  Configuration Identification Activities

·  What Are Configuration Items?

·  Software System Decomposition

b.  Baselines

·  Baselines Defined

·  Types of Baselines

·  Acquisition

·  Version, Releases & Revisions

c.  Configuration Identification Methods

·  Unique Identifiers

·  Build Identification Scheme – Example

·  Document Identification Scheme – Example

3. Configuration Control

a.  Configuration Control

·  Sources of Change

·  Configuration Control Procedures

·  Baseline Control

·  Change Control Process – Example

b.  Configuration Control Boards

·  Multiple Levels of CCBs

·  CCB Membership

·  CCB Processes

·  Impact Analysis

c.  Version Control

·  Supporting Multiple Version

·  Controlling Patches

d.  Configuration Item Interfaces

·  Interfaces

·  Interface Control Activities

·  Hardware & Software Dependencies

4. Configuration Status Accounting

a.  Status Reporting

b.  Change Requests

5. Configuration Audits

a.  Functional Configuration Audits

      b.  Physical Configuration Audits

Other Software Quality Engineering Courses:

Building Software Quality Skills:  This 3-day course is a subset of the Software Quality Engineering design to provide a fundamental knowledge base and practical skills for anyone interested in implementing or improving Software Quality Engineering techniques and practices in their organization.  

Software Quality Techniques:  This 2-day course is a subset of the Software Quality Engineering designed to provide an overview of Software Quality Engineering techniques and practices.

Customized Courses:  Our Software Quality Engineering courses are modularized so that they can be easily customized for in-house course offerings that focus on the specific content and topics needed to meet your organization’s exact training requirements. 

The Westfall Team can also customize this course or any of our other standard courses or develop unique software engineering, quality and project management courses to meet your exact in-house training needs and specifications.  For example, class exercises can be tailored to include actual examples from your organization in order to make the training more relevant to your environment. 


For more information about this course or other courses offered by The Westfall Team

Send an email to:  lwestfall@westfallteam.com

Or call: 972-867-1172

© 1999-2010 Westfall Team, Inc.