liveBook · Manning

Program comprehension

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

Code understanding is the organizational knowledge of how a software system's source code works and why it behaves as it does.

Program comprehension is organizational knowledge of how a software system works and why it behaves as it does. It is a current-state complexity signal: when fewer people understand the code, change becomes riskier and modernization decisions become harder. section 12.4.3

Assess program comprehension alongside other current-state signals:

  • Identify how many people still understand the system and how well they understand it. section 12.4.3
  • Compare knowledge distribution with ownership, contractor involvement, test quality, layering integrity, and cost to run. section 12.4.3
  • Use architecture-analysis tooling to expose knowledge loss and communicate system complexity to technical and nontechnical audiences. section 12.4.3

Making knowledge loss visible

A CTO used CodeScene to identify system areas with no owners and areas worked on exclusively by contractors. Visualizations helped explain these risks to leadership and justify proposed changes. section 12.4.3

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

How deep it goes
Defines a people-centered assessment and connects it to CodeScene visualizations, but does not provide a detailed comprehension measurement procedure.
Examples
Uses CodeScene visualizations to reveal unowned areas, contractor-only knowledge, and codebase knowledge loss.
What you can do after
Diagnose knowledge loss and ownership gaps with CodeScene visualizations, then communicate modernization evidence to leadership.
How it connects
Connects code understanding to architecture analysis, modernization, ownership, contractor involvement, testing, and current-state complexity.

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.