アジャイルが失敗するのはなぜ?成功させるコツを解説!
DX推進が過熱する中、DXに来てした開発手法としてアジャイル開発が再び注目を集めています。しかし、ガートナージャパンが2019年に公開したデータによると、海外でのアジャイル開発の採用率は80%を超える一方、日本国内の導入率は低い状態です。ご覧の通り、従業員数2,000人以上の企業における導入率は40%弱となっています。
図:アジャイル型開発手法に関する現在および今後の方針×従業員数規模
出典:ガートナー (ITデマンド・リサーチ)/調査:2018年5月
アジャイル開発のメリットは魅力的であるものの、ウォーターフォール開発に慣れてきた組織は突然の開発手法切り替えにリスクを感じます。不安を抱える方のために、よくあるアジャイル開発の失敗原因、成功させるコツを解説します。
1. アジャイル開発とは?
アジャイル開発は小さなソフトウェアリリースを繰り返すことで、システム全体を完成させる開発手法です。現在、システムやソフトウェアを開発する手法の中でもウォーターフォール開発と並んで普及しています。ウォーターフォール開発はアプリケーションを一気にリリースすることに対し、アジャイル開発はフィードバックを反映しながら段階的にリリースします。事業化までのリードタイム短縮が求められる現在の潮流に最適な手法となります。
→ アジャイル開発のメリット、デメリットについてはこちらの記事もご参照ください。
2. アジャイル開発が失敗する3つの原因
▶チーム内のコミュニケーションの誤り
短いスパンで制作物を求めるアジャイル開発では、1習慣から2週間のスプリント毎に方向性を見直し、調整をします。細かい変更が多くなりやすく、チーム内の伝達が漏れたり、誤解を招いたりする恐れがあります。アジャイル開発の特性上、スピード感が求められるため、プレッシャーが強く、コミュニケーションをしっかりとらないと、お互いの信用が徐々に失われていきます。メンバー間での信用がなくなり、プロジェクトが上手くいかなくなるケースが多発しています。
▶開発スケジュールの設計ミス
ユーザーからのフィードバックに合わせて改善、仕様変更を行うことが前提であるため、アジャイル開発はスケジュールを変更しやすいです。しかし、変更量があまりにも多すぎると発生すると、最終納期を守ることができない恐れがあります。また、高速で開発したソフトウェアは障害が出る可能性もあり、自社やお客様の事業に大きな影響を及ぼし、全体のプロジェクトが失敗してしまう可能性もあります。変更に耐えうるスケジュール上のバッファをどこまで持つのかはとても難しいですが、成否を決めるカギとなります。
▶ユーザーの満足度とコストのバランス
「アジャイル開発であれば、途中で仕様変更が柔軟にできる」という特徴から、大きな期待を寄せてアジャイル開発を前提に外部に開発を委託するお客様も多いかと思います。しかし、当然ですが、変更が多いほど、開発期間も膨張し、コストが当初の予想を超えるリスクが高くなります。実際に全ての要望に応えようとするあまり、コストがあがり続け、途中で開発を中止する案件もたくさんあります。仕様変更が多く発生する原因として最も多いものは開発側とユーザー側のコミュニケーション不足ですので、コミュニケーションには十分に注意しなければなりません。
3. アジャイル開発を成功させる4つのコツ!
上記でアジャイル開発でよくある失敗の原因を解説しました。それに基づいて、以下では成功させるコツを提案します。
▶メンバー間でのコミュニケーションを確保する
他の開発手法より仕様変更が多いアジャイル開発では情報共有が一層大切です。細かい変更内容でもしっかりチームの全員に伝達することが重要です。どのメンバーも現状を正確に把握することで、生産性の向上につながります。特に開発の要件が複雑になるとき、チーム全体で意見交換を行うことで、関連する部分の見逃がしも防ぐことができます。スクラムを組んで開発する場合、活動の振り返り時間をコミュニケーションに使いましょう。
▶チームメンバーの役割を理解する
お互いの役割を理解していないことで適切な情報交換ができず、誤ったコミュニケーションが起こることが散見されます。自分の役割だけに目を向け、他のメンバーが自分にどんな行動を求めていれるかを理解しないと、スムーズにコミュニケーションをとることはできません。スムーズなコミュニケーションができる環境を整え、役割を理解することで予想外の問題が発生しても、余計な混乱を予防できます。
▶余裕を持ったスケジュールを設計する
仕様変更を前提として着手するアジャイル開発では、最初から決まっている仕様はありません。また、1週間から2週間で開発方向性を見なすことになるため、スケジュール調整が頻繫になされます。しかし、柔軟に仕様を変更できるとはいえ、変更が重なりすぎると納期に遅延する可能性は高くなります。こうした状況を避けるため、余裕を持ったスケジュールを作ることをお勧めしています。
▶提案しながら、開発を進める
仕様変更が多くなりすぎる原因の一つとして、開発を依頼する人自体が自身の要望が分からないことがあげられます。「こうしてほしい」、「この機能があったらいいな」という要望はたくさんあるものの、特にソフトウェアやシステムの知識がない依頼主の場合、リリースした実物に触れたら、思っていたものと違い、修正を要求する場合も多々あります。こうした問題を減らすために社内外を問わずに開発側から提案を積極的に実施しましょう。開発側がユーザーの要望を徹底的に理解し、問題点を洗い出し、提案することでリスクを減らすことができます。
4. アジャイル開発におすすめの契約形態
上記で述べた通りアジャイル開発は初期に仕様が決まらないため、請負型開発ではなく、チームを固定し、時間単位で契約するラボ型開発が向いています。ラボ型開発はあくまで時間単位での契約のため、仕様変更による追加費用がかかりません。また、同じメンバーが案件を担当し続けるため、複雑なシステムでも統一性を確保できます。
→ ラボ型開発については、こちらの記事もご参照ください。
しかし、ラボ型開発は開発期間に応じてコストが発生する仕組みであるため、仕様変更や修正が頻発するとコストが大きくかかります。そのため、ラボ型開発を実施するにあたって、人件費が安いオフショア開発を活用する企業が多いです。かつては大手企業のみが活用できるソリューションだと捉えられていましたが、近年では中小企業も導入が進んでいます。
→ オフショア開発については、こちらの記事もご参照ください。
5. まとめ:失敗の原因を理解してアジャイルを成功させる
短期間で仕様変更に柔軟に対応しながら開発を進めるアジャイル開発は国内では失敗しやすいというイメージを持たれており、なかなか導入が進みません。しかし、上記のように失敗の原因を分析し、その対策を適切に行えば、案件の成功につながります。また、ラボ型開発を組み合わせることで、より効果的に展開できる方法があるため、新規事業を実施する際、検討すべき開発手法です。
NTQでは新規事業や新サービスの開発をアジャイル開発でご支援する経験が多くございます。アジャイル開発や新サービスの開発に関してお悩みがあれば、無料でご相談いただけますので、お問い合わせよりお気軽にご連絡ください。
お問い合わせ ページ