NakanishiMasahiro
スクラム開発と守破離の思想
見出し画像

スクラム開発と守破離の思想

NakanishiMasahiro

リブセンスの中西です。12月から転職ドラフトの事業責任者をしています。11月までは転職会議でプレイヤー、スクラムマスター、エンジニアリングマネージャーと役割を変えながら約3年間携わっていました。

転職会議がスクラム開発を一部のプロジェクトで導入したのが2018年秋でした。3ヶ月〜4ヶ月という短い期間ではありましたが、無事プロジェクトは完遂。そして年が明けた2019年、転職会議に3つのスクラムチームが発足しました。私はスクラムマスターとして2つのチームに関わることになりました。スクラムマスターとして半年間様々な開発者やプロダクトオーナーと関わり成功体験も失敗体験も積め、社内の他の開発組織にスクラムの知見を共有するに至りました。

今回は転職会議でスクラム開発を採用した歴史や直面した課題とどう解決したのかをご紹介できればと思います。

必要最低限のスクラム用語

本題に入る前に簡単にスクラムの用語や根本の思想に関わる部分を紹介したいと思います。(全てを説明しているわけではない点をご了承下さい。)

スクラム開発におけるロールは3種類あります。

● 開発チーム→どうやって作るかに責任を持つ
● プロダクトオーナー→何を作るかに責任を持つ
● スクラムマスター→スクラム思想の浸透&場が機能していることに責任を持つ

また、スクラム開発にはスクラムイベントと呼ばれる定期イベントが存在します。

● スプリントプランニング→スプリントの計画を立てる
● デイリースクラム→日次ミーティング
● スプリントレビュー→スプリント終了時の関係者を含むレビュー会
● スプリントレトロスペクティブ→スクラムチームの振り返り会

スプリントとは、ある一定の間隔で開発を区切るものです。2週間を1スプリントとしている事例が多いようですが、開発のサイズやチームの進めやすさと相談しながら1週間でも3週間でも大丈夫です。

これからスクラムをはじめるチームは以下の資料が使いやすいと思います。

● The Scrum Guide

なぜスクラム開発を導入したのか

当時の転職会議が抱えている課題は以下のようなものでした。

● お見合いになる
● 情報は降りてくると認識している
● どこまで自分が動けばいいかわからない

思い出すと、私は久しぶりのマネージャー職になって少し全体にも意識を向け始めた頃でした。

転職会議のプロダクト開発に携わっているメンバーはエンジニア・プロダクトオーナーを合わせると約20名くらいの組織規模で、一部では認識齟齬や情報伝達ミス・遅れが発生しており、技術力が足りていないというよりは、業務フローや連携に問題がありそうだなあと思い、3つの明確なロールがあり、常に三位一体で動くスクラムの考えに魅力を感じたのでした。

スクラムの思想の1つである「自己組織化」という言葉も魅力でした。チーム毎にどんどん改善がまわる組織を目指していたため、思想にもフィット感がありました。

スクラム開発の導入

なんとなくスクラム開発について学び、スクラムチームでプロジェクトをスタートしました。スクラムマスターとしてまずは教科書通りに開発チームとプロダクトオーナーにスクラムの思想を理解してもらうべく説明を繰り返す日々が始まりました(スクラムの考えでは、マネージャーがスクラムマスターを兼任することはNGですが、今回のケースでは私自身はSREGという転職会議内で独立したグループのマネージャーでスクラムマスターとして関わっている開発チームはマネジメントラインにはあたらなかったので良しとしました)。

この頃は「見積もりのポイントって何?日数と何が違うの?」という問いにうまく答えられない残念なスクラムマスターでした。きちんと則らないとすぐに道に迷ってしまうのがスクラム開発だと実感でき、エッセンシャルスクラムをはじめとするスクラム本を数冊熟読しました。何度も本を読み返し、毎スプリント改善を重ねていき、ようやく手応えを感じたのがスプリント4くらいでした。

それまでは「まだ完全に附に落ちたわけじゃないんだけど本のとおりにやってみたい」「附に落ちてないところがあったら教えてほしい」と開発チーム、プロダクトオーナーにもお願いしてとにかく見様見真似で進めました。スクラムには振り返りイベントがあるので実行しやすかったように思います。

スクラム開発のモヤモヤ

私が実際に迷った場面はこんな感じです。

●(前述の)見積もりを時間ではなくポイントで行う理由
● 2週間のスプリントでスプリントゴールをうまく定められない
● プランニングポーカーの際に特定の人のポイントに収束してしまう
● スプリントを複数回実施しても見積もりの精度が上がらない

などです。

● 見積もりを時間ではなくポイントで行う理由

開発チームのメンバーにすぐに聞かれました(笑)。わりとあるあるな気がします。ジョン・フォン・ノイマンは見積もりについてこのように語っています。

「自分でもよくわかっていないことを、厳密にしても意味がない」

時間というのは私たちが日常付き合うにはあまりにも厳密すぎます。「Aという開発は1日で終わります」と宣言したが最後、間に合いそうにないことがわかった瞬間本人の心はしんどくなってきますし、周囲も心配になりどう声をかけていいかわからなくなります。

