Hacker News new | ask | show | jobs
by bthecohen 3849 days ago
This is funny, but I think it misstates the real problem. This is what would really happen:

King: "Make me a toaster."

Software developer: makes toaster

King: "Okay, that's great, but could you also make it scramble eggs? It should just be a small change, right?"

Software developer: adds egg scrambling module

King: "Actually, could the eggs be soft boiled instead?"

etc.

In other words, OO and other programming abstractions arose precisely because we actually do need to deal with changing requirements, all the time.

4 comments

>"Actually, could . . . instead?"

A phrase that so very often tests the self control, patience and will to live of software developers around the world.

Eh.

My answer to that question is usually. "Yes, as long as you're willing to pay for it."

I'm not a consultant. "Payment" comes in many flavors.

> "Actually, could . . . also?"

Is the bigger problem. When I hear "instead", I think, "oh good, we can delete a bunch of stuff we don't need anymore", but when I hear "also", I think, "oh crap, not only do we need to add stuff, we need to make the existing stuff more flexible".

I enjoyed reading it - it's amusing and some of it resonates with my experiences.

...But I don't think it's great satire, for the reasons you point out.

This happens all the time in all engineering projects. Generally, if the requirements change that drastically in the middle of the project then either the initial requirements were terrible or the requested change is just a bad idea.

Many an engineering project has been sabotaged because someone tried to force a bad change into the middle. I could go on all day just with examples from the Pentagon.

But the EE can start over and still finish earlier - and deliver toast in the interim.