Hacker News new | comments | show | ask | jobs | submit login

I disagree with points of this article, and I'm not sure about the premise. I think Software Engineering is not as well defined as it could be but I think it is getting better. The book Rapid Development by Steve McConnel goes a long way in that regard.

The article states that to spend vast sums of money and end up with nothing, you must be paying for software development. But if you follow the principles laid out in Steve's book (and probably other software engineering books as well), you can't end up with nothing; at every milestone you have something, just like a building.

I also disagree that software either works or doesn't. Most software problems are bugs, and most of the ones that make it through testing are intermittent, seemingly randomly occuring problems. Software with bugs still works, but may not be high enough quality that you would want to use it, similar to how you wouldn't want to live in a house made of shoddy materials, even though it still mostly provides shelter and "works."

> at every milestone you have something, just like a building.

What? When you're building a building, you don't have something usable at each milestone.

Of course there are milestones (that leaves you something usable) in construction!

* Construction start

* Foundation completed

* Structure/Frame completed

* Roofing completed

* Interior Walls

etc etc etc.. I'm not in the construction business, but anyone with even the smallest experience (like putting up a deck) can tell you what critical milestones need to be completed. You can't start the roofing without the supporting foundation and structure completed -- nor can you put up deck railings without the actual deck floor in place.

The cool thing about software is that the order should reflect uncertainties and risks rather than physical structure. The incomplete parts can be stubs.

That's exactly what I (and the author of the article we're discussing) meant, I find it surprising that there is any confusion on this point.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact