Anbieter zum Thema
Iterative recipes
“The final blow to software methodologies of all shapes comes from iteration. In the early days, the recipe mantra was all about dividing the software development process into steps that had to be followed sequentially. This simplistic division of labor was nicknamed “waterfall”, reflecting on the mathematically monotonous aspect of the process: one did not go back to a phase after it was closed and labeled as completed.
But reality is stubborn. This division of labor into phases made some sense from a theoretical point of view, but it soon appeared not to work in practice. Even when all the checks and validations had ensured that a phase was to be considered as completed, its deliverables had to be revisited, questioned, altered and reworked.
The first reaction was to add validation layers to ensure that intermediate deliverables and activities were final, that one had not overlooked anything of importance and that it was time to move on. It only made the process even heavier than it already was, without making much of a dent in the need to review past deliverables.
The teams that were committed to waterfall methodologies ended up developing the software anarchically under the radar, and faked the process by providing the expected intermediate deliverables without following the corresponding process, which was, for all practical purposes, a fiction. The waterfall model just does not work.
Even the most stubborn of the methodologists can only face damning evidence for so long. At some point, the purely sequential model got replaced by iterations, where sequences of phases are restarted periodically as the project advances. Phases are thus never final. They can always be questioned, and amended to reflect evolving specifications, more maturity in the understanding of the domain, ungracious performance figures or any other change in the surrounding environment.
Iterations in the development process are the acceptance that one cannot develop half-decent software without reconsidering, refactoring, redesigning as the project advances. The waterfall is a delusion. Completion is uncertain. The past must be questioned, over and over again.
But iterations defeat the purpose of methodologies. How much of a methodology is it still? How much of a measure of completion does it allow for? How much of a structure does it put on software development? How more manageable and more measurable does the resulting process become?
Iterations are not an advance in the state of the art. They are a concession of defeat. They are an admission that formalizing the software development process is pointless.”
(ID:44842486)