About ten years ago I learned of the power of doing something called continuous integration. Maybe a bit more than ten, but not much. The idea is actually pretty simple.
Everybody works on their own versions of code but checks it infrequently. Then, an automated process merges/integrates all the code and builds it to see if any new changes broke the build. This can be triggered by any person's commits. And happens often.
You can even do continuous deployments—which takes the newly built code and deploys it to a server. And if you get fancy, which we did, you can run automated tests after the build and before deployment – so that nothing gets deployed that hasn't passed all the tests.
We did all of this in my fifth startup when we were working on a large re-platforming project in the automotive space and each person on the team was distributed.
Now I wanted to do it again for WordPress projects—particularly when some of our projects meant 8 people were working, across the globe, on the same codebase.
But I needed time—to compare some of the options I had available to me (Jenkins vs Scrutinizer vs Travis for continuous integration, Scrutinizer vs Code Climate for PHP evaluation, etc). And I didn't have time. I was busy. In meetings. On calls.
I wanted to do something epic. Automation is always epic.
And then I realized my problem.
I was trying to do it alone.
So I asked my friend and new employee for a little bit of help before he got assigned to 112 projects. And he helped me.
And we figured out which tools we were going to use. And we tested them. And he went even further.
And so today I was able to introduce these tools to my team.
All because I learned, again, the same lesson I've had to learn 35 times before.
You can't do epic all alone.