アジャイル開発のチームビルディングは3つのポイントと2つのコツ
アジャイル開発のチームビルディングに関してこんな悩みを持つ方は多いと思います。
- 安定したチームの構築と育成がうまくいかない
- チームの立ち上がりがいつも遅い
こんな疑問や不安にお答えしていきます。
今回の記事を読めばこれがわかる!
☑️ 優れたアジャイルチームの3つのポイント ☑️ チームビルディングを早める2つのコツ
この記事を書いている僕はSupreme TechのSM(スクラブマスター)のヒコです。*土曜の夜は必ずスキンフード (SKINFOOD) ブラックシュガーでスクラブをするのが習慣。これまで10プロジェクト以上でアジャイル開発を経験しています。
そんな僕がアジャイル開発のチームビルディングに関して詳しく解説します。
目次
優れたアジャイルチームの3つのポイント
アジャイルについては他の記事で詳しくお伝えしますので、今回は優れたアジャイルチームとは?というところにのみフォーカスを当てて解説していきます。
優れたアジャイルチームには下記の3つのポイントが揃っています。
・役割と責任を明確にする
・全てを可視化する
・継続的に「ふりかえり」を行う
それではそれぞれ詳しくみていきましょう。
役割と責任を明確にする
優れたアジャイルチームは、チームメンバーの役割が明確です。
ここでは、スクラムの役割については一旦置いておいて、そもそもアジャイルチームで役割と責任を明確にする理由はなんなのかという点についてお伝えします。
役割を明確にする理由
スクラムマスターという役割一つとっても、人それぞれ理解が違う可能性があります。そのため、チーム内でそれぞれの役割を明確にして理解を揃える必要があります。チーム内でそれぞれが担う役割を明確化しておくことで、担当する実際の作業や役割に合った振る舞いなどへの重複がなくなり、完了済みの作業を別のメンバーが行っていたり、作業の放置等、チームワークの乱れ、崩壊の事態を防ぐことができます。
責任を明確にする理由
役割を明確にする同時にその役割の責任も明確にする必要があります。基本的にアジャイルチームはフラットな関係であるが故に、無意識の中で他のメンバーへの責任転嫁や業務の押し付け合いが起こり、チームワークの乱れにつながることがあります。スクラムマスターであれば〇〇に責任をもつ。プロダクトオーナーは〇〇に責任をもつ。と言った感じで役割に紐付いた責任を明確にすることが重要です。そうすることでコミュニケーションや意思決定がスムーズになりますし、情報の錯綜を軽減することができます。なによりも一人ひとりの責任感を高め自発的な行動が期待できます。
全てを可視化する
優れたアジャイルチームは個人の各々の頭の中にある全てが可視化されています。その理由は、人それぞれ物事の捉え方や感じ方がことなるため、頭の中にだけ留めておいてしまっていては認識齟齬が起きてしまうからです。それでは何に対して可視化すべきなのかを解説していきます。
プロダクトへの期待
チーム内でプロダクトへの期待に対して共通認識がとれていなければ開発の方向性が定まらず、プロダクトの価値を最大化することはできません。ですのでプロダクトのビジョン、顧客の要件を明確にし、数値、図、ドキュメントなどで可視化させチーム内で共有、説明の場を設けプロダクトへの期待に対しての共通認識をもつことが重要になります。
開発状況
優れたアジャイルチームの開発状況は、スプリント内で着手するタスク、それに対する担当者、優先度、進捗がわかるステータスが明確にGoogleスプレッドシートや、クラウドのプロジェクト管理ツールで可視化、チーム内で共有されています。また、バーンアップチャートなどを使うことで、理想的な進捗と実際の進捗がチャートで表現することができ、それを見るだけでチームの進捗は一目瞭然です。
そして一番重要になるのが、スプリント毎の成果物です。開発の成果物として実際に動くものをアウトプットすることで、これがどの開発状況の可視化よりも品質、納期に関して客観的な判断ができ、意思決定の明確な根拠となります。
役割と責任
「役割と責任を明確にする」でお伝えしたように、この2つを明確にすることが大事です。そのうえで、役割構成を図におこす、責任をドキュメントに明記するなどして、チーム内での定義を明確かつ可視化させることで共通認識を高められます。
アジャイル チームは設計上、柔軟性と応答性に優れているため、チーム内での共通認識が高ければ、その利点を存分に発揮することができます。
継続的に「ふりかえり」を行う
優れたアジャイルチームは問題が発生したり、認識齟齬が起きることを前提にプロジェクトを進めます。つまり、最初から完璧なチームをつくるというよりかは、改善を繰り返すことでチームを進化させていくという考えがベースとしてあります。そのためには「ふりかえり」が欠かせない機会です。それではふりかえりの目的のメリットとデメリットを見ていきます。
ふりかえりの目的!
アジャイル開発のチームにおける「ふりかえり」の目的は、チームをアジャイルなチーム、つまり臨機応変に柔軟な対応ができるチームに近づけることです。ふりかえりを継続的に行うことで以下をブラッシュアップしていきます。
・コミュニケーションの活性化
・情報の透明性
・問題共有
・解決策の具体化
・ナレッジ共有
・自律的に考え、行動できる
メリットとデメリット
メリット
会話をする機会が必然的にうまれることです。
アジャイル開発で起こりがちなのがチームではなく個人の集まりになってしまうことで、チームでタスクを管理するのではなく、個人から個人へのタスク依頼があり、個人間でのみ共有がなされていたり、タスクの完了や要件の確認もエンジニア個人とビジネスサイドの当人同士の確認によってのみ行われたりすることも多々あります。また、タスク管理だけでなくナレッジや問題の共有などあらゆる点が個人に依存してしまい、ただの個人の集まりになってしまいがちです。
そこで「ふりかえり」をスプリントのアクティビティの一つとして設けることで極端に言えば会話をせざる得ない機会をつくることができるのです。
デメリット
「ふりかえり」自体にデメリットはないと思いますが、強いて言うならば、マンネリ化です。デメリットというよりはリスクかもしれません。「ふりかえり」は繰り返し行うことで効果を発揮するものなので、スプリントを重ねていく中で飽きてきたり、問題点しか上がらずつまらない会になってしまいがちです。
そのようなときには「ふりかえり」の方法は様々なので、そのときどきで使い分けてみるのがオススメです。僕はKPTに飽きた際は、Fun/Done/Learnというふりかえりをやってみました。ベトナムのダナンでFun/Done/Learnしてみた。にそのときの様子を解説しているのでご興味ある方はぜひ読んでみて下さい。
チームビルディングを早める2つのコツ
優れたアジャイルチームを理解していただいたところで、ここからはアジャイルチームの立ち上げについて解説していきます。アジャイルチームの立ち上げについては、チームメンバーがどの程度アジャイル・スクラムの経験があるかでチームビルディングにかかる時間、コストも変わってきます。
それらを軽減するために2つのコツがあるので解説していきます。
社内全体でのワークフローの基準をつくる
アジャイル・スクラムの経験の差を少しでも軽減させるには、アジャイル開発に必要なワークフローを網羅的に理解していることが重要となります。その理解を促すためにも社内全体でのワークフローの基準が存在することが大事です。
全体の流れをビジュアル化
「全てを可視化する」でもお伝えした通り、アジャイル開発、スクラムチームという共通の言葉をとってしても、人それぞれ理解が異なります。ですので、図やイラストにワークフローを落とし込むことで、社内全体の理解を促すと共に、共通認識をもつことができ、いざアジャイルチームを立ち上げるとなったときにスムーズに進めることができます。
テンプレート化
開発というのはプロジェクトごとのクライアントの違い、それに伴う要件の違いはありますが、プロジェクトの進め方、必要なアクティビティにさほど違いはありません。ですのでそれらに関する必要なものは全て社内アセットとして用意しておくこと大事です。そのため用意できるものは全てテンプレート化しておきましょう。
ではテンプレート化すべきものを、弊社が用意しているアセットと一緒にご紹介していきます。
プロダクトバックログ
弊社では、プロダクトバックログとして必要な項目が記載されたものを予めGoogleスプレッドシートで用意しています。このシートに沿って記入していくだけでプロダクトバックログとして役割を果たします。
スプリントバックログ
ストーリー名、担当者、ステータスなどが明確に管理でき、自動で開始時間なども記載されるような仕組みになっています。こちらもGoogleスプレッドシートでテンプレ化しています。
その他にも、チームメンバーの1スプリント内での稼働時間をアサイン率から算出し、スプリント内で対応する工数がその稼働時間を超過していないかなど、スプリント内でのメンバーのタスクと稼働時間の管理を細かく、正確にできるシートとなっています。
スプリントレトロスペクティブ
スプリントレトロスペクティブ。いわゆる「ふりかえり」は毎回スプリントの最後に行われることです。基本的に僕らが参加するプロジェクトではKPTを行いますので、決まったフォーマットの記入シートをGoogleスプレッドシートにテンプレート化しています。また、近頃はコロナの影響でリモートワークが主流となっていますので、実際のホワイトボードや付箋をつかって「ふりかえり」を行うことが減っているため、リモートでもできる形を作っています。ときどきMiroの付箋機能を使ってリアルなふりかえりに近づけたりもします。そのあたりはチーム内で色々工夫するといいと思います。大事なのは「ふりかえり」を行うためのアセットを事前に用意しておくことです。
キックオフガイドライン
キックオフの内容も同様にプロジェクトによって大差はありません。ですので、何をチーム内で準備すべきか、クライアントプロダクトのプロジェクトであれば、何をクライアントに準備してもらうか、当日のアジェンダなど、キックオフですべきことは8割9割はテンプレ化します。残りはプロジェクトの特性に合わせてカスタマイズするといった感じで、キックオフガイドラインとしてテンプレートを作り、毎回アジャイルチームを立ち上げる度に0から考え準備する手間を省き、チーム毎のクオリティの差を軽減させます。
まとめ
アジャイル開発のチームビルディングは奥が深く、チーム構成、人数、スクラムの進め方など世の中にたくさんの情報がベストプラクティスとして存在しているため、結局どんなチームが優れたアジャイルチームなのか迷ってしまいます。しかし、今回ご紹介した3つのポイントと2つのコツを押さえてしまえば、優れたアジャイルチームを作り上げてることができると思っています。
押さえるべき点は下記です。
・役割と責任をチーム内で明確にする ・アジャイル開発に関わるものは全て可視化する ・継続的な「ふりかえり」 ・社内で基準をつくる ・繰り返し使うものはテンプレート化する
ぜひアジャイル開発のチームビルディングでお悩みの方、これからチャレンジする方は参考にしてみてください。
Enlytについて
株式会社Enlytはベトナムに開発拠点SupremeTechを持ち、Enlytではこれまで50以上の開発プロジェクトを行ってきました。( 株式会社Enlytの実績は開発実績ページから)ベトナムと日本のグローバルなチームで、数多くのプロジェクトを成功に導いてきました。
アジャイル開発をご検討の際は、株式会社Enlytまでご気軽にお問合せください!お客様の納得のいくまで、共に開発させていただき、アイデアを最高のかたちにサービス化いたします。
下記ボタンより気軽にお問合せください!