tdd のこころ @ agile samurai base camp

38
TDDの こころ 和田 卓人 (a.k.a id:t-wada or @t_wada) Dec 8, 2013 @ Agile Samurai Base Camp

Upload: takuto-wada

Post on 04-Dec-2014

10.576 views

Category:

Technology


2 download

DESCRIPTION

at Agile Samurai Base Camp 2013.12.08(Sun) http://www.agilesamuraibasecamp.org/

TRANSCRIPT

Page 1: TDD のこころ @ Agile Samurai Base Camp

TDDのこころ

和田 卓人 (a.k.a id:t-wada or @t_wada)Dec 8, 2013 @ Agile Samurai Base Camp

Page 2: TDD のこころ @ Agile Samurai Base Camp

和田 卓人id: t-wada@t_wadagithub: twada

Page 3: TDD のこころ @ Agile Samurai Base Camp
Page 4: TDD のこころ @ Agile Samurai Base Camp

よろしくおねがいします

Page 5: TDD のこころ @ Agile Samurai Base Camp

こんな風景

Page 6: TDD のこころ @ Agile Samurai Base Camp

荒みきったコード

Page 7: TDD のこころ @ Agile Samurai Base Camp

疲弊しきった現場

Page 8: TDD のこころ @ Agile Samurai Base Camp

爆弾処理のようなリリース

Page 9: TDD のこころ @ Agile Samurai Base Camp

なぜこうなってしまうのか?

Page 11: TDD のこころ @ Agile Samurai Base Camp

左サイドだけでは点は取れない

Page 12: TDD のこころ @ Agile Samurai Base Camp

誰がシステムを作り続ける

のか

Page 13: TDD のこころ @ Agile Samurai Base Camp

TDDとは?

Page 14: TDD のこころ @ Agile Samurai Base Camp
Page 15: TDD のこころ @ Agile Samurai Base Camp

最後に残った4つの章では、私が「問答無用で実践すべき」だと考えているアジャイルなソフトウェアエンジニアリングのプラクティスを紹介していきたい。具体的には次の4つだ。

Page 16: TDD のこころ @ Agile Samurai Base Camp

アジャイルなプログラミング

•第12章 ユニットテスト•第13章 リファクタリング•第14章 テスト駆動開発•第15章 継続的インテグレーション

Page 17: TDD のこころ @ Agile Samurai Base Camp
Page 18: TDD のこころ @ Agile Samurai Base Camp

「動作するきれいなコード」、ロン・ジェフリーズのこの簡潔な言葉は、TDD(テスト駆動開発)の目標である。動作するきれいなコードは、あらゆる理由で価値がある。

─ Kent Beck

Page 19: TDD のこころ @ Agile Samurai Base Camp

動作する、きれいなコードへ

きれい

汚い

(すぐには)動かない 動作する

二つの道がある

Page 20: TDD のこころ @ Agile Samurai Base Camp

TDDのサイクル1. 次の目標を考える2. その目標を示すテストを書く3. そのテストを実行して失敗させる(Red)4. 目的のコードを書く5. 2で書いたテストを成功させる(Green)6. テストが通るままでリファクタリングを行う(Refactor)

7. 1~6を繰り返す

Page 21: TDD のこころ @ Agile Samurai Base Camp

きれい

汚い

(すぐには)動かない 動作する

Red

Green

Refactoring

TDDと黄金の回転

Page 22: TDD のこころ @ Agile Samurai Base Camp
Page 23: TDD のこころ @ Agile Samurai Base Camp
Page 24: TDD のこころ @ Agile Samurai Base Camp

TDDのこころ

Page 25: TDD のこころ @ Agile Samurai Base Camp

一つずつ少しずつ 段を

小さく

Page 26: TDD のこころ @ Agile Samurai Base Camp

ひとりずつ対処する。

複数を相手にしない。

Page 27: TDD のこころ @ Agile Samurai Base Camp

すばやくまわす

Page 28: TDD のこころ @ Agile Samurai Base Camp

自分が最初のユーザ

Page 29: TDD のこころ @ Agile Samurai Base Camp

不安をテストに

Page 30: TDD のこころ @ Agile Samurai Base Camp

命綱を編む

Page 31: TDD のこころ @ Agile Samurai Base Camp

•即座にフィードバックを得るため•書いたコードに自信を持つため•これから書くコードに自信を持つため

TDD や Developer Testing にソフトウェア工学的なメリットはいろいろあるけれど、最大の理由は工学的なものではない。最大の理由は心理的なもの

Page 32: TDD のこころ @ Agile Samurai Base Camp

テストは目的ではなく手段

Page 33: TDD のこころ @ Agile Samurai Base Camp

TDDの真の目的

Page 34: TDD のこころ @ Agile Samurai Base Camp

健康

Page 35: TDD のこころ @ Agile Samurai Base Camp

変化に対応するのは健康体のコード

Page 36: TDD のこころ @ Agile Samurai Base Camp

変化に対応するのは健康体のチーム

Page 37: TDD のこころ @ Agile Samurai Base Camp

不安の克服健康の維持

Page 38: TDD のこころ @ Agile Samurai Base Camp

プロとしての嗜みへ

ご清聴ありがとうございました