去年の春頃からスクラムを導入したチームでスクラムマスターをやりながら開発者としてバックエンドとフロントエンド(たまにインフラ触る)の実装をしています。
スクラムマスターになった初期の頃は余裕が全然なかったのでイベントをこなすことに精一杯だったのですが、少しずつ余裕が出てきて、改めて「スクラムマスターとしての役割ってなんだっけ?」とか考えるようになり、開発者との兼任の難しさに気づき始めました。
開発者のマインドセットが自己組織化を阻害してしまう
スクラムマスターの役割の一つに「チームを自己組織化させる」というものがあります。
つまりチームに指示を出すのではなく、チームが自ら問題に気付き、改善させる機会を与えることが重要になります。
基本的にスクラムマスターは 観察し、傾聴し、干渉しない ことが良しとされてたりします。
一方で、スクラムには開発チームという役割があり、「スプリントゴールの達成に責任を持つ」必要があります。
スクラムマスターとしてはチームが自己組織化するために、できるだけ干渉しないように、できるだけ自分だけで解決しないように、できるだけみんなに任せるように しなければならないのですが
開発者としてスプリントゴールの達成に責任を持っているので、できるだけゴールに近づける、できるだけみんなが困っていることに手を差し伸べる、自分がやれることはできるだけやる 方向に走ってしまうのです。
他にもイベントのファシリテーションをしているときも、開発者としての責任感が全面に出てしまい、沈黙が起きたときになんでも自分で決めようとしまいがちになります。
開発者にもスクラムマスターのマインドが必要か?
チームのメンバーが自己組織化するためにコミットすることはとてもいいことだとは思いますが、「俺はスプリントゴールを達成する(お客さんに早く価値を届けて改善サイクルを回す)ためになんでもやるんだ!」という、フルスタックエンジニアマインドセットを持っているメンバーもチームには必要になると思っています。
どんだけ職能横断で自己組織化したチームになっても社会に価値を還元できなければまるで意味がないですからね。
むしろ開発者が全員フルスタックマインドになるためにスクラムマスターが環境を整えるまであると思っているので、スクラムマスターのマインドを持つ必要はないんじゃないかなと思ってます。
どうやって両立するのか
これはまだ全然分かってません。
ファシリのときにスクラムマスターに振り切るとか色々試行錯誤しようかなって思ってます。
もしスクラムマスターと開発者両輪MAXパワーでやっているという方がいらっしゃいましたらぜひお話させてください。
ではまた。
(2024/01/23 15時頃 追記↓↓)
兼任をやめたいわけではなくむしろ兼任を極めたい気持ちで書いてます