© 2000 Johanna Rothman
“We’re repeatable. We consistently and repeatably do the same stupid things over and over again.” – senior test engineer
Process improvement experts emphasize the importance of having a repeatable process. I've found that the term “repeatable” is often misused to mean “not entirely chaotic.” In process improvement terminology, “repeatable” means that the company has a documented product development process that includes project management, requirements management, and QA processes. Therefore, although you may have a repeatable process in the sense that your organization does the same things repeatedly, it may not be repeatable in the process improvement sense of the word.
Even in organizations that use the term “repeatable” correctly, there's another problem. Some people view their repeatable process as a substitute for thinking. One project manager asked me this question:
“If we have a process, all we have to do is follow it, right?”
Well, it depends. Is your process working for you? Has your process ever worked for you? Does it meet your needs for this project? I prefer to see people thinking about what they need to do for their particular project:
- Is our design process appropriate for this project? Are we going through extra steps because our process tells us to, although the design is as complete as it needs to be for this project? Do we need to modify it, or use a different process? Do we need to iterate on the design this time? Alternatively, is the design complete, and we’re filling in the details with a series of projects?
-
What kinds of testing do we need on this project? How will we start testing at the beginning of this project? Do we need more exploratory testing this time? Do we need more automated testing this time?
-
Do our customers want a series of deliverables, or one major deliverable at the end? Does this mean we should choose a different lifecycle for the project?
-
What risks do we have? Do we expect to have to replan this project sometime in the middle of the project?
When you start analyzing your process, and understanding it, then you can decide what makes sense.
Analyze your process to see that it meets your needs for the project you’re about to start. “Repeatable” doesn’t have to mean that you do exactly the same things the same way every time. Watts Humphrey, in Managing the Software Process, says, “Software engineering is not a routine activity that can be structured and regimented like a repetitive manufacturing or clerical procedure.” He goes on to say that we should consider:
- The differences in our projects,
- That our processes must meet our own unique needs, and
- The process for a given project should consider the people, the product state and the resources available to do the work.
Instead of focusing on being repeatable (as in repetitious), let’s think first, and analyze and manage our projects.