2021.12.27 【責任編集】ラーニング・ツリーIT部門以外からみられるアジャイル開発の現状
2019年2月にガートナージャパンが発表した資料によれば、日本のアプリ開発手法はウォーターフォール開発が43%、アジャイル開発が28%という結果に。
>>ガートナー調査
出典:「ウォーターフォールはまだまだ強いが……、ガートナーが企業のアプリ開発手法を調査」@IT
依然としてウォーターフォール開発が主流ですが、ご覧の通り15%は今後の縮小を考えているのに対し、アジャイル開発で縮小を検討しているのはわずか2%です。やはりアジャイル開発は年々増加傾向にあります。
そんなアジャイル開発において「IT部門以外からの理解が足りない」という問題が、最近になり提起されるようになりました。なぜアジャイル開発はこうしたIT部門以外の外部からの理解が重要なのか?今回はアジャイル開発企業が向き合うべき課題についてお話します。
外部から見たアジャイル開発の現状
まずは、外部からアジャイル開発がどのように見られているかを整理しましょう。一般的にシステム開発の外部の人間は、アジャイル開発に対して次のような印象を持っている場合があります。
- 少人数制で開発するスタイル
- ビジネス側に強い権力がある
- アジャイル開発=スクラム開発
- アジャイル開発は計画を立てない
- どんな要求変更にも対応してくれる
- 従来(ウォーターフォール開発)より安い
- アジャイル開発はドキュメントが要らない
- どんなプロダクトでもアジャイル開発が有用
アジャイル開発の原典である『アジャイルソフトウェア開発宣言』が世に発表されてから実に20年以上が経過しておりアジャイル開発への理解は一定程度進んでいる部分もあります。
しかし、外部では現在でもアジャイル開発に対して上記のような印象を抱えているケースが少なくありません。アジャイル開発を知る人からすれば「そうじゃないんだ!」と声を大にして言いたいところでしょう。
外部が原因で起きる典型的な失敗例
アジャイル開発に馴染みのある方なら「外部の協力が不可欠」という特性を熟知していると思います。システム外部が原因となってアジャイル開発が失敗する事例が少なくありません。その典型的な失敗例をご紹介します。
1.無謀な要求変更に対応できなかった
システム外部が「アジャイル開発=要求変更に強い」という認識を持つことは悪くありません。しかし、過度の期待は禁物ですしそもそもどんな要求変更にも対応できるのがアジャイル開発の特徴ではないのです。
また、ビジネス側に強い権力があると思い込んでいるのも危険です。無謀な要求変更も簡単に通るわけがなく、結果として期待するプロダクトに仕上がりません。
2.十分な開発費用が確保できなかった
また、開発費用において「アジャイル開発=ウォーターフォール開発より安い」と考えている傾向があります。このためシステム内部が十分な開発費用を確保できず、それによって満足のいくプロダクトに仕上がらないケースも珍しくないのです。
3.計画性が無くリリースが極端遅れた
アジャイル開発にもしっかりとした計画が必要です。でなければプロジェクト全体のコントロールが難しく、無限に時間を消費することだってできます。限られた時間の中で目標を達成しようとするからこそ、能力を最大限発揮できます。それはアジャイル開発とて例外ではないのです。
数年前まで、アジャイル開発全般に対する理解不足が原因で失敗するケースがありました。しかし今日では「システム外部の理解不足」が原因になり、失敗に陥るケースが目立っています。
理解しておくべき3つのポイント
それでは、外部がアジャイル開発に対して理解しておくべきポイントをご紹介します。アジャイル開発企業や組織内やクライアントに対し、これらのポイントを如何に理解してもらうかに注力する必要があるでしょう。
1.アジャイル開発は万能ではなく、決して安くもない
確かに、ウォーターフォール開発に比べるとアジャイル開発のスタイルは柔軟性に富んだものです。だからと言って「どんな要求変更にも対応できる」わけではありません。やはり限界があります。
さらにアジャイル開発は如何なるソフトウェア開発の現場にも有効とは限りません。ウォーターフォール開発が有効なプロジェクトもあります。そして、ウォーターフォール開発に比べて安いと一概に言えるものでもありません。
まず「アジャイル開発=魔法のような開発スタイル」という認識を捨てる必要があります。
2.アジャイル開発には計画もドキュメントも必要だ
『アジャイルソフトウェア開発宣言』には次のような記述があります。
- 計画に従うよりも変化に対応する
- 包括的なドキュメントよりも動くソフトウェア
読み方によっては、「アジャイル開発では計画もドキュメントも不要なのか」と誤解される恐れがあります。実際には、アジャイル開発には計画もドキュメントも必要です。
2つの記述が言わんとしているのは「計画やドキュメントをベースにしながら、変化への対応や動くソフトウェアを大切にする」ということです。従って外部もアジャイル開発で計画やドキュメントを重視する必要があります。
3.アジャイル開発は全体の協調性が何よりも大切だ
ウォーターフォール開発では、システム外部が関わるフェーズが決まっています。一方アジャイル開発はあらゆるフェーズにおいてシステム外部も関わりながら、開発を進めていくものと考えて良いでしょう。
従って何よりも大切なのは「全体の協調性」です。関わらないのは言語道断ですし、自身の役割を逸脱して干渉しすぎるのも厳禁。アジャイル開発は関係者全員が絶妙なバランスを保ってこそ効果を最大限発揮できる開発手法なのです。
アジャイル開発企業はひとまず、これら3つのポイントを組織内やクライアントに理解してもらわなければいけません。「ビジネス側の要求を全て引き出し、ビジネス価値のあるプロダクトを開発する」がアジャイル開発の目標である以上、システム外部からの協力を仰ぐのは絶対となります。
まとめ
これからアジャイル開発に取り組む企業、すでに取り組んでいるが上手くいっていない企業は「IT部門ではないシステム外部の関係者のアジャイル開発に対する理解」を深めることが重要課題となります。
しかし、IT部門がシステム外部の関係者にアジャイル開発について享受しようとすると、思いがけない伝達ミスが起きる可能性があります。従って享受方法には十分注意しながら、アジャイル開発に対する理解を深めてもらいましょう。
この記事を読んだ方へお勧めの講座
【公開講座・オンラインライブ研修】スクラムを利用したアジャイルプロジェクトマネジメント│ラーニング・ツリー・インターナショナル (learningtree.co.jp)