liveBook · Manning

Cost of change

As explained in Architecture Modernization: Socio-technical alignment of software, strategy, and structure

Cost of change is the resources and time required to implement or execute a modification to a product, process, or system.

Cost of change is the time and resources needed to modify a product or system. In software, it rises when code is hard to learn, understand, change, test, or deploy. It is not solely a property of the code: code quality and team skill also matter. section 9.3.2

Use cost of change alongside rate of change when deciding subdomain boundaries. Separating code that rarely changes can make frequently changed code cheaper to evolve. But an expensive boundary is less pressing if changes seldom cross it. Past change rates offer evidence, not certainty about future demand. section 9.3.2

Balancing delivery and platform health

At mobile.de, engineers and product managers took on a new global platform while a smaller team still maintained a complex existing platform and pursued product goals. The delivery-first approach proved unsustainable after one quarter. Cost of change gave stakeholders a shared way to discuss continued investment in platform health and technical debt. section 16.3.5

High cost of change does not automatically make a subdomain strategically important. Avoidable complexity can make a supporting subdomain expensive to maintain. If it must keep evolving, reducing that complexity can enable new features; if little change is expected, extensive modernization may not repay the investment. Where subdomains are tightly coupled, teams may need a coordinated strategy rather than separate plans. section 10.3.7

How Architecture Modernization: Socio-technical alignment of software, strategy, and structure covers it

How deep it goes
Explains code and team factors that raise change effort and offers a rate-of-change heuristic, without a quantitative measurement method.
Examples
Uses mobile.de’s platform-health decision and a Core Domain Chart discussion of an expensive order-management subdomain.
What you can do after
Evaluate/understand when to separate changing code or invest in reducing complexity, rather than treating every expensive system as a modernization priority.
How it connects
Connects subdomain boundaries, rate of change, technical debt, and platform modernization.

Also explained in

Compare how 2 books explain cost of change →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Architecture Modernization: Socio-technical alignment of software, strategy, and structure. The section links point to the parts of the book it draws on.