ソフトウェア設計は知識構築である:事例研究
2025-01-01
ある企業は自社の統合サービスをSaaSプロバイダーにアウトソーシングした後、コスト上の懸念から内部代替システムSVCを開発することにしました。高いスキルを持つエンジニアX10が単独でSVCの開発を完了しました。しかし、その後を引き継いだチームはシステムの保守と修正に苦労し、極めて低い効率性しか達成できませんでした。この記事ではその理由を分析しています。ソフトウェア開発の成果物はコードではなく、エンジニアがシステムとそのビジネスロジックを理解すること、つまり「理論」です。X10が退職した後、チームはこの「理論」を欠いていたため、システムの保守が困難になり、「幽霊屋敷」のような状態になりました。著者は、ソフトウェア設計は知識構築に重点を置くべきであり、後続チームによる理解と保守を容易にし、「レガシーシステム」の作成を避けるべきだと主張しています。