If you build it they will… have an easier job
In Refactory we love that agile principle that goes “if it hurts, do it more often“. Reasoning behind it is, practice makes perfect: or, keep repeating it and eventually you’ll get better at it and hopefully find solutions to make it less painful.
When we start working on a legacy project, most of the time the initial setup is a mess. As in: it works on production, but pray you’ll never have to rebuild it from scratch because it’s a long and complex and poorly (if at all) documented process.
So the first thing we do is the project kick-off: we build it from scratch on a local / test environment. Multiple times. Introducing Docker, and/or bash scripts, and/or SQL fixtures, and a checklist (but we really prefer if most of it is automated). It’s not only important as a safety measure for disaster recovery, but also improves DX (Developer eXperience) as anyone jumping onto the project will find it easier to start a dev instance.
This is a quick way to find out dependencies, configurations, external service keys, all things that you want to know about way before you need to rebuild an instance in a rush.
Yeah, we’re kinda the boy scouts of the code. You’re welcome.
Photo by Anaya Katlego on Unsplash