Project: Software Quality Assurance Training Course

Title:
Preparation and presentation of the Software Quality Assurance Course
Client:
ERA / Telecom Modus Ltd.
Description:
A 2-day course on Software Quality Assurance was developed specifically for ERA/Telecom Modus Ltd to train their software development teams. This course was a combination of presented materials plus seven team exercises.

The aim of the course was: To provide an appreciation of how Quality Assurance can be used to improve the final quality of a system.

To provide this appreciation the objectives were to show:

  • The relationship between international standards and every-day practises
  • The advantages of using quality assurance & quality control
  • How to choose the right 'horse' for the 'course'
  • How to improve the quality of your systems development
  • How to build the right team to provide the best quality.

The detailed syllabus for the 2-day course was:

1 Software Life-cycles and Quality Assurance

  • Waterfall, spiral and evolutionary prototyping
  • Requirements analysis, validation and verification
  • Functional specification and system architecture
  • Detailed design, coding and configuration control
  • Testing, build tests, integration, certification and acceptance
  • Planning, costing and maintenance        

2 Implementing Software Quality Assurance

  • Setting up the QA system, scaling, expected benefits/difficulties
  • Start-to-finish documentation, consistency and spotting problems
  • Requirements and the user, areas of confusion and uncertainty
  • Design walk-through, programming psychology
  • Code for testability, test environments, reliability analysis
  • Integration, locating and identifying problems        

3 Software Methodologies

  • Methodologies overview, process, data and event driven
  • Types of design paradigm, procedural, object oriented, etc.
  • Review of techniques, Yourdon, SSADM, DFD, OOD, UML, Z etc.
  • HCI design problems, data in and data out
  • Relevance of formal methods, mixed design approaches
  • Automated design tools and CASE, software through pictures.

4 Methodologies and Quality Assurance

  • Design for testability, design for maintainability
  • Changes, configuration control and impact analysis
  • Metrics (size vs. functionality), accuracy and meaning
  • Selecting the team, allocating resources, people management
  • Maintenance, reuse and re-engineering, tools and approaches
  • When to start again, feed-back of experience, problem prediction.

The exercises were:

  1. What is quality assurance?
  2. Requirements definition
  3. Managing a crisis
  4. Software effort estimation
  5. Structure chart based coding
  6. Code walk-through & testing
  7. Why projects fail
  8. Test plans
  9. Improving quality at ERA.
Deliverables:
The set of deliverables for the course were:
  • Study Guide
  • Presentation Materials
  • Exercise Sheets and Model Answers
  • Course Evaluation Sheets
Partners:
None.
Timeline:
1997-2001 (2-day course given 10 times in the period)
Read more:
More information is available on:
  • Recommended reading list
  • Example exercise (Test Plans)
  • Example presentation materials
  • Example material from the Study Guide