The Far-Reaching Impacts of the Law of Unintended Consequences

The Far-Reaching Impacts of the Law of Unintended Consequences

The law of unintended consequences states that actions will have unanticipated effects, often counterproductive ones. This concept profoundly applies to software development, and collaborative knowledge work more generally. In these domains involving interdependent human and technical factors, even well-intentioned plans often go awry.

This post explores key unintended consequences that manifest in software develeopment and collaborative knowledge work (CKW):

Technical Debt

Technical debt refers to the deliberate choice to take shortcuts in order to expedite software delivery. Like financial debt, it can be beneficial if consciously taken on and repaid through refactoring. However, scheduled repayments often get deferred as teams race to meet deadlines. The “interest” accrues as ongoing maintenance costs.

Feature Creep

The lean startup mentality of minimum viable products and iterative development has advantages. However, an unintended consequence is feature creep – products become bloated as developers continuously add but rarely subtract capabilities. And as management finds more and more pointless or decreasing value work to keep their standing teams busy. The result is complex products growing like topsy.

Information Overload

Modern collaboration tools enable unprecedented information sharing. But an unintended consequence is information overload, which hampers productivity and decision-making. Each piece of information seems useful, yet the cumulative result is a distracted, overburdened workforce.

Tunnel Vision

In software development, teams focus on completing narrowly defined tasks. This tunnel vision means losing sight of the big picture. Pressure to deliver assigned work leads to task-oriented rather than solution-oriented thinking. This tendency is exacerbated by the widespread case of work assignments coming from management rather than self-organising teams. The unintended consequence is misalignment, reduced value, and lack of integration.

Morale Issues

Open information flow and accountability bring major benefits. However, the unintended consequence can be decreased risk-taking, and morale problems. With every action visible and judged, workers avoid mistakes that could impact performance reviews. Innovation suffers when people focus on safe, incremental tasks and protecting thir own arses (cf. CYA).

Busywork

When work is misaligned with overall goals and strategies, inevitable busywork is the result. People spin their wheels on tasks that provide no real value to customers or the organisation and its customers. Energy is frittered away on going through the motions versus really attending to folks’ needs.

Perverse Incentives and Focus on Productivity

Reward systems, especially those aimed at boosting individuals’ productivity, undermine quality and teamwork. For example, compensating developers based on lines of code incentivises quantity over quality. Emphasising individual contributors over collaboration is another common unintended consequence.

Loss of Tacit Knowledge

Capturing processes, best practices, and “how-to” knowledge in wikis and databases can provide some benefts. However, over-reliance on documentation loses tacit knowledge that comes from experience and learned skills. Key contextual information gets lost when veterans leave without transfering hard-to-document knowledge.

Technical Monocultures

Standardisation has advantages in terms of compatibility and skill transferability. But an unintended consequence is the risk of monoculture technology stacks vulnerable to single points of failure. If a widely used framework has a major bug, many downstream systems are suddenly impacted.

Integration Headaches

Connecting modern microservices architectures can provide agility. However, an unintended consequence is integration headaches when stitching together disparate systems and data sources. Overally product reliability can also suffer. Development timelines often underestimate the complexity of integrating components.

Zombie Projects

Organisations generally find it difficult or impossible to kill failing initiatives. There is a tendency for questionable projects to lurch forward as “zombies” that nobody wants to end due to e.g. sunk cost fallacy. The unintended consequence is opportunity costs – as zombies consume budgets, workers and that rarest of all resources – management attention.

Mitigation Strategies

With sufficient foresight and systems thinking, organisations can choose to institute mitigating actions:

  • A systemic focus on the Antimatter Principle (have all efforts directed at attending to the needs of all the Folks That Matter™ Cf. The Needsscape).
  • Institute product management disciplines to curtail feature creep (Cf. Product Aikido).
  • Promote diversity and constructive dissent to counter groupthink.
  • Prioritise attending to folks’ needs, including capturing (e.g. documenting) knowledge that serves folks needs for reference information .
  • Stay vigilant w.r.t. unintended consequences (often only obvious through hindsight).
  • Engage with Organisational Psychotherapy so issues can be surfaced, and reflected upon, early.

By understanding where the Law of Unintended Consequences applies, teams can take proactive steps to minimise disruptive friction and dysfunction. The result is better alignment, usable products, and organisations where the whole exceeds the sum of misguided parts.

Leave a comment