This document discusses quality assurance techniques for large C++ projects. It describes the differences between quality assurance and quality control, with QA focusing on preventing defects during development, while QC finds defects in finished products. A variety of techniques are listed and their estimated effectiveness rates at finding defects. The document advocates using source control, build tools, coding standards, code reviews, unit testing, static analysis, code coverage, runtime verification tools, and continuous integration to improve quality assurance.