After the first release.
WHAT PROPORTION OF EFFORT MAINTENANCE IS
The majority of a system's total cost, over its life.
WHY THAT MATTERS
Decisions optimising for initial delivery at the expense of maintainability are usually wrong.
WHAT MAINTENANCE INCLUDES
Fixing defects Adapting to changed environments Adding capability Improving structure Updating dependencies
WHAT PROPORTION IS DEFECT FIXING
Less than people assume. Most maintenance is change, not repair.
WHAT MAKES MAINTENANCE EASIER
Tests Clear structure Documentation of decisions Consistent conventions Manageable dependencies
WHAT MAKES IT HARDER
Complexity nobody understands No tests Knowledge held by one person Dependencies that cannot be updated
WHAT TO PLAN
Time for maintenance, continuously, rather than treating it as an interruption.
WHAT HAPPENS WITHOUT THAT
It accumulates until a rewrite seems necessary.
WHAT TO ALSO PLAN
Retirement.
WHY
Every system ends, and unplanned endings are expensive.