I'm not arguing against the core arguments of the article (I agree with most of the points), but on the other hand, software development is (at least currently) an essentially iterative process - one that differs greatly from other production processes (e.g. buildings, cars). We all know how difficult it is to estimate how much development time something takes. Planning is hard and outcomes have therefore greater variability.