アジャイル開発手法6選:スクラムからDSDMまで!選び方と組み合わせも解説
スピーディーな対応が求められるアジャイル開発では、チーム構成や役割分担が非常に重要です。
本記事では、アジャイル開発におけるチームの役割や構成、「良くない」チームの例などを解説します。
アジャイル開発におけるチームの重要性を再確認し、正しくチームビルディングを行うための参考にしてください。
1.アジャイル開発とは?
まずはアジャイル開発について、おさらいしておきましょう。
アジャイルとは、直訳すると「機敏な」「早い」という意味を持つ言葉です。
その言葉の通り、「短いスパンで機敏に、迅速に開発を進める手法」のことを指します。
これまで主流だったウォーターフォール開発は、計画から設計・実装・テストの順に、滝のように上流工程から下流工程へと流れるように作業する開発手法です。
対してアジャイル開発では、プロダクトを機能単位で小さなサイクルに分け、サイクル(イテレーションまたはスプリント)ごとに計画から設計・実装・テストを行います。リリースしたらまた次のイテレーション…と、短いスパンでリリースを繰り返すのが特徴です。
一つのプロダクトに対して機能ごとにリリースを繰り返すことで、仕様変更やクライアントからのフィードバックに迅速かつ柔軟に対応できます。
2.アジャイルチームの役割と構成
アジャイル開発を採用するだけで、「スピード感のある開発」や「柔軟な開発」を実現できるわけではありません。アジャイル開発のメリットを最大限活かすためには、チーム作りが非常に重要です。
ここでは、アジャイル開発におけるチームの重要性やメンバーに必要なスキルについて解説します。
①アジャイルチームの重要性
スピーディーな対応が求められるアジャイル開発において、チーム構築や各メンバーの意識が明暗を分けるといっても過言ではありません。
アジャイル開発では、イテレーションごとに計画から設計・実装・テストを実施。イテレーションが終わればチームで振り返りを行い、改善策を持って次のイテレーションへと移ります。
チームが主体となって開発を進めていけるよう、チームの自己組織化が重要です。
また、開発から運用までの幅広い知識・スキルを有したメンバーを集め、クロスファンクショナルなチームを構築することも求められます。
自己組織化されたクロスファンクショナルなチームが、迅速なアジャイル開発を叶えるための鍵といえるでしょう。
②アジャイルチームのメンバーに必要なスキル
前述の通り、アジャイルチームのメンバーには幅広いスキルと高い能力が求められます。
特に重要になるのは、以下3つのスキルです。
・チーム主体で動くための「自己組織化の能力」
・クロスファンクショナルなチームを構築するための「開発・運用双方のスキル」
・円滑に開発を進めるための「コミュニケーション能力」
各々が高いスキルと豊富な知識・経験を持ちつつ、そのなかで一番の強みを活かせる役割を与えることで、目標達成に向けて一丸となって主体的に取り組めるチームを構築できます。
3.スクラムチームの役割と構成
ここでは、より具体的なチーム構成や役割について、アジャイル開発の代表的な手法である「スクラム」を例に解説します。
①スクラムチームの特徴
スクラムの定義などがまとめられたスクラムガイドでは、スクラムチームについて以下のように書かれています。
スクラムの基本単位は、スクラムチームという⼩さなチームである。スクラムチームは、スクラムマスター1⼈、プロダクトオーナー1⼈、複数⼈の開発者で構成される。スクラムチーム内には、サブチームや階層は存在しない。これは、⼀度にひとつの⽬的(プロダクトゴール)に集中している専⾨家が集まった単位である。
出典・引用:スクラムガイド
上記の通り、スクラムチームは「スクラムマスター」「プロダクトオーナー」「開発者」で構成されます。
俊敏さと柔軟性が求められるスクラムにおいては、必要以上にコミュニケーションコストをかけず、迅速に意思決定ができるよう、10名以下のチームで構成されることがほとんどです。
②スクラムチームのメンバー構成と役割
スクラムではチームメンバーに「スクラムマスター」「プロダクトオーナー」「開発者」の役割が与えられ、役割ごとに異なる範囲の責任を持ちます。「ステークホルダー」はスクラムチーム以外のメンバーで、ユーザーや顧客、上司や他の部門が該当します。
スクラムのシーン | 開発者 | プロダクトオーナー | スクラムマスター | ステークホルダー |
スプリントプランニング | スプリントバックログの作成 | プランニングまでにプロダクトバックログを作成 | 進行役など開発者たちのサポート | – |
デイリースクラム | 進捗状況の検査、スプリントバックログの適応 | 任意参加 | 開発者・プロダクトオーナーのサポート | – |
開発作業 | 開発作業、適宜進捗状況の検査など | – | 開発者・プロダクトオーナーのサポート | – |
スプリントレビュー | インクリメントをプレゼンテーション・デモで披露 | ステークホルダーをレビューに出席させる、プロダクトバックログの見直し | 開発者・プロダクトオーナーのサポート | レビューに参加 |
スプリントレトロスペクティブ | スプリントの見直し | プロダクトバックログを最新の状態に更新 | 開発者・プロダクトオーナーのサポート | – |
・スクラムマスター
スクラムマスターは、スクラムチームや組織においてスクラムを確立させることに責任を持ちます。プロジェクトを遂行するにあたり、課題や問題点、障害が発生した際には、速やかに解決できるよう働きかけます。
また、開発者をトレーニングしたり、ステークホルダーとスクラムチーム間の障壁を取り除いたりといったこともスクラムマスターの仕事です。
・プロダクトオーナー
プロダクトオーナーは、プロダクトの価値を最大化するための施策策定やその結果に責任を持つ役割です。プロダクト全体の方向性を決定し、スプリントごとの評価を担当します。
プロダクトのバックログ管理(開発すべき機能や要件のリスト)も重要な仕事の一つで、これによりステークホルダーの要望やスクラムチームの対応優先度を整理します。
・開発者
プロダクトの方向性に沿って開発を進め、スプリントへの責任を持つのが開発者です。開発者はスプリントゴールに向けて、毎日計画を遂行すること、設計を忠実に守って開発することが求められます。
「開発者」というと開発だけを担当すると誤解されやすいですが、スプリントにおいては進捗管理や作業完了の意思決定なども引き受けます。
4.アジャイルチームにチーム憲章を導入する
アジャイル開発におけるチームの重要性を理解し、チームビルディングを行ったとしても、上手くいかないことはあるでしょう。
その理由の一つとして、「チームのビジョンや目的を適切に共有できていない」ことが考えられます。ここではプロジェクトを成功へと導くために有用な「チーム憲章」について解説します。
①チーム憲章とは
チーム憲章とは、チームのビジョンや目的、価値観を共有するための文書のことです。チーム憲章はアジャイル開発特有のものではなく、あらゆるチームに対して定義できます。
チーム憲章があることにより、チームの認識が揃った状態で一致団結してプロジェクトに取り組めます。新たにメンバーが加入した際にも、チームのビジョンなどをスムーズに共有できるでしょう。
また、プロジェクトの進行中には、予期せぬ混乱や対立が起こらないとも限りません。そのようなトラブルを避けるためのガイドラインとしても、チーム憲章は有用です。
②チーム憲章の内容
チーム憲章には、主に以下のような項目を明記します。
・チームのミッションやビジョン
・チームの価値観や行動規範
・コミュニケーション方法やツールの使用方法
・チームの目標やKPI
・チームメンバー間の役割分担
チーム憲章の内容を検討する際には、全メンバーに参加してもらうと良いでしょう。チーム憲章の作成から携わることで、当事者意識を持ってプロジェクトに取り組みやすくなります。
また、チーム憲章は作成後に定期的に見直すことが重要です。チーム憲章の内容とプロジェクト始動後の実態に乖離があれば、必要に応じて適切な内容に更新しましょう。
5.アジャイルでありがちな「良くない」チーム
最後に、実際にプロジェクトを進めるなかで陥りやすいチームの問題や、良くないチームの特徴について解説します。
①チームサイズが不適切
チームの人数が多すぎる、もしくは少なすぎる場合、アジャイル開発を円滑に進めることが困難になりがちです。
アジャイル開発では、スピード感を持って進めるための最小人数、かつスプリント内で重要な開発を完了するのに必要な最大人数で開発にあたります。多すぎると機敏な動きが損なわれ、少なすぎるとスプリント内の開発が完了するまでに時間がかかってしまいます。
プロダクトゴールやスプリントごとのリリース機能を明確にし、適切な人数を把握したうえでチームを構成しましょう。
②チーム内での目的・ビジョンの共有不足
アジャイル開発に限らず、チームで何かを行うときに目的やビジョンが共有されていないことは致命的です。
口頭で伝えたとしても正しく理解されなかったり、プロジェクトが進行するうちに忘れてしまったりする可能性があるので、チーム憲章を作成して明文化しましょう。
③チーム内でのスキル不足
一部メンバーのスキルが極端に低かったり、チーム全体でスキルが不足していたりすると、プロジェクトを成功させることは難しいでしょう。
アジャイル開発においては、チームメンバー各々が責任を持って、与えられた役割を担当します。
スキルが低いメンバーがいると、開発スピードについていけずにスプリントの期間を超過してしまう恐れがあります。また、そもそも担当領域の業務を遂行できない可能性もあるでしょう。
④メンバーそれぞれの自己組織化に対する意識不足
チームメンバーが主体性を持ってアジャイル開発を進めることが、プロジェクトを成功へと導きます。
メンバー全員が当事者意識を持ち役割を全うしたうえで、何かあった時には協力し合えるチームの構築が重要になるでしょう。
メンバーの意識が不足している場合は、アジャイル開発のトレーニングを実施したり、達成感を味わえる場を作ったりと、モチベーションをあげられる仕組み作りを検討してみてください。
また、チームを引っ張っていくメンバーの確保も有効です。マネジメントスキルやコミュニケーションスキル、ネゴシエーションスキルなど、幅広いスキルを併せ持つ人材の確保も視野に入れながらチームを構築しましょう。
6.まとめ
迅速かつ柔軟な対応が求められるアジャイル開発では、チーム構築やメンバーの意識がプロジェクトの成功を左右します。
今後アジャイル開発を円滑に進めるためには、開発や運用スキルに加えコミュニケーションやマネジメントスキルを持つ人材を、社内で育成することが求められるでしょう。
トレノケートでは、今後アジャイル開発を推進できる人材を教育するカリキュラムを提供する予定です。
またエンジニア人材育成のための「伴走型メンタリングサービス」も提供しています。
即戦力となる人材育成にお役立ててください。
※掲載された社名、製品名は、各社の商標及び登録商標です。