アジャイルという言葉はビジネスシーンにおいて十分に一般化したといえるのではないでしょうか。DX推進の潮流なども背景として、近年ではアジャイル開発に取り組む企業も増えています。実際に、プロジェクトマネジメントの代表的なベストプラクティス集である PMBOK のとりまとめ元として有名な PMI日本支部が実施したアジャイル研究会「2022年度 アジャイルプロジェクトの実態に関するアンケート」では、調査の対象とした組織のうち約 4割でアジャイル開発を導入しているという結果が明らかとなっています。
一方で、期待とは裏腹にアジャイル開発は必ずしもうまくいかないのも事実です。同調査ではアジャイル開発の満足度を NPS スコアにて調査していますが、特にはじめてアジャイル開発に取り組んだ方の約48%が「批判者」つまり「アジャイル開発を他人にすすめない」という回答をしている結果に。
なぜアジャイル開発は失敗するのでしょうか。この記事では、その原因と成功のために取り組むべきことを紹介します。
当社、スパイスファクトリーでは、アジャイル開発の受託開発サービスやプロトタイプ開発のサービスを提供しております。
アジャイル開発・スクラム開発の進め方に不安がある方は是非お気軽にご相談ください。
スパイスファクトリーの
Contents
アジャイル開発は万能薬ではない
アジャイル開発を理解する上で、まず意識しなければならないのは、アジャイル開発は決して万能薬ではないという点です。これはどういうことなのでしょうか。
「アジャイルだからうまくいく」は間違い
「アジャイルでやれば必ずうまくいく」というのは誤解です。特に、アジャイル開発に初めて取り組むケースにおいては、その期待度も相まって「アジャイルでやればこれまでのやり方よりも必ず成果があがる」と考えてしまうこともあるでしょう。
しかしながら、あくまでアジャイルはひとつの考え方であり、他の手法と比較して採用を検討するべきものです。アジャイルで開発を行えば必ずうまくいくのではなく「アジャイルが向くプロジェクトにおいて」「適切にアジャイルの考え方を取り入れれば」「プロジェクトの成功率が上がる」というものだと捉えるべきです。
上司など社内の権限者に説明を行う際にも、この観点をインプットしておくことは重要といえます。
メリットの多いアジャイル開発
もちろん、アジャイル開発は優れた手法であり、様々なメリットを得ることができます。アメリカのコンサルティング企業である McKinsey&Company の調査「Enterprise agility: Buzz or business impact?」によれば、アジャイル開発により以下のような効果があると報告されています。
- 従業員のエンゲージメント:20~30%上昇
- 顧客満足度:10~30%上昇
- 運用効率性:30~50%上昇
- 経済的な価値:20~30%上昇
このように、アジャイル開発は正しく活用すれば効果につながる手法であるといえます。
アジャイル開発が失敗する主な原因
アジャイル開発の効果を最大限発揮できるようにするためには、アジャイルが失敗する原因を理解し、アンチパターン(=典型的な失敗例)に陥らないことが重要です。そこで以下では、アジャイル開発が失敗する主な原因を紹介します。
①アジャイル開発への理解不足
よくあるのが、発注者側の現場担当者はアジャイルに対して理解があるものの、上層部がその理解に乏しいケースです。
アジャイル開発でプロジェクトを進める以上、スケジュールやコストは柔軟に変更していくことになります。しかし、上層部に理解がなければ、これらの変更は難しいといえます。
特に、旧来型の日本企業においてよく見られるのが「当初の予定を変更することを失敗ととらえてしまう」という文化です。アジャイル開発で進める以上、スケジュールやコスト、開発スコープなどに変動があることは理解しつつも、頭のどこかで「当初想定と違う結果となっており、このプロジェクトはうまくいっていないのでは?」という意識が働きます。結果として「アジャイルでのプロジェクトは失敗した」「コストがかかりすぎる」という認識を持たれてしまうことも。
企業にとって予算や計画の遵守は運営上重要な観点ではありますが、アジャイル開発では現時点での状況を踏まえて常に最適な選択を行うため、当初の想定とは違う結果となる可能性があるという認識が必要です。
②プロダクトオーナーの機能不全
要件定義フェーズですべての要件を確定させるウォーターフォール型開発とは異なり、アジャイル開発では必要な部分のみ要件を確定させます。これはプロジェクトに柔軟性を与えるという効果がありますが、一方で仕様の決定権を持っている方(プロダクトオーナー)がプロジェクトに深く参画しないと失敗の原因ともなります。
アジャイル開発の手法であるスクラムにおいては、ビジネスニーズを整理し、開発するプロダクトの要件を整理・決定するプロダクトオーナーの役割が必要です。このプロダクトオーナーが十分にプロジェクトに参加しないと、実用性の低いシステムが作られることになります。
また、プロダクトオーナーに十分な決定権を与えることも重要です。決定権がない方がプロダクトオーナーの役割を担ってしまうと、持ち帰り事項の多発などによりどうしても判断のスピードが遅くなります。
プロダクトオーナー側の十分な参画なくして、アジャイルが持つ柔軟性や俊敏性といったメリットを活かすことはできません。
③目的を理解しない形だけの運用
単にアジャイル開発の形式をなぞっただけでは、効果は薄いといえます。アジャイル開発はその考え方や取り組み姿勢が重要であり、その結果としてプロセスやプラクティスが存在するものです。
たとえば、スクラムにおいてデイリースクラムが推奨されているからと言って、単に毎日ミーティングを行っても効果は上がりません。なぜデイリースクラムを実施する必要があるのか本質的な理解をしなければ、意味がない時間となってしまいます。
④アジャイルに向かないプロジェクトへの適用
アジャイル開発には向き不向きが存在します。何が何でもアジャイルでプロジェクトを運営するという考え方ではなく、適したプロジェクトへアジャイルを適用するという考え方が必要です。
たとえば、既存システムのリプレイスなど、作るべきものが全て明確に決まっている場合には、アジャイル開発ではなくウォーターフォール型の開発の方が適している場合も多いでしょう。
⑤心理的安全性の不足
アジャイルで開発を進める際にはチーム内のコミュニケーションが重要です。うまくチーム内でコミュニケーションが活性化されないことも失敗の原因となります。
自社内でのコミュニケーションはもちろん、開発を外部の企業に委託している場合はパートナーとなる企業のメンバーとのコミュニケーションも含みます。
コミュニケーションがうまくいかない原因は様々考えられますが、ひとつには心理的安全性の不足が挙げられるでしょう。
心理的安全性とは、チームの中で自分の考えを安心して発言できる状態のことです。たとえば何に対しても否定するメンバーがいたり、失敗を過剰に攻めるリーダーがいたりすれば、チームの心理的安全性は確保されません。
アジャイル開発を成功させるために、発注側も受注側も、また上司も部下もひとつになってチームとして開発を行える状態になる状態を目指すべきです。
アジャイルのアンチパターンに陥らないために気を付けるべきポイント
これらの「アジャイルのアンチパターン」に陥らないように、アジャイル開発を行う上ではどのような点に気を付けるべきなのでしょうか。以下では、それぞれの観点ごとにポイントをご紹介します。
ポイント①:アジャイルの留意点をステークホルダーにインプットする
アジャイル開発を実施する際に、上層部や関係者などのステークホルダーに対してスケジュールの遅延や予算の追加、スコープの見直しなどが発生する可能性を十分にインプットしておくべきです。
アジャイル開発においては、開発内容を柔軟に見直した結果、スケジュールやコストが変動する可能性があります。また、スケジュールが必達である場合は、開発する機能を調整してスケジュール内に収める場合もあります。
当初想定していた QCD を見直す可能性がある点を、あらかじめステークホルダーにインプットとしておくことで、ハレーションを避けることができます。
ポイント②:プロジェクト担当者の時間を十分に確保する
ウォーターフォール型でも同様ですが、特にアジャイル開発においてはプロダクトオーナーをはじめとしたプロジェクト担当者の十分なプロジェクト参加が必要です。
よくあるのが「他のプロジェクトにもアサインされた」「イレギュラー対応で業務量が増えた」など、他の仕事が忙しいといった理由でプロジェクトの参加度合いが低下してしまうケースです。このような状況を避けるために、アジャイル開発でプロジェクトを進める際には、可能な限り専任で担当者を配置することが望ましいといえます。また、専任でプロジェクトに参加できないとしても、積極的なプロジェクト参加がプロジェクトの成功に資するという意識のもと、可能な限り時間を確保できるように組織として意識することが重要です。
ポイント③:アジャイルの各プロセスの目的を理解する
アジャイルでプロジェクトを推進する際には、そのプロセスが持つ目的を十分に理解する必要があります。
アジャイル開発における基本原則であるアジャイルソフトウェア開発宣言では、以下のようにアジャイルの考え方を定義しています。
プロセスやツールよりも個人と対話を、
包括的なドキュメントよりも動くソフトウェアを、
契約交渉よりも顧客との協調を、
計画に従うことよりも変化への対応を、価値とする。
アジャイルソフトウェア開発宣言で示されているそれぞれの原則を単に読むだけでは、どのような意味があるのかわかりにくいかもしれません。独立行政法人情報処理推進機構ではアジャイルソフトウェア開発宣言の読みとき方として、アジャイルソフトウェア開発宣言を理解しやすい形で紹介していますので、こちらを一読してみることもおすすめです。
たとえば、アジャイルソフトウェア開発宣言に示されている原則のひとつである「全員で共通の目標に向かおう」という項目について、具体的に求められる行動規範として以下のような内容が紹介されています。
- ビジネス側の人と開発者は、全員一緒の場所で働くことを理想としましょう。
- 一緒の場所で働けない場合は、工夫して、方向性を共有しましょう。
- ビジネス側の人と開発者は、一緒にビジネスを成功に導くという共通目標を、日々確認しましょう。
- ビジネス側の人と開発者は、全員で双方向のコミュニケーションが図れるようにしましょう。
- ビジネス側の人は、要求の出しっぱなしはやめましょう。
- 開発者は、フィードバックをもらうために、頻繁にリリースをすることから始めましょう。
- ビジネス側の人と開発者は、全員が共通認識を持つために、必要最低限のドキュメントを書きましょう。
ポイント④:アジャイルは選択肢のひとつという意識を持つ
ソフトウェア開発手法には向き不向きがあり、ウォーターフォール型・アジャイル型のそれぞれに使いどころがあります。失敗を回避するにはアジャイルが流行しているからといって安易に利用するのではなく、用途に合わせて採用するという意識が必要です。
具体的には、以下のような観点を踏まえ、アジャイルで実施するべきか、その他の選択肢をとるべきか判断します。
- 要件が事前に確定しているか。また、その要件が変更となる可能性はあるか。
- プロダクトオーナーの役割を担う担当者のリソースは十分に確保できるか。また、アジャイル開発の理解があるか。
- アジャイル開発の手法だけでなく、プロセスの目的やマインドセットも含めて理解している委託先がいるか。
ポイント⑤:一体化したチームを作り上げる
プロジェクトを推進していく上では共通的な観点ではありますが、特にアジャイル開発においては心理的安全性に欠けるチームでは成果は上がりません。アジャイル開発を進める上では、チームを一体化させることが重要となります。心理的安全性を確保できるようにチーム内でお互いに尊重しあい、人格を否定しない意識を持つべきでしょう。
プロダクトオーナーと開発者は、ともすれば利害関係者ともなりかねません。プロダクトオーナーはなるべく多くの機能を作ってもらいたいですが、開発者は時間をかけて余裕をもって機能を開発したいという意識が働きます。
このような状況に陥らないために、アジャイル開発においてはチームメンバーの誠実さが求められます。チームメンバーが気持ちよく仕事ができるように、お互いを思いやり良い空気間の中で仕事ができるように心がけます。このような状況を作り出すことで、結果としてシステムの品質向上につながります。
アジャイル開発のアンチパターンを避けて成功を目指そう
この記事では、アジャイル開発に失敗する原因となる主なアンチパターンと、アンチパターンに陥らないために意識すべきポイントについてご紹介しました。アジャイル開発をうまく活用できれば、企業にとって大きな武器となります。ビジネスの高速化が求められる昨今において、新規事業開発やビジネスモデルの変化へ対応するために、アジャイル開発の活用が必要です。
当社は 2016年にエンジニア 4名が創業し、アジャイル開発・スクラム開発を大きな強みとして成長してきた企業です。エンジニア・ディレクターなどを中心に社内の多くのメンバーがスクラムマスターに必要なスキルを保持していることを証明する「Certified ScrumMaster®(CSM®)」の資格を取得しております。豊富な知見と経験、そして参画メンバーが密なコミュニケーションをとることでアジャイル開発のアンチパターンにはまらないプロジェクトの進行が可能です。
アジャイル・スクラム開発に関してお悩みやご質問がある方は、ぜひ下さい。アジャイルに関する当社サービスに関しましては以下 URL からご確認いただけます。
About The Author
スパイスファクトリー公式
スパイスファクトリーは世界がより良い⽅向に向かうよう、変化を加速させる “触媒”(スパイス)としての役割を全うすることをミッションとしたDXエージェンシーです。最新テクノロジー、UIUX、アート、マーケティングなどの技術・メソッドを⽤いて、モノゴトを素早く、美しく、本質的に再定義し、幅広いクライアントのデジタルトランスフォーメーションを⽀援しています。