Why Shift Left? And how much?

Thursday, November 16, 2017

The new mantra in town - "Shift Left". So we wish to shift everything to left (except in the case of right-to-left, we shall do it otherwise). This is called the mantra of DevOps.

Left of what? The delivery pipeline. The great thing that we often call CI/CD in the vocabulary of DevOps.

The primary concept of DevOps is to reduce friction in the pipeline and enable early feedback to the stakeholders. This is more relevant when the team is using Agile process or methodology. It started with builds shifting left to have early feedback for success of a build. We shifted Unit Testing, code quality. These were mundane tasks that really gave high value.

Then we started shifting other items -

Shift left testing - This needed test automation. So, the automated tests started coming in and we shifted the testing to the left. We started getting value early, we could verify or validate many things early.

Shift left integration - We started putting integration and deployment in the pipeline and we could get great feedback on issues that we use to see much later.

Shift left security - We now started shifting security to left in the pipeline. The new buzz word born - DevSecOps! DevSecOps is a great set of fundamental concepts that add efficiency to the pipeline and breaking the silo.

So, how much do we shift left? Can we shift everything to left? Can that even be feasible in theory? Let us assume that it is possible. Assume that length of a pipeline is 'X'. If we shift everything to left, will the pipeline be still as long as what it was earlier? Definitely not. If the length shortens, is the shifting still hold good? possibly not.

What I wanted to bring in here is that shifting everything to left might not be feasible or economical. So, when we say "shift left", we need to understand that we are shifting only those things to left that creates a value.

For example, we might not automate each and everything that we test and shift them left. Only the ones that are repeated in high number should go left. This is because, automation has a cost of creation and maintenance. We need to be aware of the cost-benefit ratio of any activity that we wish to shift to the left (or to right in some cases).

So, let us be careful be aware of the underlying economic policies that can make a shift more meaningful.


Add comment