It makes it so much easier to pick them up again in the future when enough time has passed that I've forgotten almost everything about them.
It makes it so much easier to pick them up again in the future when enough time has passed that I've forgotten almost everything about them.
I have a couple of android projects that are four years old. I have the architecture documented, my notes (to self) about some important details that I thought I was liable to forget, a raft of tests. Now I can't even get it to load inside the new version of Android Studio or to build it. There's a ton of indirection between different components spread over properties, xml, kotlin but what makes it worse is that any attempt to upgrade is a delicate dance between different versions and working one's ways around deprecated APIs. It isn't just the mobile ecosystem.
Every time I've believed this, I came back to broken CI.
Depending on your language ecosystem, your CI workflows and build deps stand a greater chance to break than your code.
I have a rule that any commit which changes the implementation has to include the documentation update at the same time.
Most of these documentation updates are a sentence or two, or maybe a paragraph. The overhead of incremental documentation updates like that is tiny enough that I don't really think about assigning extra time for them.