解決策を立案するためには、まず「何が問題」で「なぜ問題」なのかを明確にする必要があります。それを怠ると、見当違いな結果となってしまい、達成したい効果を得ることができません。問題を確実に掴んだうえで、症状に応じた解決策を立案します。
ここでは、ツリーマップから得られる「サイズが大きくて複雑な関数」の解決策を立案します。
下図は、「派生開発」で複数機種に対応したことで、問題が生じた関数の例です。

上図のように、対応する機種が増えることによって作りこまれた「肥大化」と「複雑化」は、保守性を低下させます。例えばA機種のみに対する変更があった場合、このような「肥大化」した関数は、変更箇所を見つけることが難しく、また、変更箇所も分散しています。そして「複雑化」したことで、深いネストと入り組んだ制御構造を持つ関数は、誤った対応を誘発します。
このようなケースでは、関数を分割することで、品質を改善することが可能です。まずは、機種ごとに処理を実行する部分を特定し、それを関数として切り出します。そして、それらを呼び出す関数を作ります。すなわち、機種の「判断」と、機種ごとの「実行」を分離します。こうすることで、特定機種への変更を局所化し、変更しやすいコードに改善することができます。
