TOP オフショア開発 スクラム開発における開発チームの概要

スクラム開発における開発チームの概要

by Van Nguyen

前の2つの記事では、プロダクトオーナースクラムマスターの役割について説明しました。これら2つの役割には1つの共通点があります。それはどちらも 個人による役割であることです。しかし今回説明する残りの役割は以前と違い、チームで行う役割になります。

開発チームとは

開発チームは、各スプリントの終了時にリリース判断可能な「完成」したプロダクトインクリメントを届けることのできる専門家で構成されています。「完成」したインクリメントは、スプリントレビューに必要になります。インクリメントを作成できるのは、開発チームのメンバーだけになります。

開発チームは、自分たちの作業を構成・管理するために、組織から体制と権限を与えられています。その相乗効果によって、開発チーム全体の効率と効果が最適化されます。

開発チームの作業

スクラムの活動では、開発チームは次の主要なタスクを実行します。

「プロダクトインクリメント」を生み出すために必要な作業を直接実行する。スプリント中、開発チームは製品のプロダクトバックログアイテムの設計、開発、テスト、および製品のプロダクトインクリメントへの統合を実行します。 これを行うために、開発チームの計画立て、管理、および相互通信の手段を自己組織で決定し、すべてのスプリントに完了したプロダクトインクリメントを最後に転送する必要があります。

検査と適応

 各スプリントの目標を達成するために、開発チームのすべてのメンバーは、自分の役割の進捗を交換する毎日のスクラムに参加し、残りのジョブの完成計画を修正する必要があります。

チームメンバーの誰かがこのイベントに参加できない場合、チーム全体で情報が不足している可能性があり、全体像の一部が不足している恐れがあります。それにつれて、各スプリント、あるいはプロジェクトの全体の目標が達成できない恐れもあります。

グルーミングプロダクトバックログ(製品開発カテゴリを明確化)

各スプリントでは、開発チームは次のスプリントに向けて作業の準備をするために、プロダクトオーナーとの相談の時間の必要です。 相談のほとんどは製品の残りの要求を明確化、追加するためです。そのため、各要求の情報を作成、修正、追加します。優先度に基づいてアイテムを見積もり、再配置します。

各スプリントの開発チームは、スプリント全体の時間の最大10%をこのタスクの実行に費やしている。

スプリントの計画を立てる

開発チームは、各スプリントの最初の計画に参加し、スクラムマスターの指定を通じてプロダクトオーナーと協力し、スプリントの目標を設定します。 スプリント目標の設定以降、チームは優先順位を再調整し、その目標を達成するためのタスクを実行計画を立てます。

製品、ワークフロー検査、適応

各スプリントの最後に、開発チームはスプリントレビュー(製品レビュー)およびスプリントレトロスペクティブ(ワークフローの改善)という、2つの検査と適応イベントに参加します。

 スプリントのレビューでは、開発チーム、スクラムマスター、プロダクトオーナー、およびその他の利害関係者は、プロダクトオーナーから招待され、チームがスプリントで完了したプロダクトインクリメントについての試行、評価、フィードバックを提供します。 

スプリントレトロスペクティブでは、スクラムマスターの調整の下で、開発チームがプロダクトオーナーとともに、チームでのコラボレーション方法および作業プロセスの検査と適応について商談し、プロダクトインクリメントをより早く、より多い価値を転送できるよう、または製品の質をより高めるよう、良い技術を探します。

開発チームの特定

開発チームの規模

開発チームの最適な規模は、柔軟性を維持できるほど小さく、スプリント中に重要な作業を完了するのに十分な大きさです。 メンバーが3人未満の場合、開発チームはやり取りが少なくなり、生産性が低下します。 そのような小さな開発チームは、スプリント中にスキルの制限を経験する可能性があり、開発チームは最終製品の段階的な仕上げを提供できなくなる可能性があります。 メンバーが9人を超えると、調整が必要になります。 大規模な開発チームは非常に多くの複雑化を引き起こし、実験プロセスの有用性を低下させます。 プロダクトオーナーとスクラムマスターの役割は、スプリントバックログの作業を行っていない限り、開発チームには含まれません。

自己組織化されたチーム

自己組織化とは、チームが生産プロセスを導き、決定を下す能力と権限を持っていることを意味します。つまり、チームがツール、テクニック、および仕事を完了するための方法の選択肢、全てを制御できることも意味します。同時に、チームメンバーの関与と責任は、コマンド・コントロールモデルで編成されているチームよりもはるかに高くなります。

スクラムの開発チームの自己組織的な性質は、以下のような点です。

  • チームに管理職はいない。チーム管理を担当する個人は一人もいない。
  • 開発チームは、各スプリントを作成するプロダクトバックログの各項目の数を自己的に選択して決定する。
  • 開発チームは、各項目のワークロードを自己推定する。
  • 開発チームは、自身の作業の進捗状況を監視する。
  • すべてのジョブは、個人に割り当てられることなく、チーム集団によって「所有」される。したがって、結果が良いか悪いかにかかわらず、その責任は一人にではなく、チーム全体に与える。

連結機能を持つチーム

連結機能を持つチームとは、外部からの支援なしに、ジョブ全体を完了し、各スプリントの終わりに転送可能なプロダクトインクリメントを生み出すために必要なすべてのスキルを完全に備えていることを意味します。これは、それぞれのメンバーがすべてのスキルをもっている必要があるという意味ではなく、特定の数のスキルしか持っていないが、お互いを補完し、チームが必要なすべてのスキルを持つという意味です。

連結機能を持つことで、チームが動作し、完全な生産ユニットとなり、生産性と製品品質を向上させることができます。これにより、チームは外部から待つことなく、迅速に意思決定を行えます。

開発チームでは、各メンバーが、テスター、プログラマー、設計の専門家、データベースの専門家などの特定の職種を持っていないません。すべて「開発者」と呼びます。これにより、集団的所有権、集団的責任、およびメンバー間の平等が強化されます。

連結機能を持つチームが行うことで、チームの学習も促進させることができます。各メンバーが異なる背景から来ており、1つまたはいくつかの特定のスキルの強みを持っている可能性がありますが、コラボレーションする中で、これらのメンバーは新しいスキルを他のメンバーから学び、それぞれのメンバーは追加のスキルを形成できるます。これは、メンバーが役割に関係なく、メンバーがお互いにサポートできるようにするために重要であります。

まとめ

上記は、スクラムにおける開発チームの役割の基本的な内容です。 従来の開発モデルとは異なり、スクラム開発チームは、製品の機能開発をするための計画立てや自己決定をより多く実行します。開発している製品をより理解できるようプロダクトオーナーと協力することも大切です。

参考減:

  1. http://hocvienagile.com/agipedia/nhom-phat-trien/
  2. https://www.knowledgehut.com/tutorials/scrum-tutorial/development-team
  3. https://www.scrumguides.org/scrum-guide.html#theory

関連記事