What is it?
Cleanroom combines formal methods of requirements and design with statistical usage testing to produce software with nearly none or no defects.
Software development follows some model.
A really bad model (but very common) is :
"code and fix" or "Design at the keyboard".
These make a programmer figure out what a program needs to do, design algorithms, data, write it and debug it all at the same time. A lot of different kinds of work all done mixed together. This is very difficult.