Description
When I worked for a company that grew to have an engineering team spanning three continents I learned that the only way to keep things productive was to embrace comprehensive documentation and automated tests.
Then I decided to see if the techniques that worked for software development at large team sizes could scale down to my personal projects with a team size of one.
I expected that embracing comprehensive testing and documentation for my personal projects would slow me down. To my surprise, they had the opposite effect: I have found that my productivity has increased by an order of magnitude through my embrace of testing and documentation.
This has worked even for projects where I am the only maintainer and the only end-user. I find myself able to actively maintain dozens of projects by acting like I'm part of a much larger team. I can return to a project a year later having forgotten everything about it and be up-to-speed and productively hacking on changes in just a few minutes.
I'll talk you through my test and documentation-driven development process, and give you a whole bag of actionable tricks that you can apply to both your personal projects and your work in larger teams.