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
410
生成AIの使いどころ
kanayannet
0
170
github copilot と 心理的安全性
kanayannet
0
210
FW と ライブラリ の考え方
kanayannet
0
230
TDDと今まで
kanayannet
0
560
個人開発 稼げなくてもいいアプリ
kanayannet
0
530
システムの堅牢性
kanayannet
0
300
Agile的学習方法
kanayannet
0
290
GUIをエンジニアが考える
kanayannet
0
260
Other Decks in Programming
See All in Programming
Microsoft Orleans, Daprのアクターモデルを使い効率的に開発、デプロイを行うためのSekibanの試行錯誤 / Sekiban: Exploring Efficient Development and Deployment with Microsoft Orleans and Dapr Actor Models
tomohisa
0
220
開発チーム・開発組織の設計改善スキルの向上
masuda220
PRO
15
8.8k
未来を拓くAI技術〜エージェント開発とAI駆動開発〜
leveragestech
2
180
Understanding Ruby Grammar Through Conflicts
yui_knk
1
140
TDD 実践ミニトーク
contour_gara
1
200
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
300
エンジニアのための”最低限いい感じ”デザイン入門
shunshobon
0
130
AIエージェント開発、DevOps and LLMOps
ymd65536
1
350
オープンセミナー2025@広島「君はどこで動かすか?」アンケート結果
satoshi256kbyte
0
220
レガシープロジェクトで最大限AIの恩恵を受けられるようClaude Codeを利用する
tk1351
3
1.4k
AIコーディングAgentとの向き合い方
eycjur
0
240
Azure SRE Agentで運用は楽になるのか?
kkamegawa
0
320
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
570
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Music & Morning Musume
bryan
46
6.8k
The Pragmatic Product Professional
lauravandoore
36
6.8k
Embracing the Ebb and Flow
colly
87
4.8k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
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 ⾶び込みも歓迎です。
ご清聴 ありがとうございました。