4 ms·
Ask HN: Best metaphor for software development?
You know when a client comes to you with a three-sentence description of a project?
And you want to scream that "NOOOOO it doesn't work like this! I can't tell how much that will cost WITHOUT AT LEAST spending half a day understanding your whole concept, doing some research..."
Now, these people are not stupid/evil, they just don't have the SLIGHTEST idea how complex software development can get.
So I try to explain it using different things, for example, "you know, even a painter can't give you a quote without seeing the whole house from the inside?" But that still implies that if I only knew the wall area that has to be programmed, I could give an exact quote.
Other times, I use architecture as a simulacrum, saying "you know how you need a plan for a house? You can't just ask a bricklayer how much a new house will cost." But then it's hard to introduce agile development later (no big plans).
Sometimes I say that new software is like developing a new car; but the differences between car and car are MUCH LESS than between software and software, so it's not very good either. (Who would have his own car developed?)
What metaphors do you guys use to explain software development to "mere mortals"? Please help, I'm out of ideas. :)
- deleted 16y ago[deleted]
- kkovacs 16y agoOf course one tries to do that, that's exactly what the question is aimed at. :) How could education happen but through their own understanding? It's easy when one is already at the meeting when such things are to be discussed. But what often happens in real life, is that a sales guy (an intermediary!) comes, and asks, "hey I have this client, he needs this and this, can you guys give a quote by tomorrow?" :) Don't tell me such a thing never happened in your praxis. :)
- sainttex 16y agoEasy, hit the potential client back with an outline of involved work. If they seem determined to come to their own understanding, explain that it is similar to machinery and each portion of the machine needs to be crafted exactly to the machine's purpose.
- sainttex 16y agoPossibly, leave the stories behind and stick to building out a scope of work that both you and your client can clearly understand. It doesn't have to be crazy, and will most likely take less time than clearing up a rough metaphor to programming, which your client most likely has no interest in understanding. Scopes can be very quickly done, be used in contracts/legal docs and keep both you on the same page.
- deleted 16y ago[deleted]