dackdive's blog

新米webエンジニアによる技術ブログ。JavaScript(React), Salesforce, Python など

認定スクラムマスター研修(CSM)で学んだこと

だいぶ前ですが、2/13-15 に認定スクラムマスター研修を受けて、無事認定スクラムマスターになりました。

f:id:dackdive:20190405022421p:plain:w100

こないだ社内でも報告会をやったんですが、ここにも学んだこととか思ったことをメモしておきます。
研修の内容についての詳細はあまり書かれてません。(別にバラされて困ることない、って講師の方はおっしゃってましたが)


認定スクラムマスター研修 (CSM) について

いくつか運営団体があるようですが、自分が受講したのは Scrum Alliance という非営利団体が管理しているやつです。
Odd-e Japan という会社から申し込みました。

講師はエバッキーこと江端さんで、この方は唯一の日本人の認定スクラムトレーナーです。


学び

スクラムマスターはチームの誰よりも論理的に物事を考えられなければならない

個人的に一番誤解していてショッキングだったのがこれ。
3日間の研修中、本当に論理的思考力を要求されました。

理由は後述。


スクラムとは「プロジェクトの現状把握をするためのフレームワーク
  • 一般にフレームワークとは「課題発見」の手助けとなるものと「課題解決」の手助けとなるもの(あるいはその両方)があるが、スクラムは前者
    • もっと言うと、発見されたものを課題とみなすかどうかまでチームに委ねられている
  • 課題を解決するのはチームのメンバー。スクラムが解決してくれるわけではない

...という話を聞いて、前もネットで似たようなこと聞いたなーと思ったら ryuzee さんのこのツイートでした。


世に出回っている「スクラム」に関する本は、ほぼ「チーム(開発メンバー)」目線で書かれたもの。スクラムマスターの目線で書かれた本はほとんどない
  • スクラムに登場する3つの役割として「プロダクトオーナー」「チーム(開発チーム)」「スクラムマスター」があるが、各役割から見たスクラムは全く別モノ
    • 責任範囲が違うので
    1. じゃあ、スクラムマスター目線でスクラムを学ぶには?
      1. スクラムアジャイル開発が生まれた背景にある学問を学ぶ。「組織論」と「集団心理学」

優れたスクラムマスターというのは、極論言うと「「チームの目的にスクラムがマッチしてなかったらスクラムを辞め、別の手法をとる」ことを提案できないといけない。
そのためにはスクラムがどういう背景で生まれたのかとか、その他の手法について熟知してないといけない。
「何がなんでもスクラムをやる」はスクラムマスターじゃなくてスクラムスレーブ(奴隷)。


スクラムチームの3つの役割と責任
  • プロダクトオーナー
    • 投資対効果(ROI)を最大化する
  • チーム(開発チーム)
  • スクラムマスター
    • プロダクトオーナーやチームが目的を達成する確率を最大化する

※ROI や生産性の定義(何を分母分子とするか)は目的によって異なる

すべて「最大化」なのがポイント。常に過去より良くする活動を続ける責任がある。


2つの責任:Accountability と Responsibility
  • 未来に対する責任が Responsibility(説明責任)、過去に対する責任が Accountability(実行責任)
  • 例:熱々のやかんに手を触れようとしている子供と、その親がいて
    • 親が子に向かって「やけどするから危ないよ!」と注意喚起するのが Responsibility
    • 子がそれでもやかんを触ってやけどしてしまったら、それは子の Accountability
  • スクラムマスターが背負うのは 基本的に Responsibility のみ
    • プロダクトオーナーやチームは Accountability も Responsibility も持つ
  • 実行責任を伴わない分、スクラムマスターがプロダクトオーナーやチームに対して行う提案には非常に重みがある
    • 誰よりも「なぜそうすべきなのか」を論理的に説明できないといけないし、その提案は関係者の次の行動に影響を与えるので大きな責任が伴う
    • かつ、スクラムマスターが行うのはあくまで「提案」であって「指示」ではない。提案を受け入れるかどうかはプロダクトオーナーやチームに委ねられている

なので、スクラムマスターには常に現状から一歩先の未来を見通す能力が必要。チームと同じ時間軸で物事を考えているだけでは不十分。
未来に向かって今取るべきアクションを論理的に考え、他人に説明し、納得してもらった上で対象者の行動を変えていかなければならない。
※何がなんでも自分の意見を採用してもらう、というわけではない。提案を納得してもらった上で、チームが別の選択を取るということも受け入れなければならない。その場合はそこでの選択を受けて事前に描いていた未来を描き直し、次の提案に向けてすぐに動き出さなければならない。


自律的なチームに必要な要素
  • 目的が明確
    • できていたかどうかの判断が人によってぶれない
  • 境界線が明確
    • やっていいことと悪いこと、判断基準がはっきりしている
  • 目的を実現するために何をすべきか瞬時に判断し、行動し続けている


(質問)チームが自律的になったらスクラムマスターは不要ですか?スクラムマスターがいないチームというのは健全でしょうか?

これは研修の最中に自分が講師の方にした質問。
今の自分のチームにはスクラムマスターがいないので、それってアリなの?というのが気になっていた。

回答としては「基本的にスクラムマスターが不要になる瞬間というのはないと思って良い」とのこと。

ただ、続けておっしゃっていたのが

スクラムマスターがいなくなることはない。なぜなら、スクラムマスターが関わる対象は
開発チーム→プロダクトオーナーまで含めたスクラムチーム→複数のスクラムチーム→ステークホルダーも含めた「組織」
まで広げていかないといけないから。
逆に言うと、開発チームというミクロな視点で見てスクラムマスターがいないというのは問題だとは思わない

ということだったので、モヤモヤが晴れたとともにスクラムマスターが背負っていうミッションの大きさを再認識させられました。


感想

研修中は課題に対してとにかく論理的に解を出すことが求められ、ちょっとでも理論に穴があると突っ込まれ、停滞する、ということを繰り返した3日間で、本当にきつかったです。
日頃いかになんとなく行動を決めているかを痛感します。

スクラムマスターというとチームが自律的になるための支援をする人、ぐらいの認識だったので、どちらかというと人間力のようなものが求められるのかと思っていましたが
そこが間違いだったことに気づけたのは個人的には一番の学びでした。

また、重要なのは今後自分がどう行動していくか、また自分の行動によって周囲の行動をどう変えていくかだと思いますが
今のところチームでスクラムマスターになりたいと立候補するつもりはなくて、
スクラムマスターとしての考え方を身につけた上で、引き続きチームの1メンバーとしてカイゼンを続けていこうと思っています。