記事要約
Thoughtworks Inc (米国イリノイ州・テクノロジー企業) の最高技術責任者である Martin Fowler 氏は「ソフトウェア開発にかかる費用と品質は相反する」という面白い関係について述べている。Martin によれば、ユーザーはソフトウェアのインターフェースや機能をちょっと触っただけでは、ソフトウェア内部の品質が優れているかどうかは判断できないという。その結果、開発の初期段階においては、低品質であっても新しい機能が速く追加されていくソフトウェアの方が、ユーザーにとって生産性が高いと感じられてしまうそうだ。しかし 2 - 3 週間で、この状況は一変する。
Martin は個人ブログで以下のように述べている。「初期段階では非常に早く開発を行うことができますが、時間が経過するにつれ新しい機能の追加が難しくなっていくのです。プログラムにわずかな変更を加えるだけでも、プログラマーは膨大で難解なコードを読み解かなければなりません。そして実際に変更すると、想定していないエラーが発生し、長時間にわたる動作テストや不具合の修正に奔走するはめになってしまいます。」
原文要約
ThoughtWorks chief scientist Martin Fowler has written about the curious inverse relationship between quality and cost in the field of software development.The user cannot distinguish between good or bad internal design simply by observing the user interface or the features, he observed. This means that poor-quality software appears more productive in the early stages, since functionality is delivered more quickly. In just a few weeks, though, this changes.
"Progress is rapid initially, but as time goes on it gets harder to add new features," he writes on his personal website. "Even small changes require programmers to understand large areas of code, code that's difficult to understand. When they make changes, unexpected breakages occur, leading to long test times and defects that need to be fixed."