Peer review of all work products results in identification of defects as early as possible in the development cycle. Incremental development as practiced in Cleanroom provides a basis for statistical quality control of the development process. Each increment is a complete iteration of the process. Performance is typically assessed during increment testing in measures such as errors per thousand lines of code, rate of growth in MTTF, or number of sequential error-free random test cases. If the process is in control, work on the next increment continues.
Feedback produced in each increment is used for project management and process improvement.
The team examines all feedback, identifies problems, adjusts the incremental development plan if needed, and improves the overall software process as needed. The key idea underlying the Cleanroom approach to development is that a computer program is an expression of a mathematical function. The domain of the function is the set of all possible input histories, the co-domain of the function is the set of all possible outputs, the range of the function is the set of all correct outputs, and the program specification maps input histories to their correct outputs. In Cleanroom development work, the Box Structure Method is used for specification and design and functional verification is used to confirm that the design is a correct implementation of the specification. Verification of program correctness is performed through team review based on correctness questions.