- 会員限定
- 2023/09/19 掲載
アジャイル開発はなぜ失敗するのか? ガートナーが絶対押さえるべき6つのポイント解説
アジャイル開発は「早い」「安い」ではない
また、ウォーターフォール型開発との違いについて、片山氏は「ウォーターフォール型開発では決められたゴールを目指して直線的に進んでいくのに対して、アジャイル開発では試行錯誤を繰り返しながらゴールに近づくことを目指します」と解説する。
「ある程度の規模を持つシステムを開発する場合、アジャイル開発のほうが工数もかかることがあります。アジャイル開発の特徴が決して『早い』『安い』ではないと理解しておくことが非常に重要です」(片山氏)
片山氏によると、実際のアジャイル開発の手法は大きく4種類に分けられるという。1つ目が、小さく動くものをどんどん作っていく「リーン開発」だ。2つ目が「上流工程を少しずつ繰り返すパターン」。つまり、要件定義の部分を繰り返して議論を重ね、開発工程をウォーターフォール型で進める手法だ。
3つ目が、要件定義・設計までやった後にプロトタイプを作成し、ユーザーが試したフィードバックを受けつつ改善を繰り返す手法だ。4つ目が、最初に全体的な要件・グランドデザインを決めた後、機能単位や稼働単位で五月雨式に開発する手法だ。
片山氏は「この手法が正解というものはありません。案件の特性に応じて、どの方法が一番合理的かを考えて選んでいただきたい」とアドバイスする。
アジャイル開発案件を始めるときに押さえておくべき6つのポイント
さらにアジャイル開発を始める際には、見落とされがちな問題がたくさん出てくる。その中でも、「できれば事前に手を打って問題を克服したほうがよいポイントがある」(片山氏)という。それが、アジャイル開発案件を始めるときに押さえておくべきポイントとしての以下の6点だ。- (1)「なぜ、アジャイル開発であるか」について共通認識を持つ
- (2)ソフトウェアの品質を疎かにしてはいけない
- (3)迅速な意思決定の仕組みを整える
- (4)案件の外部・周辺にある阻害要因を克服する
- (5)ウォーターフォール型で開発するチームとの調整を図る
- (6)未経験者の育成の仕組みを整える
それぞれについて詳しく見ていこう。
■(1)「なぜ、アジャイル開発であるか」について共通認識を持つ
まず、「なぜアジャイル開発するかについて共通認識を持つ」こと。アジャイル開発をやる理由としては、先述したような「早い」「安い」に加え、「要件変更が自由」「期限がいつまでも延ばせる」などの声が多く上がるという。
片山氏は「間違いではないが、アジャイル開発する第一の目的にそれらを据えてしまうと上手くいかずに失敗します」と警鐘を鳴らす。アジャイル開発によって合理化が図れることが重要であり、早い・安いなどの理由だけでアジャイル開発を選ばないでほしいというのだ。
■(2)ソフトウェアの品質を疎かにしてはいけない
2つ目が「ソフトウェアの品質を疎かにしてはいけない」点だ。片山氏は「試行錯誤を繰り返す場合、多少の失敗は許される風潮があるかもしれない」と指摘する。
ただ、「アウトプットされるソフトウェアはちゃんと動かなければいけないし、バグがたくさんある状態でリリースしてはいけません。短い時間で品質を管理する必要があるため、ウォーターフォール型開発以上に品質管理は難しいと言われています」と説明する。
その上で「品質とアジリティのバランスを取ることは、アジャイル開発をやる上での共通課題です。ガチガチな品質管理ではアジリティが損なわれるので、テスト範囲を明確にしたり、優先順位の調整なども必要になってきます」と述べる。
アジャイル開発の品質管理における具体的な対策方法として、片山氏は「Done(完了)判定やリリース判定の明確化」「テストの自動化の採用」「品質保証メンバー体制やベンダー管理、ドキュメント管理の最適化」などに取り組むことを推奨した。
関連コンテンツ
PR
PR
PR