カンバンは製造業でその概念が確立され、その後、「リーン」や「スクラム」などの方法論とともにソフトウェア開発チームによって採用された。カンバンの原則をソフトウェア開発で実践する方法を解説する。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
「カンバン」はソフトウェア開発で確立された概念ではないが、今日では多くの開発チームが採用する方法論になっている。
カンバンとは、ジャストインタイムという考え方に重点を置いてプロセスの効率を上げることを目的に製造業で生まれた概念であり、大量の在庫を管理するコストの削減や品質の向上を図るものだ。
アジャイルソフトウェア開発の基礎となっているのが、カンバンと同じ考え方だ。
2001年に「アジャイルソフトウェア開発宣言」と12カ条の原則が公開されたとき、ソフトウェア開発チームはこれを利用して、ウオーターフォールモデルのような柔軟性に欠け、時間のかかる方法論だけでなく、アジャイルの反復可能なソフトウェア開発手法(「スクラム」や「リーン」のようなソフトウェア開発)を目的に合わせて採用するようになった。反復可能なソフトウェア開発手法により、開発を少しずつ進めることで、外的環境の変化を開発の優先順位に組み込むのに必要な柔軟性が確保される。
スクラム方式では、バックログの調整、スプリント計画、毎日のスタンドアップミーティング、スプリントのレビューやレトロスペクティブ(振り返り)といった一連の取り組みがある。それぞれの作業は段階的に進められる。このアプローチによって、コラボレーションや開発速度は改善される。だが、スプリントのコミットメント(確約)を変更するのは難しい。つまり、柔軟性には制限がある。
リーンソフトウェア開発は、製造業のカンバンとの直接的関係が深い。2003年にトム・ポッペンディーク氏とメアリー・ポッペンディーク氏は、共同で執筆した書籍『Lean Software Development:An Agile Toolkit』(リーンソフトウェア開発:アジャイルツールキット)の中で、バリューストリームマッピング(VSM)などの概念を当てはめ、無駄を排除し、可能な限り迅速にソフトウェアをリリースするプルアプローチ(クライアントのニーズに基づく作業の管理)に注目した。リーン方式にはメリットもあるが、意思決定のプロセスが難しくなる可能性がある。
ソフトウェア開発手法としてのカンバンは、スクラムやリーンの原則の影響を受け、この両方式の欠点にある程度対処している。
カンバン、スクラム、リーンは競合するアプローチではなく、組み合わせて利用できる。カンバンは、プロセス全体の作業の流れをカンバンボード上で目に見える形で表現することで、スクラムやリーンのアプローチを改善する。
作業の流れが目に見えることで柔軟性が向上し、スクラムでのスプリントコミットメントにまつわる難しさが解消される。進行中の作業(WIP:Work In Progress)の管理効果を高めるために、カンバンボード上にはいわゆるスイムレーン(レーン)が追加される。
各レーンは、チーム、クライアント、仕事などの種類別に整理できる。プルアプローチによって、作業の効率が上がり、無駄が少なくなる。
カンバンは、作業を整理して管理するプルシステムで、以下の4つの原則と6つのコアプラクティスを土台に構築されている。中心となる原則とコアプラクティスを念頭に置いてカンバンを実装すれば、柔軟性が高く、効率に優れ、効果の高いソフトウェア開発手法になる。
Copyright © ITmedia, Inc. All Rights Reserved.