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: How do I learn to write good software specifications?

7 pointsby ciaobenabout 8 years ago
I want to be able to hire freelancers and to give them documents that make our communication effortless and clear. Make them jobs as developers easier, any advice or good resource to suggest?

4 comments

brudgersabout 8 years ago
Hiring good contractors is always going to get you farther than good specifications. A good contractor will fill in the gaps in the spec and make something better. On the other hand, even the best spec won&#x27;t preclude a contractor from delivering a package that meets the spec without meeting your needs.<p>Specs are only as good as the shared sense of mission between the spec author and implementor. The specification for C specifies that certain behaviors are undefined. A compiler writer is free to reformat the user&#x27;s hard disk when an undefined behavior is found in the source code. That&#x27;s the compiler writer you don&#x27;t want to hire because restoring the disk from backup will be a change order.<p>Good luck.
AnimalMuppetabout 8 years ago
First, you should have had to implement a number of specifications yourself, so that you have experience about what kinds of things are unclear.<p>Second, you should have someone else read the specs you produce, to help find the places where what you wrote was clear <i>to you</i>, but not clear to someone who didn&#x27;t already know what you meant.<p>And third, you need to make it very clear: If you don&#x27;t understand, ask. Email me. Better yet, call me.
itamarstabout 8 years ago
Behavior-driven development (BDD) tools are designed to help with this use case: sitting down and defining the high-level criteria for functionality.
评论 #14201219 未加载
machteshabout 8 years ago
The best guide in my opinion: <a href="https:&#x2F;&#x2F;www.joelonsoftware.com&#x2F;2000&#x2F;10&#x2F;02&#x2F;painless-functional-specifications-part-1-why-bother&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.joelonsoftware.com&#x2F;2000&#x2F;10&#x2F;02&#x2F;painless-functiona...</a>