Too Much Focus on the Beginning of Software Lifecycle?
rfreedman asks: "Most of the buzz on the web about software development tools, languages, and practices seems to concentrate on getting software developed as quickly as possible. Take, for example, the current huge hype about Ruby on Rails, and how it allows the creation of a CRUD web-database application x-times more quickly than every other environment. It seems to me that this concentration on initial construction of software ignores the issue of total cost of ownership. Most people who develop software also have to maintain it, and have to support changes to it over long periods of time. As has been discussed many times over the years, maintenance is the most expensive part of the software development life-cycle. I think that the software development community would be better served by discussions of how to build more robust, flexible, and maintainable software (thereby driving down TCO), than by the endless discussions that we currently see about how to build it quickly. What do you think?"
The article specifially mentions ROR which is stupid because ROR is all about good coding practices and maintenance. When you create a controller or a model ROR automatically creates a test for you. The test is minimal to be sure but you no longer have the excuse and it's trivial to expand the case. ROR also encourages MVC and dozens of other patterns.
ROR is the wrong example in this case. The right example is ASP.NET which encourages sloppy practices like embedding SQL in code and Crystal reports which is well an abomination as far as I am concerned. Visual studio didn't even support unit testing till 2005 for gods sake and MS still discourages the use of object persistence layers.
evil is as evil does