CleanroomA cleanroom is an environment that has a low level of envrionmental pollutants such as dust, airborne microbes, aerosol particles and chemical vapours. More accurately, a clean room has a controlled level of contamination that is specified either by the amount of particles per meter-cubed (ppm) and by maximum particle size.
Low-level clean rooms are often not sterile (i.e., free of uncontrolled microbes) and more attention is given to airborne dust.
Cleanrooms can be very large. Entire manufacturing facilities can be clean with factory floors covering thousands of square meters.
Cleanroom is also a term used in software engineering
Meaning 1: The process is based on very careful design of functions. The implementation of these are then peer-reviewed to verify that they do what they are specifed to. By analogy with cleanrooms in semiconductor fabrication which prevent the need for cleaning silicon wafers by making sure that they never get dirty, Cleanroom development removes the need for debugging by ensuring that bugs never get introduced. (see also Rational Unified Process).
Meaning 2: Another different use of the term "cleanroom" in software engineering is the use of separate teams to specify requirements, implement functionality, and to compare the two. Communication between the groups is usually carried out only in writing, with all communication being reviewed by lawyers.
This method can be used to develop software in a way that can be demonstrated not to have infringed legal restrictions by a third party. This form of clean-room development was used to develop the first non-infringing third-party PC BIOS implementations.