Upgrade to Pro — share decks privately, control downloads, hide ads and more …

TDDと認知

 TDDと認知

エンジニア組織論の会で発表したLTです。

18ff61878467cbf8c00be0ccf974645a?s=128

kanayannet

May 29, 2021
Tweet

Transcript

  1. TDD と 認知 Gunma.web #41 @kanayannet

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

  3. TDD

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

  5. お約束 テストを先に書く

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

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

  8. 否定はしないけども ?

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

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

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

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

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

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

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

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

  17. どうすれば ?

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

  19. 初⼼を伝えてみる

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

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

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

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

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

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

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

  27. Like TDD 似てるね

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

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