Software engineering is complex and invisible.

Software development is an "invisible" task

Outsiders find it difficult to appreciate the consequences of what they ask software developers to do. This is largely due to lack of data and understanding about how they should operate.

Software development is misunderstood

Software ≠ Coding

There are common misunderstandings about what software engineers do. More specifically, what makes a good software engineer. Some of the most impactful work software engineers do have nothing to do with the lines of code they write. In order to truly begin to measure engineer productivity, you have to understand their work and what 'successful outcomes' mean for software engineers.

What's the most misunderstood thing about software engineering?

The output of software development varies

Many engineering leaders, many opinions

From number of bugs to on-time delivery; this article shows how the approaches of each team can differ drastically. It's clear that software is misunderstood and the market is making attempts at quantifying the complexity of software engineering with basic metrics. The real take away is that any software analytics company that focuses too narrowly on any particular metrics is missing the big picture. Each team is different. Each engineer is different. By making attempts to compare them using the same metrics is inherently missing the mark.

Software Development Productivity: Most Important Metrics to Track

KPIs used to measure engineer performance

Outcomes over outputs