I'm trying to document a piece of software I wrote in detail. An SAS is too high level and doesn't cover the API. I found several examples of an SDS online, but I don't see a trend in their format.

I'm wondering if there are some general guidelines to writing a Software Design Specification or what the best approach is?


You could do a lot worse than starting with the DOD-STD-2167A Software Design Document Data Item Description.

The US Department of Defense has a lot of experience with software development, a lot more than any one company. They also have a vested interest in actually getting software that did the job, and that could be maintained down the road. They went to a lot of trouble to figure out what information needed to be in the various documents that support a software project, using experience from a large number of projects, and more than a few very expensive failures.

The Software Development Plan DID (available here) includes a number of items that must be addressed. If you look closely, you'll notice that those sections are written in the blood of program managers who failed to address those items.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.