ソフトウェア疲労の最後の現象は、全体構造の調和の欠如です。ソースコードに近い関数やクラスではなく、関数やクラスの集合体であるコンポーネントの構造に着目します。

老舗温泉旅館とは、本館の1階から渡り廊下で別館に移動するといつの間にか地階になっている。極端な例では、5階から歩いていくといつの間にか2階になっている、というアドホックな増改築のことです。温泉旅館は風情があっていいものですが、工業製品がこれでは困ります。ソフトウェアで言うと、最上階にあるアプリ層が、最下層にあるハードウェアのレジスタ値を直接アクセスしたりすることです。全体構造としてのレイヤー化や垂直パーティショニングを飛び超える依存性が、全体の調和を乱してしまいます。

一枚岩は、チームワークとしては結束力がある、という前向きな言葉として使われます。しかし、ソフトウェアの場合は、部分的に取り外すことができず、全体をひと固まりとしてしか取り扱えない、という後ろ向きな言葉となります。これは、コンポーネント単位での依存性が循環していることが原因です。上位が下位のコンポーネントを利用する、という単方向の循環のルールを破ると、全体が一体化してしまいます。

これらの現象は、多人数の開発における局所最適解が、全体としての構造美を損ねてしまう現象です。これを解決するためには、全体の構造に責任を持つ技術リーダの存在が鍵を握ります。すなわち、ソフトウェアアーキテクトが、全体的な設計ルールを遵守し、構造美を保つ、という役割を果たすことで、ソフトウェア疲労を防止することができます。