ブランチという名の在庫
仕掛在庫は何かの問題の最初の「いやな匂い」かなって
ただの感想です
最近ぼけーっと思ったのが、少なくとも自分がいまやっているようなスタートアップ風のウェブITプロジェクトは、製造業だなーってことです。いや、いまさらかよって言われそうですけど……。
製造業だとすると、在庫についてなんとなく大学で習ったような気がします。材料在庫、仕掛在庫、製品在庫などなど、在庫にはいろんな種類があって、一概に全部悪いわけでもなくて、減らし方や評価の仕方もさまざまですよって。
特に内製のウェブITプロジェクトでは、サプライチェーン全体がオフィスのブロック一つに収まることも多いですし、きっと見渡しやすいはずなんだと思います。
仕掛り・抱え落ち
先日 Yahoo! Japan さんのペアプロの記事を読んでいたら「仕掛かりを減らす」(送り仮名原文ママ)とおっしゃっていました。
さらに先日書いた自分のブログへのはてブコメントを眺めていたら「仕事の抱え落ちをさせないのがペアプロなんすかね。」とコメントしてらっしゃる方がおられました。抱え落ちって、多分シューティング用語ですよね?敵一掃アイテムみたいなのをもったまま死んじゃうやつ。
僕も、ファシリテーターとしてこの領域の問題解決がとても好きで、一番効くというか、プロセス改善においてコスパが高いと感じていたので、あ、言葉は違うけど、問題意識が同じ人たちがいるもんだなと思いました。
この際ペアプロは手法の一つでしかなくて、解消したい問題のお話です。
在庫の指標
製品在庫は明らかです。マーケティング、広告、グロース、CI、デザインスプリント、いろんなやり方が内製ITプロジェクトの製品在庫を改善する手法として存在しますし、リリースされてないビルドが明らかにそうですし、「リーン・スタートアップ・パッケージ」みたいなものに乗っかっていれば、ぼけっとしてても最初に気がつくのがここではないでしょうか。
材料在庫は、よくわかりません。自分は誰かにここを押し付けているのかも……(あとから kzys さんにジョエルのブログ教えてもらって思ったんですが、もしやこれがプロダクトバックログ?だと捉えると面白いかも……アイデアノートとプロダクトバックログを区別しなよってことか)
で、仕掛在庫です。仕掛在庫を最も簡単かつ効果的に検出できるのは、リモートリポジトリ中にあるブランチです。最近自分はここを、1日(ここはプロジェクトによって任意の日数に読み替えてください)終わったら極力 master しか無い状態にしておくことを心がけて、残っているものは翌朝かならずチーム内で確認するようにしています。
といってもエンジニアが二人しかいないチームでペアプログラミングによってほとんどの開発をしているので、ほぼ無いんですが、こないだ漏れがあって以来そう決めました。
(自分の分だけは、ローカルリポジトリも同じことをして、明日アクションできることがないか、ないなら削除できないか、一人で確認しています)
「別にあったっていいだろ」という気持ちも自分の心の中にあるんですが、ブランチ一覧のS/N比の問題、あるいは仕掛在庫というものが抱えるごく一般的な負債(長いリードタイムなど)であるとか、ずっと置きっぱなしになっているブランチはチーム内のどんなコミュニケーションの問題を表象しているのかとか、取り組んで、考えてみるとなかなかおもしろい対象だと思っています。
そもそもスクラムの向こう側を辿っていけばジャスト・イン・タイムがあるわけで、少なくとも今僕が仕事をしているプロジェクトの世界観では、仕掛在庫は少ないほうがいいよね、ということになります。もちろん、違う世界観では関係ないかもしれないです。
