ソフトウェア開発のプロジェクトマネジメント手法「アジャイル」について

BizLearnでは、eラーニング「アジャイル実務ガイド 要説」を提供しています。
第6版PMBOK®ガイドがアジャイルに対応したと、お聞きになった人も多いかと思います。従来のプロジェクトマネジメントは、建築現場など大規模なプロジェクトを管理することを主流に考えられました。しかし、現在プロジェクトマネジメントの概念が広がり、ソフトウェア開発などが増えている中で、従来とは違う考え方が求められるようになってきています。それがアジャイルです。本稿では、PMBOK®が対応したアジャイルとはなにかについてご紹介します。ぜひご参考にしてください。
第6版PMBOK®ガイドがアジャイルに対応したと、お聞きになった人も多いかと思います。従来のプロジェクトマネジメントは、建築現場など大規模なプロジェクトを管理することを主流に考えられました。しかし、現在プロジェクトマネジメントの概念が広がり、ソフトウェア開発などが増えている中で、従来とは違う考え方が求められるようになってきています。それがアジャイルです。本稿では、PMBOK®が対応したアジャイルとはなにかについてご紹介します。ぜひご参考にしてください。
アジャイルとは
アジャイルという言葉は、「すばやい」「敏捷」と日本語で訳されます。アジャイルは、短い開発期間でリリースを行い、フィードバックを受け、再度改善をする開発手法です。アジャイル開発がプロジェクトマネジメントの手法として提唱されてからまだ久しいです。ここでアジャイルの歴史をご紹介します。
アジャイルの歴史
PMBOK®では、建設、製造、研究など長期間かつ大規模なプロジェクトを由来にプロジェクトマネジメント手法が開発されました。そのため、基本的には後戻りができないウォーターフォール型のプロジェクトマネジメント手法が適していました。ゆえにPMBOK®=ウォーターフォール型の手法と誤った認識をしている方もいらっしゃいました。
しかし、2000年頃からのインターネットの爆発的な普及に伴い、IT分野における情報システム構築やソフトウェア開発の案件が爆発的に増加しました。しかし、情報システム構築やソフトウェアでは、建設などと同様にウォーターフォール型の開発には適さないことが問題となりました。
例えば、建設や研究開発プロジェクトでは要件定義などが事前にしっかり定まっていることが重要です。しかし、ソフトウェア開発の場合、クライアントがあまりITに詳しくないことや外部環境の変化スピードが早いため、開発をしながら追加な要望や変更が発生し、追加の作業が発生しがちです。このような追加作業が度々起きることで、リリース直前に徹夜作業が続くなど悪循環が多くなっていました。このような状況に問題提起して、ソフトウェア開発者が会合を開き、2001年にアジャイル宣言を策定され、アジャイルが創出されました。
従来のウォーターフォール型の手法は後戻りができない手法でした。しかし、ソフトウェアなどでは、コストやスケジュールに影響なく変更が可能な手法が必要でした。アジャイルでは、プロセスをイテレーションと呼ばれる小さな要素に分割することで、完成前のプロジェクトにも変更を加えることを可能にしました。
しかし、2000年頃からのインターネットの爆発的な普及に伴い、IT分野における情報システム構築やソフトウェア開発の案件が爆発的に増加しました。しかし、情報システム構築やソフトウェアでは、建設などと同様にウォーターフォール型の開発には適さないことが問題となりました。
例えば、建設や研究開発プロジェクトでは要件定義などが事前にしっかり定まっていることが重要です。しかし、ソフトウェア開発の場合、クライアントがあまりITに詳しくないことや外部環境の変化スピードが早いため、開発をしながら追加な要望や変更が発生し、追加の作業が発生しがちです。このような追加作業が度々起きることで、リリース直前に徹夜作業が続くなど悪循環が多くなっていました。このような状況に問題提起して、ソフトウェア開発者が会合を開き、2001年にアジャイル宣言を策定され、アジャイルが創出されました。
従来のウォーターフォール型の手法は後戻りができない手法でした。しかし、ソフトウェアなどでは、コストやスケジュールに影響なく変更が可能な手法が必要でした。アジャイルでは、プロセスをイテレーションと呼ばれる小さな要素に分割することで、完成前のプロジェクトにも変更を加えることを可能にしました。
アジャイルの価値観
続いて、アジャイルを進めていく上で重要な価値観は、上記でもご紹介したアジャイル宣言にて記されています。外部環境も変わってきていますが、未だに変わらない価値となっています。
アジャイル宣言
- プロセスやツールよりも「個人と対話」を、
- 包括的なドキュメントよりも「動くソフトウェア」を、
- 契約交渉よりも「顧客との協調」を、
- 計画に従うことよりも「変化への対応 」を、
価値とする。
すなわち、左記のことがらに価値があることを認めながらも、私たちは右記のことがらにより価値をおく。
そして、この宣言は従来のウォーターフォール型などを否定するものでありません。よくある誤解として、アジャイルはドキュメントを作成しないというものです。もちろん、進捗管理のための膨大な資料の作成は必要ありません。しかし、アジャイル開発でも企業のコンプライアンスなどのためにドキュメント作成が必要な場合などあります。宣言はあくまで価値観であり、決して規則ではありません。
アジャイルの原則
アジャイル宣言では、宣言の価値観を実現させるための12の行動原則が規定されています。アジャイルを導入する上でも理解しましょう。
12の行動原則
- 顧客満足を最優先し、価値のあるソフトウェアを早く継続的に提供します。
- 要求の変更はたとえ開発の後期であっても歓迎します。変化を味方につけることによって、お客様の競争力を引き上げます。
- 動くソフトウェアを、2-3週間から2-3ヶ月というできるだけ短い時間間隔でリリースします。
- ビジネス側の人と開発者は、プロジェクトを通して日々一緒に働かなければなりません。
- 意欲に満ちた人々を集めてプロジェクトを構成します。環境と支援を与え仕事が無事終わるまで彼らを信頼します。
- 情報を伝えるもっとも効率的で効果的な方法はフェイス・トゥ・フェイスで話をすることです。
- 動くソフトウェアこそが進捗の最も重要な尺度です。
- アジャイル・プロセスは持続可能な開発を促進します。一定のペースを継続的に維持できるようにしなければなりません。
- 技術的卓越性と優れた設計に対する不断の注意が機敏さを高めます。
- シンプルさ(ムダなく作れる量を最大限にすること)が本質です。
- 最良のアーキテクチャ・要求・設計は、自己組織的なチームから生み出されます。
- チームがもっと効率を高めることができるかを定期的に振り返り、それに基づいて自分たちのやり方を最適に調整します。
アジャイルのメリット
最後にアジャイルの導入の代表的なメリットをご紹介します。
時間とコストの改善
アジャイルを導入することで開発コストや時間自体が短くなるわけではありません。しかし、ご紹介したように、アジャイルは変更に柔軟に対応します。その結果、変更が通常プロセスに組み込まれているため、変更に伴う手戻りを最小限にできます。その結果、ウォーターフォール型など変更を予期していない場合と比較し、時間・コストの改善ができます。また、時間/コストを改善できるため、生産性の向上やチームメンバーの満足度にも繋がります。
リスクの低減
従来のプロジェクトマネジメントでは、変更はリスクとして捉えられていました。しかし、上述したとおり、アジャイルは変更を通常のプロセスと捉えます。そのため変更が発生してもどのように対応するのかの準備が整っているため、リスクが大きな課題にはならず、資源の無駄遣いも減ります。また、リリース前から常に変更に対応しているため、リリース時にも最終的には安定した高品質なソフトウェアをリリースできます。
まとめ
アジャイルとはITやソフトウェア開発の普及に伴い、開発された手法です。従来のウォーターフォール型と比べ、イテレーションと呼ばれる短い開発期間・単位でプロジェクトを進め、常に変化が起きるという価値観の開発手法です。そのため、コストや時間節約にもつながることで現在注目を浴びている結果、PMBOK®ガイドも対応することと成りました。
本稿ではアジャイルとはなにかの概念に関してご紹介しました。BizLearnのeラーニング「アジャイル実務ガイド 要説」では、実際にアジャイルを導入するために必要な環境や、考慮状況などを丁寧にご説明しています。アジャイル手法の導入を検討していらっしゃる方はぜひ受講してください。
本稿ではアジャイルとはなにかの概念に関してご紹介しました。BizLearnのeラーニング「アジャイル実務ガイド 要説」では、実際にアジャイルを導入するために必要な環境や、考慮状況などを丁寧にご説明しています。アジャイル手法の導入を検討していらっしゃる方はぜひ受講してください。