Why do only 10% of developers unit test?

Running the panel at the Typemock Academy was a great experience for me. (Read: I’ve got loads to learn about running a panel). We wanted to make things interesting, and picked a topic that at its heart not so controversial. But when you dig in, it really exposes a problem: If unit testing has been around for 10 years, and only 10 percent of developers do it, are we doing something wrong? What’s hindering adoption?

Guest panelist, Uncle Bob Martin talked about the natural process of things and it takes however long it’ll take. In addition to Eli’s response, let me tell you mine: There is a business situation that will be resolved “naturally”, only this time business and innovation will drive it, and I don’t think it’ll take 20 years. We’re already witnessing a change in our industry, that will get more apparent in time.

Until recently, developers were different than other people. In most of the organizations that have software development teams, those teams (big or small) are like “magic users” in the eyes of the rest. No one understands what they do, or what they talk about. While business organizations know how to manage sales, marketing or operations, being “regular” work, software is indeed a “black art”. And that gives developers power, almost voodoo-like (ok, enough with the mumbo-jumbo).

Developers have the power to control business decisions. Example from the Typemock backyard – A manager goes to a conference, and hears about unit testing, which cuts down costs immensely, including concrete numbers. He goes back to the office, and gets one of his developers to see if this unit testing stuff is so great. Depending on the decision of the developer, the organization gets the go-no-go decision.

Makes sense?

How many times have you heard: “yes, I like this tool, but we’ll need to delay the next release two months for the implementation”? That’s power. The manager, who’s convinced of the business value of unit testing, now gets overruled by the developer.

See, usually business decisions are decided on the top and implemen ted down. But not in software – we have the power to run the business!

But I’m starting to see that change. More and more business organizations understand that software teams and organizations are just the same as other teams. And when common sense takes over business, it now drives change much more quickly then the rate of adoption of object oriented programming (by the way, who caused this rate in the first place? Oh, developers. right).

That’s the business side. In my next post – how innovation will shorten the gap.

2 comments on “Why do only 10% of developers unit test?”

  1. urig Reply

    Gil, unless I’m misunderstanding you, then I think you have it completely backwards!

    You write that developers drive the decision not to adopt unit testing and that managers simply follow their guidance. I think you’re wrong.

    If it was up to any of the developers I know, they’d most certainly opt to adopt unit testing. They are constantly overridden by middle management who find that the adoption of unit tests is too expensive to fulfill “time to market” requirements.

    You will see unit tests becoming mainstream only if this Gordian knot is severed. Only if it would become possible for middle management to see clear benefits from unit testing in the *short term*, then adoption will soar.

    Developers are not the focus of this problem. The practice of unit testing and the way middle management perceives it are the key.

  2. Gil Zilberfeld Reply


    Spoken like a true 10 percenter!

    For the developers who have crossed the chasm towards unit testing, there are other battles to fight. Unit testing however is just an example. the issue here is about how developers use the inability of business managers to understand them, to repel new changes or push for others.

    Inthe near fututre I will write about how “our” kind no longer understands “them” and why I really sympathize with your response, and why you and I are in the minority.

Leave A Reply

Your email address will not be published. Required fields are marked *