スクラムマスター 成功のポイント

自分自身の開発経験から、もっと早くからスクラムとスクラムマスターを経験しておけばよかったと思っています。スクラム未経験の方には、この記事がスクラム導入のきっかけとなればば幸いです。また、スクラム経験者の方にとっては、より良いスクラム開発プロセスを考えるきっかけになることを願っています。

私たちは長いソフトウェア開発プロセスの終盤をむかえ、ようやくお客様に製品を届けることができて興奮していました。開発開始時に受け取ったお客様からの要件使用書を元に、何ヶ月もかけて熱心に作業した結果、お客様が求めていたものをすべて実現した素晴らしい製品ができあがりました。

少なくとも私たちはそう考えていました。

残念ながら、それはお客様の求めていたものではありませんでした。私たちの理解に誤解があったようです。いくつかは明確に私たちのせいでした。しかし、いくつかはお客様側に原因があるように感じることもありました。お客様から受け取った要件仕様書を見直してみると、ある事項については仕様に曖昧な部分があることがわかりました。いずれにせよ、ソフトウェアはお客様の要望に応えられず、その場の誰も満足できない結果になってしまいました。

このとき、私は明らかにチームリーダーとして失敗しました。しかし、もし私がスクラムマスターとしてスクラムプロセスで開発していたら、物事は違った方向に進んでいたでしょう。

スクラムやアジャイル開発プロセスを導入したのは、その苦い経験があったためです。いま、私はスクラムの熱狂的なファンになっています。

私がスクラムを好きな理由の一つは、途中でチェックイベントがあるため、間違った機能の開発に何ヶ月も無駄にすることなく、プロセスの非常に早い段階で問題や誤解を発見することができるためです。もしスクラムをずっと使っていたら、何ヶ月もかけて間違った開発をすることはなかったと思います。

スクラムとは?

スクラムは、アジャイル開発のために最も広く使われているプロセス/プロジェクト管理フレームワークであり、チームワークを使って迅速な反復サイクルで製品をリリースすることを重視したソフトウェア開発アプローチです。

Photo by: Smart Works for Upsplash

スクラムマスターとは?

スクラムでは、小さなチームで協力して仕事を進めていきます。スクラムマスターは、スクラム開発チームの「サーバントリーダー」(奉仕型リーダー)です。

「サーバントリーダー」とはどういうことなのでしょうか?従来のリーダーは組織の頂点に立ち、上から指示を出してメンバーにタスクを割り振るのに対し、スクラムマスターはメンバーを下から支える立場です。従来のリーダーと同じように、チームに方向性を示してプロセスをスムーズに進行させていきます。しかし従来のリーダーとは異なり、スクラムマスターは自分の仕事をメンバーに割り振ることはありません。そうではなく、スクラムチームの生産性を向上させるために、全力でサポートすることが仕事です。

スクラムチームには誰がいるのか?

スクラムの教科書によると、スクラムチームは、開発のあらゆる側面に対応できる3人から9人の自己完結型のユニットであるべきだとされています。つまり、あなたのチームはスクラムマスターに加えて、デザインスキル、エンジニアリングスキル、品質保証スキルなどすべてのスキルを一通り備えている必要があります。各機能の専門家が一人ずついる必要はありません。チームのフロントエンド開発者が同時に熟練したデザイナーであったり、プログラマーがテスターを兼務することもあります。

現実のプロジェクトは、教科書に載っているような完璧な世界とは限りません。スクラムチームの中には、10人以上のメンバーがいるチームもあります。会社によってはフロントエンド開発のみに特化したスクラムチームと、バックエンド開発作業のみに特化したスクラムチームがあるかもしれません。しかし、これらは理想的なスクラムチームとはいえません。

スクラムマスターの仕事内容?

スクラムマスターには3つの大きな責任があります。成功するためには、すべてを上手くこなさないといけません。

1.      スクラムチームのミーティングを促進する
スクラムのフレームワークでは、プロジェクトは「スプリント」と呼ばれる1週間から4週間程度の短い期間に分割されます。各スプリント期間中はミーティングが何度も行われます。

スプリントの最初で、スクラムマスターは「スプリント計画」会議をリードします。このミーティングでは、プロダクトオーナーが顧客のニーズを説明し、タスクの優先順位を決めます。その後、あなたのスクラムチームは、各タスクを完了するために必要な難易度と時間を議論し、このスプリント中に実施する項目を選択します。

スプリント期間中、チームは毎朝集まって、各チームメンバーのタスクの状況を確認するための短いスタンドアップミーティングを行います。ここでのスクラムマスターの仕事は、全員がスケジュール通りに進んでいることを確認し、タスクに遅れが生じているメンバーがいる場合には、軌道に乗るようにサポートすることです。

スプリントの最後では2つのミーティングをリードします。「スプリントレビュー」では、プロダクトオーナーまたは他のステークホルダーに向けてそのスプリントで完成した成果物のデモを行います。次に、スプリントの「レトロスペクティブ(振り返り)」ミーティングは、そのスプリントでのプロセスの見直しを行います。何がうまくいったのか、何がうまくいかなかったのか、次のスプリントに向けて何を変えるべきなのかをチームで共有します。

2.      チームメンバーへのコーチング
チームメンバーがスクラムプロセスに慣れていないときは、困っていることを聞き出し、チームメンバーのスピードアップを支援します。また、スクラムの初心者は各イベントの重要性を理解していないものです。スクラムにとって、各イベント(儀式と呼ばれることもあります)がいかに重要であるかを伝え、モラルを高めます。

3.      チームの生産性を守る
これがスクラムマスターの一番難しいところかもしれません。かなり頻繁に、利害関係者や組織の上層部のメンバーが、変更、新機能、新しい優先順位などの要求をチームメンバーにぶつけてきます。言うまでもなく、これらの要求はスプリント内の進行を邪魔します。スクラムマスターとして、高い生産性を維持するためにこれらの要求に対応するのがあなたの仕事です。

多くの経験豊富なスクラムマスターは、優れたコミュニケーション能力と熟練したネゴシエーターです。新しいリクエストを出してくる依頼者に対して、チームのメンバーにではなく、あなたに対して全てのリクエストがくるように「教育」しなければなりません。その後、依頼者と協力して、新しいリクエストの相対的な優先順位を決定し、これらのリクエストを満たすために必要な労力を説明し、必要に応じてタスクの優先順位を再設定します。

スクラムマスターは専任?

最大限の効果を得るためには、1つのスクラムチームに1人の専任スクラムマスターがいることが理想です。熟練した専任のスクラムマスターは、各チームメンバーの生産性を20%以上向上させると言われています。

残念ながら、現実の世界では、スクラムマスターがチームを率いると同時に開発業務も行う「兼務」であることが非常に多いです。あるいは、複数のスクラムチームを同時に見る必要があります。しかし、これらは理想的な状況ではありません。

まとめ

興味を持っていただけたでしょうか。もし、スクラムマスターを目指してみたいと思われたのであれば、手っ取り早くスクラムマスターの業務を学ぶには、資格取得講座を修了するのが一番だと思います。以下の2つの団体が資格取得講座を提供しています。

スクラムマスターはとてもやりがいのある仕事です。ほとんどのスクラムマスターは、その喜びが辛さをはるかに上回ることに気づいています。あなたと、あなたのスクラムチームの成功を祈っています。