For large engineering projects, the development process chosen is a key success factor. There are at least two ways for a project process to fail:
The team begins work without thinking carefully or developing a plan. The project work is disorganized, without a clear sense of direction. The plan may be unrealistic, but without a clearly defined path it may be difficult to judge progress and take corrective action.
The team spends a great deal of time preparing a detailed plan, documenting the presumed requirements, designing every aspect of the system as it is initially envisioned, and implementing all project components. When this work is completed (if the team has not run out of time by this point), fundamental project flaws are discovered, but little time is left to make needed changes.
While these are caricatures, they illustrate a real dilemma.
One way to reduce project risk and increase the chances of success it to adopt an incremental development strategy. When making an initial overall plan, the project is broken up into a series of deliverable increments, with each increment being a working subset of the final product or system. The knowledge gained in each incremental development cycle is then used to improve the overall project plan and to guide the work in the following cycle(s).
The basic ideas
After a certain point, you learn more by doing than by “planning”
Important to have clear goals for your work
Cycle overview
Typical cycle phases