Addressing Low Productivity in Software Development
First uncover and then activate the untapped human potential of your organization.
Addressing Low Productivity in Software Development
"95 percent of changes made by management today make no improvement. Transformation to a new style of management is required to achieve optimisation - a process of orchestrating the efforts of all components to achieve the stated aim. Optimisation is management's job." ~Deming
Low productivity of software development is the problem we face. How can we solve this problem?
Steps to Increase Productivity:
- Main Concerns: Begin with qualitative data to pinpoint your primary challenges.
- Choose Addressable Issues: From your list of challenges, determine which ones are actionable.
- Deep Dive with Metrics: After identifying key focus areas, use quantitative metrics to delve deeper.
- Implement and Track: Address the causes of low productivity and monitor improvements using a mix of quantitative and qualitative metrics.
Common Factors Contributing to Low Productivity:
- Insufficient knowledge sharing
- Accumulated learning debts
- Not meeting work expectations
- Excessive budgets
- Unhappy developers
- Inadequate training
- Mismanaged time
- Inefficient organizational learning
- Poor collaboration i.e. slow feedback loops
- Delayed communication
- Repeated rework because of misleading, incomplete, unclear information.
- Work scarcity
On the diagram below we have the problem of low productivity outlined.
Lack of managerial oversight
Some managers are just lazy. However, the overwhelming majority of the managers are good, hardworking people who truly want to make their colleagues happier and their organizations more productive. The lack of managerial oversight is most of the times due to the way they focus their management attention.
If we wish to induce organizations to continuously improve, where should we focus on? On things that are done properly, or on things that are not done properly? Focussing on the things done properly tends not to drive improvement action. According to Goldratt, if fast improvement is to be induced, it is better to focus on what is not done properly.
There are two categories that cover all things not properly done:
- Things that should have been done but were not. In knowledge work that means we underutilized human potential.
- Things that should not have been done but nevertheless were done. In knowledge work that means we wasted human potential.
The Next step for the managers is to find out where their organizations have underutilized and wasted hujan potential.
In general, to avoid all of the causal factors we need to exploit and elevate the organization's capability. Benchmarking is an important tool to ensure performance.
With the body of knowledge behind KEDE we have an accurate causal understanding that allows us to plan and carry on interventions and then quantitatively check the results.
How could we know if our efforts at improving capability are successful? By using all the reporting functionality KEDEHub provides us with. We can track on a daily or weekly basis how capable our organization is.
Underutilized human potential
“A lack of resources can limit growth but not development. The more developed individuals, organizations, or societies become, the less they depend on resources and the more they can do with whatever resources they have.” ~ Russell Ackoff 
We witness underutilized human potential when:
- It is not clear "What" to produce, because the communication is slow with the people who request the work.
- Software developers don't know "How" to produce the "What" due to insufficient training.
- Expertise, solutions to problems and knowledge are not shared.
- Skills, talent and knowledge are not fully utilized. That is called learning debt.
- Unhappy developers mean low productivity.
- Some people optimize for working less than expected,
- There is poor collaboration due to an organizational design not optimized for the people doing the work.
- The capability of the organization doesn't improve due to lack of organizational learning.
- When retention issues show up, managers may be quick to suggest pay raises or bonuses as the antidote — a costly solution that leads to unnecessarily high budgets.
- Sometimes a company just doesn't have enough work for all their developers. Especially if some of them are very specialized.
- Some developers do two jobs at the same time because they can pull it off, and make 2x the money. This is called "overemployment".
The subject of realizing potential talent needs to be understood as an opportunity and in a positive light - as part of personal and organizational development.
Wasted human potential
"The general root of superstition : namely, that men observe when things hit, and not when they miss; and commit to memory the one, and forget and pass over the other."" ~ Francis Bacon
We call "waste" something that:
- Doesn't add value for the customer or stakeholder.
- Can be removed or reduced.
- Its existence impedes process flow either directly or indirectly or creates inefficiencies.
- Is quantifiable, so the benefit of its reduction can be measured.
The waste of knowledge is probably the most common and most damaging type of waste that organizations encounter. We witness wasted human potential when:
- There is rework The results of such a waste is always output that needs to be scrapped or at least reworked. This is measured with Waste from the KEDE formula.
- Simply wasting of time.
On the other hand, the presence of Waste sometimes reflects the fact that human beings are not omniscient i.e. we don't have universal, unlimited and complete knowledge. We often realize it was a wrong question only after we get the answer!
"To ask the right question is already half the solution of a problem." ~ Carl Gustav Jung
Waste sometimes is needed for humans to learn what not to build and/or how not to build it. However, we would like to learn as cheaply as possible. That would mean minimizing the waste.
Sometimes management interventions are quite large at scale and target a company as a whole. They are called Agile transformations and use frameworks such as Scrum and SAFe and management methods such as Kanban. KEDE can be used to quantitatively assess if any such management intervention was successful. This is documented in the report of the Agile transformation of FeedHenry and the Kanban transformation of Wildfly .
1. Diwas S. KC, Bradley R. Staats, Maryam Kouchaki, Francesca Gino (2020) Task Selection and Workload: A Focus on Completing Easy Tasks Hurts Performance. Management Science Published online in Articles in Advance 20 May 2020 https://doi.org/10.1287/mnsc.2019.3419
2. Ackoff,.R..L..(1999)..Ackoff's best: His classic writings on management..New.York:. Wiley;.and.Avolio.(1999)
3. Deming, W. Edwards, 2000. The New Economics for Industry, Government, Education, 2nd Edition,The MIT Press. Cambridge, Mass
4. Eliyahu M. Goldratt, Beyond the Goal: Eliyahu Goldratt Speaks on the Theory of Constraints (Your Coach In A Box): Eliyahu M. Goldratt, Gildan Media, LLC Amazon.com