Productivity in software development: the lean perspective

In a long tradition of consultants imposing cookie-cutter solutions, McKinsey introduced a framework to measure developer productivity, which has triggered strong reactions in the software community (from Dan NorthKent Beck, or Gergely Orosz).

The problem with productivity is not measuring it, but why we measure it in the first place. When we decide to measure something, it is because we have recognized a gap of knowledge we need to fill to improve our chances of making the business numbers. Halve the bad, double the good, the lean mantra goes. Reduce the number of bugs by half, reduce the delivery lead time by half, double the number of zero bug features, double the number of experts in the team, double the positive customer feedback, and so on. Productivity only measures how fast and efficient we are at learning and improving to reach those ambitious goals.

Flavian Hautbois

https://blog.buildtosell.org/productivity-in-software-development-the-lean-perspective/

Flavian discusses the topic of productivity in software development from a lean perspective. He criticizes McKinsey’s approach of measuring productivity and introduces three key insights from lean thinking that can lead to developing exceptional software developers.

The first insight emphasizes that measuring productivity should focus on the team’s learning curve and improvement, rather than using it as a reporting or command-and-control tool. Lean productivity measurement considers the number of value units delivered to clients per full-time equivalent per day.

The second insight highlights the importance of team productivity over individual productivity. Lean thinking values teamwork, collaboration, and continuous improvement fostered by a team leader. It discourages measuring individual productivity, which can create a culture of competition and hinder teamwork.

The third insight focuses on the role of managers as coaches to team leaders. The lean approach believes that improving team performance involves working on product quality and creating favorable work conditions. Managers should trust individuals and teams, provide support, and encourage them to suggest and implement process improvements.