成長するソフトウェアに未来がある
ソフトウェアの本質は成長することにあります。一度作って終わりではなく、ニーズに応じて絶えず変化していくものでなければなりません。メンテナンスされなくなったソフトウェアは成長が止まり、やがて朽ち果ててしまいます。
ビルのような建築物も、テナントが入れ替わり、内装が変わり、絶えず変化を続けています。ビルという建築物が提供するサービスは時代の流れとともに変化してゆきます。しかし、テナントが入れ替わっても、ビルの柱の位置はそうそう変わりません。成長する上で、変えてよい物と変えてはいけない物を見極めなければならない。ソフトウェアも同じ。どんな仕様変更も可能というのは大きな間違いです。
建築物とソフトウェアの本質的な違いは複製にかかるコストです。ソフトウェアはいくらコピーしてもタダ*1だし、内容を変える敷居も低い。それゆえ、多くの人が試行錯誤した結果を集めて、より良いソフトウェアを生み出すことが容易にできるのです。
作ったときに完璧なソフトウェアでも、時代の流れとともに変化できなければ朽ち果ててしまいます。成長が容易なソフトウェア、すなわち保守性の高いソフトウェアこそが未来を創ります。
*1:お約束ですが、ライセンスは別の話です。