スクラム開発では見積もりを時間ではなく、ポイントで行います。これは絶対比較ではなく、相対比較とも言えます。「AとBの開発どっちが重たそうか?」と開発チームにプロダクトオーナーは問います。そして、開発チームはプランニングポーカーでポイントづけをします。最後に開発チームは見積もった開発を次のスプリントでどこまで実施するかを決めます。スプリントの初回はここまで極端にいえば、すべて勘です。「なんとなくAよりはB、CはAとBのあいだかも?」くらいです。ただし、ポイントの合計値はカウントされているのでスプリントが終わってみるとどれくらいのポイントが消化できいたのかがわかります(ベロシティのことです)。次のスプリントは消化できたポイントをベースにスプリントをまわすので徐々にどの役割の人も「このチームはだいたい2週間でこのくらいの仕事が進む」と共通認識を持てるようになってきます。詳細に時間管理をすると管理コストが莫大になりますが、ポイントにすることで「ざっくり、だいたい」認識が揃うようになってきます。

● 2週間のスプリントでスプリントゴールをうまく定められない

厳密にスクラム開発を運用すると(それこそ数多のスクラム本をバイブルにすると)、「スプリントゴールを明確にすること」と記載されていたりします。明確にできるならそれに越したことはありませんが、スプリントゴールを明確にすることでタスクの優先順位が歪んだり、目的から遠のくのであれば「このスプリントでは明確にするのを諦め、次のスプリントゴールを明確にする」という共通認識を立ててしまうのも手だと感じました。

● プランニングポーカーの際に特定の人のポイントに収束してしまう

こちらはスクラムマスターが注意すべき点です。経験のあるエンジニアに他のエンジニアが同調することはよくあります。一斉にカードを公開するのはもちろんですし(最近ではオンラインでのプランニングポーカーなので対面で起こりうる後出しが起きなくなっています)、「他に疑問はない?」と念押しで確認をしたり、なんだか擦り合ってなさそうだなあと感じたときは意思決定をした人とチケットを起票する人を変えたりすることで認識の再確認が自然に起こるような仕組みを構築することで少しずつ解消されていきました。

● スプリントを複数回実施しても見積もりの精度が上がらない

けっこうな頻度で起こります(笑)。スプリントが進むとスクラムに全員が慣れ、見積もり作業もスピードが上がってきます。同時にこの加速が落とし穴のようにも感じます。私の場合は、基準ポイントを見直すことを都度実施していきました。「2ポイントの認識から揃えませんか?」「あまりにも大きいポイントは分割しませんか?(8ポイントや11ポイント)」と提案し、見直すことで改善されていったように思います。

続いてはスクラム開発と守破離の思想に迫ってみたいと思います。

スクラムマスターの守破離

スクラムの思想を世に送り出した Jeff Sutherland 氏の shu-ha-ri-what-makes-great-scrummaster という記事でスクラムマスターと守破離の関係について述べています。ごく簡単に紹介すると、

● 守 → スクラムの思想をチームに伝搬し、実行するフェーズ
● 破 → スクラムの徹底による生産性改善が見られ、さらなる改善フェーズ
● 離 → スクラムマスターは必要だが、仕事は多くなく、さりげないサポートフェーズ

記事にも紹介されていますが、こちらでも動画を取り上げたいと思います。離のフェーズにあるスクラムマスターがどういう行いをするかといった例になっています。

目の見えないお年寄りの方がダンボールにこのように書いています。「I’m blinc please help」。それを通りかかった女性は「It’s a beautiful day and I can’t see it」と書き換えます。すると続々と手を差し伸べる人達が増えるというストーリーになっています。このストーリーの賛否はともかくとして、離の状態にあるスクラムマスターの行動はこれほどさりげなく、かつこれまでの仕組みを変えてしまうものであると私は理解しています。

禅や能、茶道や武道といくつもの視点から守破離について語っている『守破離の思想』(著:藤原稜三)は守破離についてこのように紹介しています。
ここでは茶道についての箇所を取り上げます。

『山上宗二記』によれば、茶湯の道は、禅の修行と同じもので、十五歳から三十歳までの十五年間は、師の教えに従って、「守」の稽古を続けることに専心し、三十歳から四十一歳までの十年間は、「破」の初段階に当る修行に精進し、四十歳から五十歳までの十年間は、「破」の中段階に当る時期だから、自分の創意工夫の開発に努め、五十歳から六十歳までの十年間は、「破」の最終段階として、師(名人)の所作を究尽再吟味し、次の飛躍へ向かうための準備をしなければならない。こうした修練努力を続けていけば、七十歳を迎える頃には、「離」の段階に入ることができる。しかし、利休のような「離」の人となるのは、甚だ難儀な仕事で、修行努力さえ続けていけば、誰もが「離」の人となれるわけではない。天機(才能)に恵まれ、現世の真相を悟得した良き師匠に巡り会う機会がなければ「離」の人とはなり得ない。

時間軸が長いよ!というツッコミどころはさておきとしても、まずは教えを守り、破では守を踏襲した上での創意工夫を行う、しかし誰もが離の段階へと進めるわけではない。こちらの本を読んでからスクラムにおける守破離に触れると少々安っぽいイメージを持ちましたが、スクラムの思想がチームに伝搬された状況においてスクラムマスターはチームを離れてはないけれど、離れている。という状況なのだと思います。あまり一語に押し込めたくはないですが、「さりげなさ」「こっそり」というイメージを私は持っています。

これからスクラムを実践する方やすでに実践されている方の参考になれば幸いです。では、このへんで!

NakanishiMasahiro
読書と登山と釣りと靴とお酒が好きです。