アジャイル チームは構造的にウォーターフォール チームとは異なります。ウォーターフォール チームは組織構造に従っており、多くの場合スケジュールは「トップ ダウン」で決まります。つまり、経営陣がペースとスケジュールを設定します。アジャイル開発では、チームが自分たちで組織化します。プロダクト所有者が示す優先順位とチームの処理能力に基づき、チームが自らスケジュールを立てます。
スクラム マスターと開発マネージャーは、経営上層部と個々の開発チーム間の組織的ギャップを埋めます。企業のゴールに向けて最適な品質のソフトウェアを実現するために、チームや個人を最適化します。また、スクラム マスターと開発マネージャーは、機能の複雑化 (フィーチャー クリープ)、ウォーターフォールのアンチ パターン、部門間での衝突、副次的プロジェクトによるチームの真のゴールからの逸脱といった外部からの妨害要因からもチームを守ります。
Both scrum masters and development managers typically work with multiple agile teams. Let's see how they work with each team in larger agile portfolios.
開発マネージャーとは?
Development managers are key participants in agile organizations and their role is substantial. They're responsible for the quality of the product, from code architecture to end-user quality. They engage in code reviews to ensure team members are contributing code that meets the short and long-term goals of the program, and because they're so close to the team they're usually influential in the technology choices for the program. Combined, this proximity to the process and product allows dev managers to communicate context internally for the team and to the larger organization.
Great development managers are team builders, and that starts with hiring. Development managers drive the hiring process and are well positioned to do so because:
- 採用は時間がかかり、チームの活動に支障をきたす
- 候補者探しは優れた製品の開発から逸脱している
- 新規採用者をチームに迎える際の負担を軽減できる
つまり、開発マネージャーが募集と採用を引き受けることで、チームがプロダクトに専念できるのです。
また、開発マネージャーはパートナーやメンターの役割も担います。1 対 1 の面談、フィードバック、コーチングといった管理の基本を熟知しているからです。そして優れた開発マネージャーは、メンターとしてエンジニアを指導し、アイデアやコード、テスト、文化といった成果を挙げます。ときには、アーキテクチャ設計やブランチ戦略まで、さまざまな意思決定を巡ってチームに混乱が生じることもあります。そのような場合、優秀な開発マネージャーは適切なタイミングを見計らって介入するか、チームに任せて解決方法を学ばせるのです。
アジャイル チームとウォーターフォール チームの大きな違いの 1 つは、開発マネージャーが見積もりプロセスのパートナーであることです。ウォーターフォール チームでは、このような会話がまったくないわけではありません。
- 「このフィーチャーのデリバリーにはどれくらいかかりますか?」- マネージャー
- 「6 週間です。フィーチャーを実現するために、A、B、C を行う必要があります」- エンジニア
- 「なるほど。わかりました。ただ、4 週間ですべてを完了する方法を見つける必要があります。」- マネージャー
しかし、アジャイル開発マネージャーは優秀な人材を雇い、その人材を信頼することを知っています。アジャイル プロセスの基本原則は、仕事を最も近くで見ている人間がスコープの設定とデリバリーに最も適しているということです。チームはスケジュールを設定します。開発マネージャーは、見積り演習で行われた前提条件の照会と検証に独自の価値を追加します。それを指示するのではなく、プロセスでパートナーを組みます。
アジャイル組織では、「4 週間で完了する方法を見つけてください」というような言葉を聞くことはありません(もしこのような意味のことを言うにしても、匂わせる程度です)。
スクラムマスターとは?
Scrum masters are project leaders in an agile team who focus on optimizing performance, working between the product owner and the team to ensure consistent, successful sprints. Scrum masters also own cross-team coordination so that the core team can focus on product development.
The goal of the scrum master is to keep everyone efficient and on the same page. As a result, the scrum master coordinates most of the inputs and outputs required for an agile program. He or she drives the agile ceremonies of sprint kickoff, daily stand-ups, sprint review, sprint retrospective, and works with the team and development managers to estimate larger items like epics and individual user stories in the backlog. The scrum master may not be as technical as the rest of the team, so the development manager can step in to lend valuable context between the scrum master and the team when a knowledge gap appears. As the team matures in it's application of agile, the scrum master focuses less on estimation and more on optimizing the velocity of delivery.
また、大規模組織ではスクラム マスターがアジャイル コーチとしての役割も担います。ストーリー ポイントの見積もり、スプリント計画、継続的なデリバリーという製品ライフサイクル全体を通して、アジャイル プラクティスを導入して使いこなせるように支援します。コーチングもスクラム マスターの重要な役割です。スクラム マスターはアジャイル エキスパートとして、プロジェクトや企業になぜアジャイルが適しているのかを理解しており、アジャイルの導入に苦労している企業を支援できます。
アジャイルポートフォリオにおいては、スクラムマスターと開発マネージャーが協力して取り組む
Most waterfall teams are manager-centric. They look to managers to set priorities, track progress, and evaluate performance. By contrast, agile teams are self-organizing teams that own their roadmap and delivery. To make this work for larger organizations, scrum masters and development managers work together to build an agile culture throughout the organization and act as a buffer between teams and C-level management. Since both roles work across multiple agile teams, they are key members of the agile portfolio.
スクラム マスターはチームのアジャイル導入と実装に、開発マネージャーは適切な人材の採用、既存のチームメンバーの指導、各チームの優れた開発文化の構築に取り組みます。両者が協力して、優秀なアジャイル チームを育成します。