Designing software is hard. Writing code is hard. Deciding on technical tradeoffs is hard. Timelines are hard. TL;DR: everything is hard. Let’s talk about it!
Writing design docs for software and planning for iterative releases means understanding technical tradeoffs behind each decision. To start, we need to understand our resource constraints and feature requirements. Moving forward, we need to plan the initial MVP, then map our route to iterative releases and improvements. Let’s discuss how to lay out a design doc for a software project (in this case, deployed on Kubernetes), with bonus tips on communicating technical details!
We don’t create software in a vacuum; effective technology professionals need to be able to clearly communicate technical decisions across the org. These techniques will help you get started.