Pipelines as Code - Don't Reinvent the Wheel

The term "Pipelines as Code" means that you are defining the process through which your code moves from source control, all the way to running in production. This practice is absolutely necessary if you want to build a high performing development process that allows your system to be rapidly iterated on.

But somewhere along the lines, companies and individuals started seeing the term "Pipelines as Code" and thinking that this was an opportunity for them to begin coding a CI/CD system or drastically extending one. If this is you, stop for a moment and take a breath. Read The Phoenix Project and The Unicorn Project. Ask yourself, "Why is my organization/team is different from any other out there?" At the end of the day, if you're that far from what the rest of the industry is striving for, then it's time to reconsider your approach from top-to-bottom. The front runners of the industry are not striving to create ci/cd systems just for their own internal use. Use what's available to you, and let other teams choose what makes sense for them. Write code that defines your pipelines; not code that defines your ci/cd system.