Slide 1

Slide 1 text

TDD と 認知 Gunma.web #41 @kanayannet

Slide 2

Slide 2 text

今⽇のアジェンダ TDD なぜこれを話す? やりたくない? どうすれば? まとめ

Slide 3

Slide 3 text

TDD

Slide 4

Slide 4 text

ご存知「テスト駆動開発」

Slide 5

Slide 5 text

お約束 テストを先に書く

Slide 6

Slide 6 text

なぜ、これを話す ? 経験上、「認知の歪み」を感じる事が多い

Slide 7

Slide 7 text

どんな歪み ? Why TDD? 動作保証をするため テストコードが仕様書になる 関数の振る舞いを確認するため etc...

Slide 8

Slide 8 text

否定はしないけども ?

Slide 9

Slide 9 text

本当は ? コードのデザインについて考える時間が必要。 スコープを制御するためのメソッドが必要。 ここでいうスコープは... テストを順次グリーンに して、今実装すべき機能を整理するというこ と。 by Kent Beck

Slide 10

Slide 10 text

なぜ「Red 」からなのか? 理由があるはず = 気づかせやすい 気づかせやすい = 認知しやすい

Slide 11

Slide 11 text

「認知の歪み」による反論 動作保証をするため 後で⼈がテストすればいいじゃん テストコードが仕様書になる 仕様書別途⽤意すればいいじゃん 関数の振る舞いを確認するため テストコードじゃなくてもいいじゃん

Slide 12

Slide 12 text

「テスト」という⾔葉の印象 保証する 動作確認する etc...

Slide 13

Slide 13 text

「コード」という⾔葉の印象 別途、書かなくてはいけない ⼯数がかかりそう

Slide 14

Slide 14 text

やりたくない .. というより デメリットを意識してしまう

Slide 15

Slide 15 text

やりたい <-> やりたくない 負けのパターン 対⽴しちゃうだけ

Slide 16

Slide 16 text

やりたくない = デメリット デメリットを取り除く そもそも誤解がある

Slide 17

Slide 17 text

どうすれば ?

Slide 18

Slide 18 text

初⼼にかえる コードのデザインについて考える時間が必要。 スコープを制御するためのメソッドが必要。 ここでいうスコープは... テストを順次グリーンに して、今実装すべき機能を整理するというこ と。 by Kent Beck

Slide 19

Slide 19 text

初⼼を伝えてみる

Slide 20

Slide 20 text

ポイント 相⼿のせいにすると... ⾝構える 「初⼼を忘れちゃダメ」と⾔うだけで... 「初⼼に戻ってみてはどうでしょう?」 と提案する形 「もともと何でしたっけ?」と直接的な⾔い 回しを避けた⽅が良い場合も...

Slide 21

Slide 21 text

対⽴感を出さない 対⽴してる感を出したら負けのパターン 意地になりやすい

Slide 22

Slide 22 text

まとめ TDD やりたくない理由あるある そもそも⾏き違いが起きている感 ⾏き違い( 誤解) を紐解く 対⽴しない

Slide 23

Slide 23 text

伝えやすい⼈々 新⼈さん 無垢 学⽣さん 無垢 PG 書いている⼈ 感覚が伝わりやすい

Slide 24

Slide 24 text

啓蒙活動しどころ ( 価値が⾼そう ) マネジメントやってる⼈

Slide 25

Slide 25 text

というかですね なぜこのLT やったかというと...

Slide 26

Slide 26 text

⽂章にすることで 頭が整理される

Slide 27

Slide 27 text

Like TDD 似てるね

Slide 28

Slide 28 text

Welcome Your LT ⾶び込みも歓迎です。

Slide 29

Slide 29 text

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