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[3]
Low productivity of software development is the problem we face.
How can we solve this problem?
On the diagram below we have the problem of low productivity outlined.
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[4], 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[4]:
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.
You can use KEDEHub to monitor if there is underutilized and/or wasted human potential in your organization.
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.
You can use KEDEHub to frequently benchmark the organization's capability.
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.
KEDE provides us with guidance on what needs to be changed in a knowledge worker
organization in order to elevate and exploit its capability and consequently improve productivity.
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 [2]
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.
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.
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.
Measuring waste is essential for us to get better at learning.
Transformations
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 .
Works Cited
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