yigarashiのブログ

学んだことや考えていることを書きます

開発手法「カンバン」について学んだ 〜スクラム実践者の考察を添えて〜

自分のチームでスクラムからカンバンへ移行する機運が高まっており、本格的な取り組みに向けてザッと勉強したのでまとめる。

カンバンとは

カンバンとはトヨタ生産方式に由来するソフトウェア開発手法(ないし、より広く適用可能なプロジェクト管理手法)のことである。ソフトウェア開発の文脈では「スクラム」や「エクストリームプログラミング」と同じ箱に入っている言葉と捉えると良い。具体的には以下のような手法である。

  • ボードにバリューストリームを表現しそこに仕事の状況を可視化する
    • 「TODO」「DOING」「DONE」などのレーンがありアイテムが並んでいるものを想像すると良い。カンバンという手法を離れて、そういったボードだけで「カンバン」と呼んで使っている現場も多くあるだろうし、「スプリントボード」といった名前で運用している現場もあるだろう。とにかく、よく使われているあのボードを想像すれば良い
  • レーンごとに置けるアイテムの量を制限する(WIP制限)
    • カンバンはリーンやアジャイルを志向した手法である。リードタイムを短縮しフロー効率を高めるために、各レーンに置けるアイテムの量を制限する。たとえばDOINGレーンのWIP制限が4で、DOINGレーンに既に4つのアイテムがあるとしよう。このとき新たなアイテムを持ってきてDOINGに入れることはできない。DOINGに入っている自分の仕事を先に終わらせるなり、他の人を手伝うなりして、まずはDOINGレーンを空ける必要がある。このようにフロー効率を高める振る舞いがWIP制限によって自然に導かれる
    • この制約を満たすようにボードを更新しようと思うと、アイテムの移動は自然と「プル型」になる。つまりバリューストリームの下流から上流のアイテムをプルする形でレーンの状態を更新する。プルできる条件は「下流側がWIP制限に当たっていない && 上流側に完了条件を満たしたアイテムがある」である。このいずれかが満たされないことは、そのままフローが詰まっていることを示す
  • デイリースタンドアップミーティングを実施する
    • ボードが見える状態で全員が集まる時間を毎日設けるのはカンバンの明なルールだ。そこでの議題はWIP制限によって明らかになったブロック要因を排除することである。もちろんチームに合わせて他のことを話しても良いが、カンバンとして推奨される議題は限られているようだ

多少関連する話題は残っているかもしれないが、大筋はたったこれだけである。カンバンは非常にルールの少ない開発手法だ。スクラムもルールの少ない小さなフレームワークと宣伝されることが多いが、その比ではない。WIP制限というたったひとつの仕組みによってフロー効率に目が向くようになっているのはとても巧妙で面白く感じる。

スクラム実践者から見たカンバン

多くのスクラム実践者がカンバンに移行するモチベーションは、スプリントのタイムボックスの制約ではないかと予想する。他のスクラムのパーツは概ねカンバンに馴染むのだが、スプリントだけはJust-In-Time方式のカンバンに馴染まない。ここがふたつの手法の決定的な違いではないだろうか。スクラムでは計画のタイミングによって制約されていたリードタイムを、カンバンは理論値まで短縮することを可能にする。これが機能したチームを見てみたい気持ちは間違いなくある。

一方で、これまでスクラムをやってきた自分からすると、やはりルールの少なさが目を引く。うるさく言われずに済むと喜ぶ声もありそうだが、チームが機能し安定して素早くデリバリーすることに責任を負う立場としては難しさの方が先に立つ。カンバンから見ればスクラムのルールは多いが、それでも絶対的な量としては多い印象はなく、著しい無駄がある感触もない。スクラムによってチームに実装されていた多くの機能を、自分たちで実装し直す必要が出てくるはずだ。制約が少ないほど、自由なほど難しいということだ。

たとえば私が参照した「今すぐ実践! カンバンによるアジャイルプロジェクトマネジメント」では、ボードに分析フェーズを置くことを推奨している。これはスクラムにおけるリファインメントやスプリント計画に相当するだろう。実現したい事柄について、設計し、分解し、情報を展開して分担できる状態を維持するのは依然として重要になる。WIP制限をトリガーにしてそうした処理をオンデマンドに発火させる必要がある。

ふりかえりやスプリントレビューもカンバンでは規定されていない。ふりかえりは、WIP制限による詰まりを潰していれば常にふりかえりをしているのと同じ、スプリントレビューは顧客との対話を維持し常に最新の状態を触らせたらOK、といった論で押し切られているが、その程度でうまくいくのかという点について私は懐疑的である。

それぞれうまく行くまで手を打つというだけの話なので、だからといってカンバンはダメだという話をするつもりはない。しかし、スクラムの実践で価値を確認した仕組みそれぞれについて思考を要求されるのは、ルールが少ない手法を選ぶ代償として意識的になるべきだろう。このギャップを意識して軟着陸させることが重要になる。とはいえ、前述の書籍でもスクラムからカンバンへの移行については1章を割いて論じており、「かんばんとスクラム 両者のよさを最大限ひきだす」でも両者の差分が存分に論じられている。スクラムからカンバンへの移行は頻出の話題で、集合知から多くの支援を受けることができるだろう。