There is widespread agreement that an iterative/incremental development process is the best process to follow when using OO development techniques. There is also a fairly good high-level understanding of what it means for developers to follow an opportunistic iterative/incremental development process.
What is typically not understood, is how the interactions between iterating over project deliverables and incrementally completing the system work out so that the project moves forward in a disciplined way that managers can plan and track. This column outlines these interactions. I will start by defining terms and then give an overview of the process. The rest of the column will elaborate on the process. There are many variations on the iterative/incremental development process. Many are less disciplined then what is described in this column. The focus of this column is a manageable iterative/incremental development process.