TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Best metaphor for software development?

6 pointsby kkovacsover 14 years ago
You know when a client comes to you with a three-sentence description of a project?<p>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..."<p>Now, these people are not stupid/evil, they just don't have the SLIGHTEST idea how complex software development can get.<p>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.<p>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).<p>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?)<p>What metaphors do you guys use to explain software development to "mere mortals"? Please help, I'm out of ideas. :)

1 comment

sainttexover 14 years ago
Possibly, leave the stories behind and stick to building out a scope of work that both you and your client can clearly understand.<p>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.<p>Scopes can be very quickly done, be used in contracts/legal docs and keep both you on the same page.