テスト駆動開発とかんばんは似ている、とケント・ベック氏

2010年12月14日

コードを書くときにまずテストから書き始め、そのテストが通るようにコードを書くことで開発を進めていく「テスト駆動開発」。テストファーストとも呼ばれますが、この開発手法と、「かんばん」と呼ばれる、現場の進捗状況をかんばんによって見える化することで、開発プロセス全体の無駄をとり、価値の流れを作り出す手法には共通点が多い、というエントリ「TDD is Kanban for Code」をブログにポストしたのは、エクストリーム・プログラミング (XP) の考案者でアジャイルソフトウェア開発宣言の起草者の一人でもあるケント・ベック氏。

Three Rivers Institute » Blog Archive » TDD is Kanban for Code

この2つにどのような共通点があるのでしょうか?

かんばんとテスト駆動開発

「かんばんの目的は、開発プロセスの中で価値の流れを最大化することだ」とケント・ベック氏。簡単にまとめると、かんばんでは看板を使って各工程を見える化することで、下流工程から上流工程に要求が伝わり、仕掛かりを最小化するといったことです。

かんばんについてはこれまでPublickeyの記事で何度か触れていますので、以下の記事を参考にしてみてください。

一方のテスト駆動開発は、次のような工程からなるとケント・ベック氏は説明しています。

  1. 新たなテストを書く
  2. テストに該当する中身のないコードを書き、まずテストを走らせ、失敗する。
  3. 実装していく
  4. テストに通る
  5. リファクタリングする

そして「もしもテスト駆動開発が、コーディングにおけるかんばんだったら?」と仮定し、次の質問を投げかけています。

看板にあたるのがテスト

ケント・ベック氏の答えはこうです。

コーディングにおける製品にあたるのが、プログラムの振る舞いや機能(原文ではbehavior and options)というのは、直感的に分かります。

看板にあたるのがテストであるとは、ケント・ベック氏は次のように説明しています。

The tests are the kanban cards in this system. Each one is a request for a change of behavior.

テストが看板にあたる。それぞれのテストがプログラムの振る舞いの変更を求めるからだ。

生産現場の看板が下流工程に上流工程からの要求を伝えているように、テストもその結果によって上流工程にフィードバックを提供していると理解できると。

In TDD, the programmer gets feedback in seconds about whether the logic implied by the test is the logic he writes.

テスト駆動開発では、プログラマはテストによってロジックがいいかどうかすぐにフィードバックを得ることができる。

ただし、かんばんにあたはまらないテスト駆動開発の要素もあるとも指摘しています。それは、テストが通ったあとのリファクタリング。テスト駆動開発をしているプログラマは誰でも、テストが通った後でもさらにリファクタリングをしてコードをきれいにしますが、それはかんばんの視点から見ると「仕掛かりを増やしている」ことになるだろうと。

From the kanban perspective, though, post-success refactoring is over-production,

「テスト駆動開発についての理解がまだ途上だからなのか、それともかんばんでの改善余地がまだあるのかは議論の余地が残る」としながらも、おおむねテスト駆動開発はかんばんにあてはまるとケント・ベック氏は結論づけています。

このエントリーをはてなブックマークに追加
follow us in feedly

カテゴリ DevOps / アジャイル開発
タグ  アジャイル開発


次の記事
企業向けマイクロブログ「Yammer」が日本語対応。無料で利用可能

前の記事
グーグルのAndroid戦略の変化を示す、Nexus OneからNexus Sへの変化


カテゴリ



Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed



新着記事 10本


PR - Books


fig

fig

fig