Skip to content

Frequently Asked Questions

Concepts from The Engineering Tax and scale by subtraction, plus answers to common engineering leadership questions.

Beamer Concepts

When to Modularize: The Christensen Timing Framework

What is the Christensen Timing Framework?

What Is Connascence and Why Coupling Choices Have a Cost

What is connascence in software architecture?

How Conway's Law Affects Your Software Architecture

How does Conway's Law affect software design?

How to Show Leadership the Cost of Today's Shortcuts

How does the fast path actually happen?

Efficiency vs Automation: What's the Difference

What is the difference between efficiency and automation?

Why Flexible Interfaces Destroy Modularity

Why are flexible interfaces dangerous?

How Hero Culture Destroys Engineering Efficiency

What is the Hero Cycle in engineering teams?

How to Find the Right Places to Split a Monolith

How do you find boundaries in a monolithic system?

How Maintenance Work Depreciates Your Engineering Skills

How does maintenance work affect an engineer's career?

The Real Cost of Software Maintenance vs Building

How much does software maintenance really cost?

Why Every Software Module Needs a Human Owner

Why does every module need an owner?

State vs Status: What Engineering Leaders Should Report

What is the difference between State and Status?

Why Story Points Fail as a Communication Tool

Why are story points a bad metric?

How to Extract Modules Without Wasting Millions

Why do strangler fig extractions usually fail?

What Is the Sync Tax in Software Development

What is the Sync Tax in software development?

What Real Automation Means vs Task Mechanisation

What is the difference between automation and mechanisation?

Common Questions

Cost of Software Complexity: The Hidden Bill

Cost of Software Complexity: The Hidden Bill

Engineering Velocity vs Speed: What's the Difference

Engineering Velocity vs Speed: What's the Difference

How to Build Efficient Software Teams

How to Build Efficient Software Teams

How to Calculate the Cost of Technical Debt

How to Calculate the Cost of Technical Debt

How to Communicate Technical Risk to Leadership

How to Communicate Technical Risk to Leadership

How to Improve Engineering Team Velocity

How to Improve Engineering Team Velocity

How to Justify Refactoring to the Board

How to Justify Refactoring to the Board

How to Measure Code Quality Objectively

How to Measure Code Quality Objectively

How to Measure Developer Productivity

How to Measure Developer Productivity

How to Measure Engineering Velocity

How to Measure Engineering Velocity

How to Measure ROI of Refactoring

How to Measure ROI of Refactoring

How to Prevent Scope Creep

How to Prevent Scope Creep

How to Prioritize Technical Work

How to Prioritize Technical Work

How to Reduce Engineering Costs

How to Reduce Engineering Costs

How to Reduce Meeting Overhead

How to Reduce Meeting Overhead

Scale by Subtraction for CTOs

Scale by Subtraction for CTOs

What Is Architectural Debt vs Technical Debt

What Is Architectural Debt vs Technical Debt

What Is a Complexity Budget for Software

What Is a Complexity Budget for Software

What Is Dependency Hell and How to Escape It

What Is Dependency Hell and How to Escape It

What Is Engineering Efficiency

What Is Engineering Efficiency

What Is Scale by Subtraction

What Is Scale by Subtraction

What Is Technical Debt

What Is Technical Debt

When to Rewrite vs Refactor

When to Rewrite vs Refactor

Why Do Software Projects Slow Down Over Time

Why Do Software Projects Slow Down Over Time

Why Monoliths Are Not the Enemy

Why Monoliths Are Not the Enemy