The Benefits of Test Driven Development (TDD) for Non-Engineering Managers and CTOs
Photo by Lili Popper on Unsplash

The Benefits of Test Driven Development (TDD) for Non-Engineering Managers and CTOs

Most conversations about Test Driven Development (TDD) on Linkedin are between software engineers arguing the pros and cons of this approach. There are implications for non-engineering managers and CTOs but there is little information online aimed at providing the benefits of these approaches for non-engineers in leadership positions.

I'm a fan of this approach, I've seen complex, expensive problems solved by teams working with TDD. However, when speaking to CTOs it often feels like they need convincing that they should be looking at this way of working for their teams.

A quick definition of Test Driven Development: 

  1. Start by writing a small test for a specific piece of functionality. If you run this test it will fail because the code hasn't been written yet.
  2. Make the test pass by writing the smallest amount of code possible
  3. Refactor the code to restructure or improve what was initially written while still passing the test.

What are some of the benefits of teams using TDD for CTOs and non-engineering managers:

Driven by design

Small, incremental changes that are intentional. The practice of writing a test first means that the engineers are actively thinking about the design of the product. This approach means that complex systems are built in a controlled manner, step by step, with each change being tested against the desired outcome and impact on the overall system.

Limiting the impact of change

By forcing themselves to work in smaller steps the engineers are limiting the impact of any change. Changes that have unintended outcomes can be much more easily fixed by either rolling back the change or in a perfect world a small fix that can be rolled forward with limited or no down time to the overall system.

Faster feedback

As a non-engineer I value the consistent and frequent information I get from engineers working in this way. They are effectively working in a set of small feedback loops so there are constant signals about how well the code is meeting the needs we have defined and in terms of quality and performance. Once you have worked in this way it is hard to go back to a signal-less approach.

Higher quality

TDD leads to higher quality. Quality is a broad topic but I don't just mean the code quality is higher due to the existence of tests but the software design quality is higher because of the intentional approach and the product quality is higher due to the short feedback loops.

Lower cost of change

Small, incremental steps that are well tested increases the safety of each change made. This effectively lowers the cost of any change we want to make to our plans. If we find that our initial assumptions are wrong through user feedback we are not tied to as much sunk cost. This means we are free to make better decisions based on data.

These are just some of the benefits I have seen as a non-engineering manager working with teams who practice TDD. Knowing that the team are producing high quality code, in small feedback loops that provide me with the constant signals I need to make decisions and lowering the cost of any necessary changes are huge benefits.

It's not easy, and requires a high level of engineering skill to be able to work in this way. However, the benefits of this approach are high enough that I consider them to outweigh any cost.


Photo by Lili Popper on Unsplash

To view or add a comment, sign in

More articles by Paul Edwards

  • Empowered teams

    Some people consider the idea of a self-organised or empowered team to be poor or even lazy management. The suspicion…

  • Observations on digital transformations

    Inspired by Allan Holub's list of heuristics for effective software engineering organisations I've created my own list…

  • The industry narrative and the last 10 years

    I've been doing some research into the technical advances of the last 10 years and I found that the same technologies…

    1 Comment
  • Gen AI use in a complex organisation

    Giving everyone in your organisation access to Generative AI tools is unlikely to give you the benefits in efficiency…

    3 Comments
  • Behaviour Driven Development for CTOs and CPOs

    Behaviour Driven Development (BDD) is a useful tool for communicating business requirements to development teams but…

  • Breaking the Code: Why More Lines ≠ More Productivity in Generative AI

    This week I saw a number of posts celebrating how Spotify had produced 1,000,000 lines of code using Generative AI…

    2 Comments
  • Solving the right problems with generative AI

    In an environment when budgets are restricted but expectations are high due to advances in generative AI technology…

  • Lessons from leading a quality-focused team in a complex landscape

    One of the biggest change points in my career happened when I learnt the difference between quality and testing. About…

  • Why Culture Matters in AI Adoption

    Culture over skills The current advice to businesses on changes they need to make use of generative AI focuses on what…

  • Generative AI and software productivity

    Productivity gains from using Generative AI coding tools such as Github Co-pilot or TabNine have been suggested to be…

    4 Comments

Others also viewed

Explore content categories