Skip to Main Content
Presents the seven basic steps of opportunistic software process evolution. (1) Notice problems in products or outcomes. (2) Choose an important or chronic problem and look for a way to solve it, in whole or in part. (3) Conceive of a new, borrowed or modified process that could solve the problem at an acceptable cost and in an acceptable time frame. (4) Try the new process on a real project. (5) Adjust the process in light of experience and in light of the new problems that were created by the process. (6) If the solution is worth perpetuating, look for a way to make it more efficient or durable by adding infrastructure (such as documentation, training or tool support). Otherwise, try to understand why it doesn't seem to work. (7) Return to step 1. Pay attention to projects on the scale of hours, cubicles, people and episodes. In complex cognitive processes like software development, if process evolution is foiled on the micro scale, it will be foiled utterly.