2.3 プロジェクトがなぜ失敗するのか
2.3.1 コードの変更
2.3.2 蔓延
2.3.3 複雑性の危機
内容
失敗する理由を大きく分けると2つ。
- ビジネスの優先度変化や市場ニーズの変化などの開発側がコントロールできないことが要因
- 技術プラクティス不足による開発側の要因
技術プラクティス不足が招いてる原因はさらに3つに分けられる。
- コード変更ができない
- バグの修正が時間がかかる
- 複雑さが増している
コード変更ができない
大きな改修する場合、多くのチームは既存のコードや設計を理解しようとせず、自分たちのやり方でやる傾向にある。それはコードが複雑でわかりにくいから。
結果として一貫性がなくなり、さらに変更しづらいコードになる。
バグの修正が時間がかかる
何が時間がかかるかって、大量コードの中からバグを見つけること。
どれだけバグを見つけやすい作りになっているかが重要。
複雑さが増している
調査によると使っていない機能が45%もある。
なのに残っているから複雑になり、バグが見つけられなくなる。
バグ修正に時間がかかる件に関連しているが、このせいで開発の80%はバグ修正にコストをかけていると調査結果が出ている。
学び
- 複雑さが保守不可能にしてる
学びを活かすアイディア・行動
- 保守しやすいアーキテクチャを考える