Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TDDと認知
Search
kanayannet
May 29, 2021
Programming
0
430
TDDと認知
エンジニア組織論の会で発表したLTです。
kanayannet
May 29, 2021
Tweet
Share
More Decks by kanayannet
See All by kanayannet
無関心の谷
kanayannet
0
270
生成AIの使いどころ
kanayannet
0
160
github copilot と 心理的安全性
kanayannet
0
200
FW と ライブラリ の考え方
kanayannet
0
230
TDDと今まで
kanayannet
0
550
個人開発 稼げなくてもいいアプリ
kanayannet
0
520
システムの堅牢性
kanayannet
0
300
Agile的学習方法
kanayannet
0
280
GUIをエンジニアが考える
kanayannet
0
250
Other Decks in Programming
See All in Programming
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
11
3k
AIのメモリー
watany
11
1.1k
코딩 에이전트 체크리스트: Claude Code ver.
nacyot
0
1k
Claude Code で Astro blog を Pages から Workers へ移行してみた
codehex
0
160
202507_ADKで始めるエージェント開発の基本 〜デモを通じて紹介〜(奥田りさ)The Basics of Agent Development with ADK — A Demo-Focused Introduction
risatube
PRO
5
1.2k
Git Sync を超える!OSS で実現する CDK Pull 型デプロイ / Deploying CDK with PipeCD in Pull-style
tkikuc
4
480
The Modern View Layer Rails Deserves: A Vision For 2025 And Beyond @ RailsConf 2025, Philadelphia, PA
marcoroth
2
830
Strands Agents で実現する名刺解析アーキテクチャ
omiya0555
1
110
ソフトウェア設計とAI技術の活用
masuda220
PRO
25
6.9k
JetBrainsのAI機能の紹介 #jjug
yusuke
0
120
AIコーディングエージェント全社導入とセキュリティ対策
hikaruegashira
15
8.5k
Workers を定期実行する方法は一つじゃない
rokuosan
0
130
Featured
See All Featured
Practical Orchestrator
shlominoach
189
11k
Designing for Performance
lara
610
69k
Faster Mobile Websites
deanohume
308
31k
The Pragmatic Product Professional
lauravandoore
35
6.8k
How to Ace a Technical Interview
jacobian
278
23k
The Cult of Friendly URLs
andyhume
79
6.5k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
A Modern Web Designer's Workflow
chriscoyier
695
190k
The Language of Interfaces
destraynor
158
25k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Transcript
TDD と 認知 Gunma.web #41 @kanayannet
今⽇のアジェンダ TDD なぜこれを話す? やりたくない? どうすれば? まとめ
TDD
ご存知「テスト駆動開発」
お約束 テストを先に書く
なぜ、これを話す ? 経験上、「認知の歪み」を感じる事が多い
どんな歪み ? Why TDD? 動作保証をするため テストコードが仕様書になる 関数の振る舞いを確認するため etc...
否定はしないけども ?
本当は ? コードのデザインについて考える時間が必要。 スコープを制御するためのメソッドが必要。 ここでいうスコープは... テストを順次グリーンに して、今実装すべき機能を整理するというこ と。 by Kent
Beck
なぜ「Red 」からなのか? 理由があるはず = 気づかせやすい 気づかせやすい = 認知しやすい
「認知の歪み」による反論 動作保証をするため 後で⼈がテストすればいいじゃん テストコードが仕様書になる 仕様書別途⽤意すればいいじゃん 関数の振る舞いを確認するため テストコードじゃなくてもいいじゃん
「テスト」という⾔葉の印象 保証する 動作確認する etc...
「コード」という⾔葉の印象 別途、書かなくてはいけない ⼯数がかかりそう
やりたくない .. というより デメリットを意識してしまう
やりたい <-> やりたくない 負けのパターン 対⽴しちゃうだけ
やりたくない = デメリット デメリットを取り除く そもそも誤解がある
どうすれば ?
初⼼にかえる コードのデザインについて考える時間が必要。 スコープを制御するためのメソッドが必要。 ここでいうスコープは... テストを順次グリーンに して、今実装すべき機能を整理するというこ と。 by Kent Beck
初⼼を伝えてみる
ポイント 相⼿のせいにすると... ⾝構える 「初⼼を忘れちゃダメ」と⾔うだけで... 「初⼼に戻ってみてはどうでしょう?」 と提案する形 「もともと何でしたっけ?」と直接的な⾔い 回しを避けた⽅が良い場合も...
対⽴感を出さない 対⽴してる感を出したら負けのパターン 意地になりやすい
まとめ TDD やりたくない理由あるある そもそも⾏き違いが起きている感 ⾏き違い( 誤解) を紐解く 対⽴しない
伝えやすい⼈々 新⼈さん 無垢 学⽣さん 無垢 PG 書いている⼈ 感覚が伝わりやすい
啓蒙活動しどころ ( 価値が⾼そう ) マネジメントやってる⼈
というかですね なぜこのLT やったかというと...
⽂章にすることで 頭が整理される
Like TDD 似てるね
Welcome Your LT ⾶び込みも歓迎です。
ご清聴 ありがとうございました。