Your Deployment Pipeline is Your Biggest #Fail

By Robert Carpenter
A well tuned software toolchain and deployment pipeline saves every developer on your team between two and three hours a week. On a team of 12 developers, that’s almost an entire man-week of time saved every week (36 hours).

As a software developer, repeated computer tasks simply bore me. If it’s possible to make my fancy machines do the job for me, I want to do that. Software deployment is a smart use case of automation tools because it’s the worst possible case of a repeated risk.

A manual deployment pipeline:
  • Limits how frequently your team will deploy
  • Limits how many people on your team are capable of reacting to a critical bug
  • Happens infrequently enough that you’re likely to forget a step
  • Happens frequently enough that it’s a big time sink
  • Requires constant communication about what steps are required to deploy
  • Depends on manual checks for deployment validation
Manual deployment is the worst kind of repeated risk. A lot is on the line, it takes time, and it breeds overconfidence.

In contrast, an automated deployment pipeline:
  • Minimizes the dreaded context switch
  • Prevents unexpected downtime by ensuring tests pass before deploying
  • Allows everyone to share the responsibility of reacting to critical bugs
  • Serves as a canonical source of steps required to execute a deployment
  • Automatically validates deployment success
The gold standard for what an automated software pipeline should provide include these developer most loved features as well:

  • Continuous Integration to run and validate tests before code is merged
  • Test coverage and source code lint analysis tools, if you’re into that
  • Automatic deployment to staging or test environments
  • Automatic, sanitized production database dumps
  • Push button, zero downtime deployments

Depending on your software stack, setup time on these tools can be as short as a week. The earlier automation is introduced, the easier it is to implement and the more time it’ll save.

Luckily, a lot of the tooling required to set up these developer favorites is out there, waiting to be implemented for your stack. A dozen available CI providers and API driven cloud providers can make quick work of a deployment pipeline, if you’re willing to invest the time.

Robert Carpenter is a deployment engineer and cloud architect with Tumbler Lock consulting. He has 15 years of full stack experience with software startups and loves making developers more productive through automation.

See More Posts About:

Software Development Tools

Posted by Robert Carpenter

LinkedIn Website