[Link](# Preferring throwaway code over design docs)

Summary

Doug Turnbull, in his blog post, advocates using “throwaway” pull requests over traditional design documents for software development design. He argues that PRs allow for dynamic prototyping, quicker feedback, and iterative improvement, whereas design docs often become outdated and fail to address real-world coding complexities. While acknowledging that design docs are useful for high-level ideas and diverse stakeholder feedback, he emphasizes that disciplined teams can achieve better results by focusing on code experimentation and discarding prototypes when necessary.

Thoughts

This resonates in my bones. I’ve lost count of how many times I’ve written a design document, only to end up rewriting it once I started coding. In my experience, the value of design documentation depends on the level of abstraction. This also depends on the level of abstraction. When it comes to service and domain design, an iterative, code-first approach feels far more effective and deserving of attention whereas high-level system design does not.