この国では犬が

本と芝居とソフトウェア

開発者とスクラムマスターを兼任するとつらいし成果も出ない(と思われる)

スクラムチームで開発者をやっていると、開発者としての振る舞いとスクラムマスターとしての振る舞いは違うな、ということを日々痛感します。

開発者をやっていると「スクラムマスターらしい振る舞い」ができない

8 月に認定スクラムマスター研修に参加して、スクラムマスターとして然るべき振る舞いをある程度は理解していると思います。
スクラムマスターの振る舞いはスクラムチームを最大限効果的にする振る舞いなので、開発者とはいえ、できるだけそう努めようとしてみるのですが、開発者として働いていると、それができません。

というより、それをやっていると、開発者としての責任が果たせなくなるので、したくてもできない、というのがより正確かもしれません。

これでは、開発者とスクラムマスターを兼任するとつらいし成果も出ないだろうな、と思います。
幸い、僕のチームでは兼任ではないのですが。

開発者とスクラムマスターの違い

開発者として僕がふだん心がけている振る舞いと、以前参加したスクラムマスター研修で学んだ*1スクラムマスターとしての振る舞いは、日々のそれぞれの場面で、以下のように違います。

場面 開発者としての振る舞い スクラムマスターとしての振る舞い
Daily Scrum 自分の状況や知見を話して共有し、また他のチームメンバーの発話から状況や知見を得る 言語・非言語を問わずチームメンバーのコミュニケーションから状況を把握し、また効果的なデイリースクラムの運用につとめる
Product Backlog Refinement 開発者として PBI への意見や提案・要望を出し、意見交換をしながら理解を深め、自身の考えをもとに見積りを行う プロダクトオーナーと開発者との効果的な意見交換を促進し、メンバーの様子を観察して、限られた時間内で、PBI に対しての学習効果や見積りの正確さのバランスを取りながら、最大限の効果を得ることにつとめる
Sprint Planning コードベースや設計・テスト手法等についての知識を最大限提供しながら、他のチームメンバーの知識も取り入れ、全体として正確で適切に構成された計画の作成につとめる 計画作業の全体を俯瞰し、チームの学習効果や計画の正確さのバランスを取る
Sprint Review 実際にプロダクトを動かしながら説明し、またプロダクトの改善提案を行う 限られた時間内で、プロダクトについて最大の学習効果とすぐれた提案が得られるようつとめる
Sprint Retrospective チームとプロダクトをよりよくするために、何がうまくいっているのか、何が問題なのかといったことを忌憚なく発言し、また他のチームメンバーの発言に耳を傾け、改善のためのアクションに合意する チームが衝突を恐れず意見を交換し、チーム全体で責任を持って改善のためのアクションに合意できるよう導く
日々の開発 開発・テスト・レビューといったタスクに集中して実行する タスクボードの状況や人の動き、会話を観察し、チーム全体として効果的に開発を進められているか、問題やボトルネックがないか探す
全体 開発者としての知識・能力を最大限発揮し、スクラムチーム全体のために有用な意見や考えを主張し、また他のチームメンバーの意見や考えから学ぶ チームのありとあらゆる振る舞いや言語・非言語コミュニケーションを常に観察し、スクラムをより効果的にするために、もっとも適切なタイミングで、もっとも適切な方法をもって介入する

総じて、開発者はアウトプットを最大化することに集中します。短期的なアウトプットを(ほとんど)一手に担っているのが開発者で、開発者がアウトプットしないと何も生まれません。と同時に、開発者として学習します。これが長期的なアウトプットの増加につながります。
一方、スクラムマスターはチーム全体を徹底的に観察し、データを集め、ここぞというときに、これぞという方法で、わずかなアウトプット(チームへの介入)をします。ときには、あえて(短期的には)チームのアウトプットやムードが悪化するようなことも(推進はしないまでも、許容)します。その結果として、(長期的には)チーム全体のアウトプットが大きく改善します。*2

開発者とスクラムマスターを兼任するのはつらい

チームメンバーとしての振る舞い、行動の指向性はスクラムマスターのそれとは大きく違い、重ならない部分が大きく、開発者とスクラムマスターを兼任してはいけない、と言われることの意味がわかります。
おそらく、開発者とスクラムマスターを兼任する方が、2 つのスクラムチームのスクラムマスターを兼任するよりも難しいだろうな、と思います。

同時に重ならない 2 つの目的を持ちながら生活するのは、なかなか苦しいことです。

開発者とスクラムマスターを兼任しても成果が出ない

それをできるのは一種の能力で、相当鍛えればたぶんある程度はできるようになるのでしょうが、どんなにがんばっても、0.5 人弱の開発者と 0.5 人弱のスクラムマスター分の仕事をするのが最大限だろう、と感じます。

スクラムという仕組みは、そもそもそれをしなくてもすむように設計されています。
であれば、素直にその設計に従い、スクラムマスターをフルタイムの仕事とするのがおそらく賢明です。

補足 : プロダクトオーナーについて

なお、このエントリではスクラムのもう一つの役割であるプロダクトオーナーに触れていませんが、それは僕がプロダクトオーナーの経験がなく、十分な知識もないと考えているためです。
とはいえ、想像するだに、プロダクトオーナーとスクラムマスターとの兼任は、開発者とスクラムマスターとの兼任以上に難儀だろうな、と思います。

*1:僕なりにこう理解したということで、必ずしも研修でこの通り説明されていたわけではないので、異論・反論は歓迎します

*2:と、理解しています。スクラムマスターの役割はあくまでスクラムを最大限効果的にすることなので、必ずしも観察することが最善の手段というわけではないかもしれませんが……。