1. 10

  2. 14

    Before the 2000’s, software development was mostly done in a Waterfall approach.

    This viewpoint that has become a commonplace and fashionable today, is largely inaccurate. Before 2000, most complex problems in business, commerce and industry were undertaken using incremental and iterative approaches.

    A single linear analysis and design, then development, then testing methodology had fallen from favor for general software development long before the “agile” movement.

    It saddens me somewhat that history has been re-written for many young developers to be that “enlightened” agile replaced “evil” waterfall.

    This article on the history of a incremental and iterative approaches might be interesting:- http://www.craiglarman.com/wiki/downloads/misc/history-of-iterative-larman-and-basili-ieee-computer.pdf

    1. 6

      You’re absolutely correct. I really dislike the way “waterfall” is used left and right these days to describe how things were, because it’s inaccurate: the term waterfall was coined as a description of something that should be avoided. It was an observation of a failing development model, never did its author recommend it as a practice.

      1. 4

        I suspect authors use the “Waterfall” canard as both a rhetorical tool to bolster their claims and just to be lazy. Getting the nuance of the evolution of software development right is tough, and it’s especially tough to distill it down to a paragraph with reasonable accuracy.

        I’d be a lot happier if it was just left out of these kinds of pieces, even when they say useful things (like I think this article does). You are absolutely correct: this characterization of software practices is more or less historical negationism.