Writing documentation for your project can be a bit of a humbling experience. You encounter all the holes in your functionality, maybe find out that it’s not as easy to get started as you first thought. Of course it takes an attempt at explaining the thing you’re building for you to realise all this.

I guess that makes writing the docs all the more valuable, so that you can find all these shortcomings and fix them. Might even be worth writing the docs before you write the code. That way, you can avoid them altogether. Sort of like TDD but with documentation (DDD?)