A Practical Guide to Writing a Software Technical Design Document

The Iterative Options Analysis Approach

Grace Huang
The Startup

--

Disclaimer: The methodologies discussed in this article are a result of my collective experience of all the past years in software, hardware, and engineering in general. They do not represent any view of any company.

(Grab the full version of the guide with a real-life example on Gumroad.)

Design document writing is not only a brain dump of how you design software to communicate to other people (like recipes) but also most importantly, a tool for the software designer to form a concrete idea of how to solve a problem systematically and critically.

Over the years, I have been iterating my methodology for software design writing — I call it, Iterative Option Analysis (IOA). In the article, I will talk in-depth about what it is and how it works. I will use an example of building a transcribing app as an example to illustrate the idea, throughout the article

Document Structure from a Bird’s-eye view

Problem

Background

Goals

Non-Goals

Design Options
Option 1
- Pros
- Cons

Option 2
- Pros
- Cons

--

--

Grace Huang
The Startup

I write about startups, entrepreneurship, investing, software, hardware and manufacturing.