If you are not familiar with this term, it basically means implementing tests as early as possible. Test Driven Development is a manifestation of having shifted left.

Many teams do testing after writing the functional code. Some teams write tests after the fact. And some do little or no testing at all.

Shifting fully left means that tests are written first, before any functional implementation is written. This is a core principle of TDD.

High adrenaline

For those new to testing, fully embracing testing and TDD can feel very alien. Coding often gives a great adrenaline rush, one that developers can get hooked on. But it should be clear that writing functional code before the requirements are fully understood, which is often the way in Agile environments, means that it is highly likely to break in the future.

Low adrenaline

The mere mention of the idea of writing tests before functional code can feel like a real downer!

An oft heard reason for not doing TDD is telling management “we would be delighted to do it but it will mean that your deadlines will not be met or have t be adjusted”. In the immediate term, adding a thorough test can be a little slower. However, longer term, you will save a ton of time.

Another comment often heard is “if you right quality code in the first place, there’s not so much need for fully left shifted testing”. This also falls flat on its face. The code can only be as good as the understanding of the problem. As good as the initial code may have been, requirements change all the time. As soon as this happens, your code is at risk. TDD helps to solve these problems.


With a shift left approach to software development, the whole company benefits and everyone will sleep better. Future developers won’t be so afraid to touch your code. Customers, Sales and Management will experience upsides galore.

DevMate helps make this transition less painful and should result in between 25% and 50% time saving compared with hand coded tests. Most importantly, you will improve product quality.