Wasn't Fred Brooks who said something along the lines of "always build one to throw away"? Even though, this is not supposed to be a satire (or is it?) , the fact that software engineering is a very young subject needs to be taken into consideration. On the other hand, We need failed software projects to know what not to do.