Productivity
PRODUCTIVITY
TTM | ROI | Sellability | Agility | Reputation |
The efficiency with which a business can produce the right thing of value for its customers.
Much is (rightly) made of Productivity. Customers want value delivered efficiently and cost-effectively, value that originates from the output of staff and tooling in our Value Stream. To do so, we must be "productive", but what exactly does that mean?
Looking up the definition of "productive", we find the following descriptions.
"PRODUCTIVE"
Google's dictionary defines it as:
Merriam-Webster's dictionary defines it as:
- "producing or able to produce large amounts of goods, crops, or other commodities.
- relating to or engaged in the production of goods, crops, or other commodities.
- achieving a significant amount or result.
- producing or giving rise to."
- "having the quality or power of producing especially in abundance
- effective in bringing about
- yielding results, benefits, or profits
- yielding or devoted to the satisfaction of wants or the creation of utilities"
From two independent sources we are surrounded almost exclusively with talk of quantity, abundance, and yield. No wonder we seem to (incorrectly) equate Productivity solely with efficiency. One definition stands out though - "effective in bringing about". Indeed, Productivity is also about effectiveness. How can we be productive unless we work on the right thing, the things our customers need?; otherwise we're efficiently building products that no-one wants.
EFFICIENCY FOCUS
From my experience, businesses make a significant investment in resolving efficiency problems, but largely skirt around effectiveness. But efficiency without effectiveness is simply Waste (Effective over Efficient).
Let's start with the most fundamental question. Why is productivity relevant?
A business has two main paths towards profit. They can:
- Increase custom; e.g. through sales and marketing.
- Improve the ways they work to reduce overhead.
A business survives (and thrives) through its ability to serve the needs of its customers, and by its ability to employ and engage its staff to fulfil that desire. The best businesses are also able to change consumer habits (sometimes known as disruption) to favour their own products and services.
To do so, a business must be able to: (a) build (or offer) the products that their customers want (i.e. be effective), (b) deliver them when they are needed (i.e. in a timely manner), (c) sell them at a suitable price point, (d) produce its output efficiently, and (e) adapt, innovate, and (if necessary) reinvent itself. Productivity touches on at least two of these points.
I've belaboured the point that building the wrong thing is Waste of the highest order (the Seven Wastes), and highly unproductive. Lead time is another consideration. Failing to deliver in a timely manner - e.g. due to poor Productivity - may have the following consequences:
- It makes the product less appetising to customers, or to the market.
- It reduces (in a negative sense) any competitive gap between the business and its competition.
- It reduces feedback. The ability to quickly react is an important business characteristic, but it is heavily dependent upon our ability to get fast feedback (Fast Feedback). Slow feedback also reduces effectiveness - how can we be sure that feature A is effective if we can't get information on it? So … should we still be working on it?
- It reduces staff engagement. Staff that feel that they are part of something worthwhile are typically more engaged and motivated. Slow feedback doesn't promote this.
- An increase in Manufacturing Purgatory. A build-up in Inventory increases complexity and reduces our potential return (ROI).
- It reduces Agility. Simply because we can't move quickly enough to adapt to change.
- It lowers our ROI. Failure on the efficiency piece reduces our profit margin.
MONEY & TIME
"Lost time is never found again." - Benjamin Franklin.
It's possible to get more money, but we can't get more time! My point is that whilst the financial aspect is (of course) very important, the loss of time can be more damaging. Time tends to be a more finite resource than money, so we must use it wisely and diligently. My meaning being that working on the wrong thing, or undertaking work that others can do for us, may not be in our best interests.
For instance, I quite regularly hear higher operational costs bandied around as a reason to retain services on-prem, rather than migrate to the Cloud. Certainly, the Cloud can be more operationally expensive than its on-prem counterpart, but we must also consider the total cost of ownership, and time.
WHO PAYS FOR INEFFICIENCY?
Someone has to pay for inefficiency. I mean literally, not figuratively of course! Customers may not consider it to be them, but businesses (successful ones anyway) are not in the habit of making a loss. A business still incorporates their (operational) costs into customer pricing, even when their processes are inefficient.
Of course, a business that promotes unappealing price-points won't necessarily have customers flocking to it, and thus, maybe it's time for a different pricing strategy? But how do we do this when our outgoing costs overshadow our ability to lower them? It leaves us in the unenviable position of poor competitiveness. Productivity can help here.
MORALE
If people really make a business (as numerous corporate slogans state), then giving them the wrong work, slowing feedback (their ability to gain insight), or (unintentionally) placing many obstacles in their way isn't just inefficient and ineffective; it's also morale-zapping. Given enough time, staff put in this position will get frustrated and leave, creating knowledge gaps (loss of Shared Context) and cultural holes that may never be filled.
My point? Productive workers are happy workers. And the key to their happiness isn't just about enabling them to work efficiently, it's also about showing that they have purpose [1].
SUSTAINABLE PRODUCTIVITY
Some techniques initially don't seem productive, but can lead to Sustainable Productivity. Automation is one example. At first, the (financial and time) costs of deployment and testing automation seem prohibitive. Why should we slow our initial release to introduce automation? But automation offers us repeated value - the investment pays itself back over time, and makes every subsequent change easier.
USEABILITY & UNIFORMITY
Useability and Uniformity are also linked to Productivity. Engineers typically use a variety of tools to undertake their work, including (to name some): Integrated Development Environments (IDEs), source code management, package management (i.e. binary storage), documentation, project management, config and secrets management, and CI/CD Deployment Pipelines.
Variations of these tools are produced by many different vendors - all with their own unique take on the feature set they offer, and how they function. Alas, engineers get a different experience from each tool, forcing them to adjust every time they switch context. There is insufficient Uniformity to build a cohesive experience. Additionally, since migration is difficult, we may also find multiple versions of the same tool still in use. All of these factors lead to a Combination Explosion - and significant cognitive overhead (and Context Switching) on the part of engineers.
Nor should we dismiss the integration challenges. The Context Switching challenges Productivity. We can either accept it, or - as some businesses do - attempt to reduce the burden, through tool integration. The nirvana state being described as a "Single Pane of Glass". However, we've now shifted the burden onto a platform team to: manage these integrations, support a Single-Sign-On (SSO) strategy, and also keep pace with vendor tooling advancements. Not a particularly easy, nor enjoyable, task.
SINGLE PANE OF GLASS
We're unlikely to find a tool that integrates all of our established tools together (our bespoke combination is unlikely to be an exact match for a vendor offering), so we're either forced to integrate them ourselves (as I've already described), or to settle upon a single platform and migrate to it. In the second case our choice is limited to what the vendor is willing to offer; typically one integrated tool per capability.
COMPLEXITY
To generalise, the greater the complexity, the lower the Productivity. Complexity can influence any area of a business, including the overall Value Stream, processes, organisational communication, codebase, toolsets, and runtime platforms. For instance, is the cognitive load required to contextualise 10,000 lines of code less or more than that required for 1,000 lines? In nine-out-of-ten cases I'd prefer the 1,000 lines.
MONOLITHIC CODEBASE COMPLEXITY
Indeed, it was the complexity of the Monolithic codebase that drove us (in part) towards increased component segregation and Microservices.
Ok, let's also briefly talk about complexity and change. Complexity makes contextualisation much harder. The standard definition of a Complex System is that it can't be understood by a single person. Being unable to accurately (or comprehensively) assess the impact of a change reduces confidence, and makes change governance very difficult. This in turn increases risk, since it's almost impossible to know the effect of some changes. And increased risk typically leads to slowing, or Change Friction, neither of which support Productivity.
EXAMPLE
In one project I found two engineers in a predicament. They had already spent weeks (much longer than was anticipated) trying to enhance the functionality in a complex domain, and there seemed to be no end in sight.
The domain they were working in was unknown to them, overly complex (and highly specialised), poorly documented, very brittle, and there was no real Safety Net (e.g. unit tests) to help manage the complexity. Through no fault of their own they found that (almost) every time they touched it, it introduced a bug elsewhere (Whack-a-Mole Bug Fixing). They couldn't be productive, and for much of the time could only function in a very reactive manner. The complexity was due to a number of factors.
ENGINEERING EXPERIENCE
The overall Engineering Experience has important ramifications on Productivity and morale.
PILLARS AFFECTED
TTM
Our ability to drive through rapid change requires us to work efficiently and effectively. This requires us to be productive.
ROI
Our ability to make a decent return also requires us to work efficiently and effectively. Additionally, to do so we must also receive Fast Feedback (for better decision-making), and limit our Manufacturing Purgatory.
AGILITY
High productivity intimates that - in part - we are working efficiently. There is little efficiency Waste. It also promotes Fast Feedback, which we can use to more quickly adapt to change, thus increasing our Agility.
SELLABILITY
(Prospective) Customers want to know that we can make changes rapidly, cost-effectively, and also adapt to their changing needs. How can we do this unless we are productive?
REPUTATION
Reputation, in this context, is influenced both by what our customers see, and by what employees (including prospective) see. From our customers' perspectives, this relates to delivering change rapidly, delivering things of value (i.e. working on what our customers need), and meeting our agreed SLAs (e.g. time to patch a bug).
From an employee perspective, our Reputation relates to what our employees (and potential employees) think of us. Businesses with poor productivity may suffer from cultural challenges, staff with poor morale, and thus both retention and talent acquisition challenges. This is unsustainable.
SUMMARY
Productivity affects every business pillar, and is important for building a sustainable business model. Neglecting it may have the following consequences:
- It makes a product less appealing.
- It affects our competitiveness.
- It reduces feedback potential, and thus, decision making.
- It reduces staff engagement.
- It increases our inventory (Manufacturing Purgatory).
- It reduces our Agility.
- It lowers our ROI.
Productivity is an amalgam of efficiency and effectiveness. Efficiency allows us to move rapidly, innovate, and gain useful feedback quickly. Effectiveness ensures that we undertake the correct work, so that we are not wasting effort. Be wary of business transformations that overemphasize efficiency but neglect effectiveness (Effective over Efficient).
One last caveat. I've already stated that Productivity is important, but don't overcommit to it - particularly the efficiency part - and forsake business-level improvements for unit-level (team) gains (Unit-Level Efficiency Bias). It sounds counterproductive, I know; after all, high productivity typically increases staff morale, and supports rapid change, but it needs to be sustainable. There's little point in becoming highly productive, if we can't leverage it to scale up a business or become more Agile.
FURTHER CONSIDERATIONS
- [1] - "The science shows that the secret to high performance isn't our biological drive or our reward-and-punishment drive, but our third drive—our deep-seated desire to direct our own lives, to extend and expand our abilities, and to live a life of purpose." - Drive: The Surprising Truth About What Motivates Us by Daniel H. Pink
- Change Friction
- The Cloud
- Combination Explosion
- Complex System
- Context Switching
- (CI/CD) Deployment Pipelines
- Effective over Efficient
- Engineering Experience
- Fast Feedback
- Manufacturing Purgatory
- Microservices
- Monolithic
- Safety Net
- The Seven Wastes
- Shared Context
- SLAs
- Unit-Level Efficiency Bias
- Value Stream