Cleanroom Software Engineering – Short Notes

Introduction

Although has been around for years, cleanroom rarely heard in Software engineer community. Many software engineers ask about the benefit and existence of cleanroom itself. In this article I want to tell a short story about cleanroom and the important factor that we need to be aware of as software engineer.


What is it about?

Cleanroom is developed by Harlan Mills, 1980. He suggest that as with cleanroom hardware Development, we need to focus on defect prevention rather than defect removal[1]. It means we need to make sure that our artifact and process in every process level must be guarded well. Everything must be error free. Rather than fix error after debug / testing, we can fix the error even from design and analysis level by implementing formal method and statistical measurement.


Clean or clear?

So it must be clean. How we do it? That’s the meaning of my headline here. Our specification must be extremely clear so our increment can be clean. Cleanroom incorporates method called Box Structure Specification that incorporate black box (input output mapping), state box (state in black box), and clear box (algorithm in state). The use of box model can clear the ambiguity of analysis and design artifact plus a very unique possibility of test the box model error.

Figure 1. Black Box representation

Figure 2. State Box representation

Figure 3. Clear Box representation


Process model

Cleanroom, like other method have its own process model depicted in Figure 4.

Figure 4.Cleanroom Process Model (adapted from [2])


Closing

Although cleanroom held great potential of quality improvement, its development is slow. Most engineers who know this method think it is too theoretical and not practical, especially in our agile era.

Last words, this is a respectable invention. Many interesting technique and method applied here. Nice addition for our knowledge as software engineer.


Reference

[1] Mills, Harlan, et al. 1987. Cleanroom Software Engineering.

[2] Oshana, Robert. 1998. An Industrial Application of Cleanroom Software Engineering – Benefits Through Tailoring.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s