[動画で解説]和田卓人の“テスト駆動開発”講座

第5回 進捗管理としてのテスト

この記事を読むのに必要な時間:およそ 0.5 分

ニコニコ動画:http://www.nicovideo.jp/watch/sm2196976

家永さんからの質問
第3回第4回のCustomer Testのところで「進捗管理」というキーワードが出てきましたが,ウォーターフォールの場合のバラバラで作ってあとで結合でがんばってという,そういう進捗管理とは何か違うんですか?

すみません,そこの説明は省いてしまっていました。本連載は,繰り返し型の開発をイメージして話をしています。

繰り返し型の開発とは?

繰り返し型の開発では,たとえば1年間で何か開発するという場合に,1年間丸々使って最後にあるものができるというようなやり方ではなく,たとえば2ヵ月,3ヵ月ごとにシステムの開発する範囲を区切って,段階的に動くものをお客さまに納品していきます。もしくはお見せしていきます。

要件定義があって,外部設計があって,内部設計があってというフェーズを経る場合でも,それらを1年の間で何ヵ月か要件定義を行って,何ヵ月か設計を行ってというような形で行うのではなくて,1年間を数回に区切って,その数回の区切りの中で一つ一つのフェーズを毎回行っていくのが繰り返し型の開発です。

もう少し具体的な例で説明すると,2ヶ月区切りで1年間かけて顧客管理システムを作る場合,一番最初のリリースでは,ログインして,今ある取引先顧客の一覧を見れるだけの機能だけを作る,というような進め方をします。

その際の,「顧客一覧がこういうデータの場合にはこういう顧客一覧が欲しいね」というような視点のテスト,その機能が通ればそのイテレーション(繰り返しの1単位ですね)は終了しています,機能は満たされていますというような指標となるテストをCustomer Testingと呼んでいるのです。

なぜ進捗管理をテストで行うのか?

ではなぜ進捗管理をテストで行うのがよいのかというと,これはテストというものが,通る/通らないの二値しか持たないからです。

受け入れテストが通っていれば,その機能は満たされています。通っていなければ,どんな理由があってもその機能は満たされていません。このことがハッキリしているので,開発者はそのテストを通すことを目標にプロジェクトを進めていくことができます。

さらにこれは,開発者やお客さまだけではなく,誰が見てもハッキリとわかるしくみですので,進捗管理にテストを使うということは非常に優れています。

次回はテスト駆動開発のマスターの仕方について

今回までで,テスト駆動開発の説明は一区切りです。次回,次々回は,テスト駆動開発のマスターの仕方についてです。

著者プロフィール

和田卓人(わだたくと)

タワーズ・クエスト株式会社 プログラマ 兼 取締役社長。
2003年頃XPやテスト駆動開発に目覚める。後年「チームかくたに」のコーチとしてXPやTDDをチームで行った経験をもとに,『WEB+DB PRESS Vol.35』と『WEB+DB PRESS Vol.37』でTDDやリファクタリングについての巻頭特集を執筆。現在はSeasar.orgのコミッタとしての活動もしつつ,社長として会社を回している。

URLhttp://d.hatena.ne.jp/t-wada

コメント

コメントの記入