最近社内ラジオみたいな活動をしていて、その中で「僕たちはなぜスクラムをやっているのか」って話題が出た。いろいろな話や意見が出て、割と盛り上がって、その場で何か答えが出たわけではないのだけど、自分の中ではタイトルの通り、「スクラムやってなかったわ」ってとこにたどり着いた。
このブログの中では、「スクラムをやる」って表現がよろしくないよねってのはいったん横に置かせていただきます。僕も普段は気をつけてるよ。「スクラムを実践する」とか言ってるよ。でも今回はもうちょっと砕けて考えをまとめたいのもあるし、実際「スクラムをやってる」と思っている人って多いんじゃないかなってことであえてそういう言葉を使わせてもらいます。
僕たちはなぜスクラムをやっているのか
まず話の発端はこの話題だった。こういうの考えるの素敵ですよね〜。
アジャイルマニフェストが誕生して20年以上が経ち、スクラム自体はそのもう少し前に誕生しているのでそれなりに時が経過している。 その中で開発フレームワークとしてスクラムを選ぶことは、とても普通のことになってきている感覚があります。いつぞやのウォーターフォールと同じくらい普通。会社によって程度は違えど、スクラムで開発することに違和感を感じない人が多くなっているのでしょう。つまり、スクラムで開発を進めることに対して「なぜ」と考える機会がなくなってきている。
会社やマネージャーのレイヤーでスクラムを用いて開発を進めることが決定している例も少くないんじゃないかなと。そうなるとますますメンバーは「なぜスクラム」を考えることがいらなくなる。スクラムでやるって決まってるからスクラムでやってる状態ができあがる。 スクラムで開発をする場合に限り上層部への説明が必要だったあの頃を考えるとすごくありがたいが、スクラムでやることが当たり前の人が増えていくことは歴史が繰り返されてるだけなんじゃないかとってときもある。
ってことで、なぜスクラムなのかを考えること(略して「なぜスク」)はすごくいい。
「スクラムでやっている」の「スクラム」って何者?
あーだこーだと話してって、これにたどり着いた。人によって違う。
スクラムといえば スクラムガイド 。現在最新は2020年版。 じゃあ「スクラムでやっている」の「スクラム」と「スクラムガイド」はイコールかというと多分そうじゃない。ん、どゆこと? 「スクラムでやっている」ってのはちょっといろいろ省略されていて、「僕たちはプロダクト開発をスクラムでやっている」ってことだ。この場合、「僕たちのプロダクト開発 = スクラム」ってことだ。でこの「スクラム」がイコール「スクラムガイド」かというと多分そうじゃない。
僕たちのプロダクト開発はスクラムの一部を参考にしている
「スクラムやってる」が指している一番多い部分はおそらくスクラムイベント(スプリント、スプリントプランニング、デイリースクラム、スプリントレビュー、スプリントレトロスペクティブ)のこと。スプリントと呼んでいる1 or 2週間のタイムボックスと、そのはじめにプランニング、終わりにレビュー、レトロスペクティブがあり、毎日デイリースクラムをやっているってことを指していることが多い。主観でしかないが。
じゃあ内容までスクラムガイドに沿ってやってるかっていうと別にそうではなかったりする。 デイリースクラムはやったことの共有になっていてコミットメントへの検査・適応をしてるわけではなくなっている。 レビューはステークホルダーからのフィードバックではなくPOの受け入れ会、レトロスペクティブは今回のスプリントにフォーカスしたふりかえりではない。 リファインメントは日々のアクティビティにしにくいからイベント化してる。それが良いとか悪いとかではなく、「スクラムやってない」。
短い反復期間の中でこういう機会を設けようって意味ではXPにも含まれてるけど、僕たちはなんでか「スクラムやってる」って言ってる。
ロールや作成物を指しているのだろうか。プロダクトオーナーとか、プロダクトバックログとか。いやでもスクラムマスターがいなかったり、開発者ってひとくくりにしていても完全に職能別メンバーだったり、DoDがあいまいなインクリメントだったりすることもある。
三本柱(透明性・検査・適応)を重視しているのか。いやいやほんと透明性なんて残酷で目をつむってしまうよ。 5つの価値基準(確約・集中・公開・尊敬・勇気)をチームの価値基準として行動しているとか。んー。あんまり聞いたことない。
何回も言うけど、良い悪いってことではなくて、僕らはそんなに真剣にスクラムをやっていない。スクラムの一部を参考にしているっていう言い方がしっくりくる。
僕たちのプロダクト開発はスクラム以外も参考にしている
スクラム以外から取り入れている営みもめっちゃある。 例えばストーリーとかストーリーポイントとかは正確にはXPだろうし、スプリント中の作業はカンバンで可視化したりしてる。 ペアプロやCI、リファクタリングもXP由来。 設計・実装・テストを工程に分けてメンバーのアサインも分けてるならウォーターフォールとかを参考にしてる。 プロダクトオーナーはPRDを書いているし、デザイナーやフロントエンドエンジニアは独自のデザインシステムを構築してる。 ユーザーリサーチを欠かさないし、データ分析してデータインフォームドな意思決定をしてる。 モブプロやCD(DeliveryでもDeploymentでも)をしてるし、TDDやATDDをしてる。 実践マッピングしてるし、探索的テストをしてる。
ソフトウェア開発の世界ではいろいろな有用そうなプラクティスがわんさかある。そしておそらくどのチームでも、こういうプラクティスで有用そうなものを自分たちのチームのプロダクト開発にわんさか採用してる。
良いとか悪いとかじゃ本当になくて、そうなの。
スクラムは手段であり目的ではない
で、社内ラジオの中でもこういう話があって、これだけはこの話の唯一の結論だったんじゃないかなって思ってる。
「なぜスクラムやってるのか」っていうのは良い問いに見えて、実はチームをスクラムに固執させてしまっているのではないだろうか。手段だよっぽさを出しつつ、スクラムをやることはぶれてはいけないこと、目的と同じくらいの位置づけで考えさせてしまっている。
自分たちのプロダクト開発を「スクラムやってる」で片付けない
僕なりの結論です。 考えてみると僕たちは「スクラムを"完全に"実践している」わけではなかったし、「スクラム"だけ"をやっている」わけでもなかった。 自戒だけだけど「スクラムやってる」って言葉は自分たちのプロダクト開発を説明することを放棄してたんだなって。
確かにスクラムのプラクティスをベースにしているところは多いだろう。っていっても全体の半分には満たないでしょきっと。 となると「スクラムやってる」って言葉じゃきっと不十分で。僕たちはもっといろいろなことを考えて、いろいろなことを調べて、いろいろなことを実験して、今自分たちに有用なプロダクト開発手法を作り上げてる。でこれからも考えて調べて実験してどんどん姿が変わってく。それをちゃんと伝えられるようにならんといかんなって思いました。
なんか最後感想文だけど、がんばろ。