なぜはじまらない?テスト駆動開発 - 日本spiコンソーシアム · 2019-10-16 ·...
TRANSCRIPT
![Page 1: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/1.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
なぜはじまらない?テスト駆動開発〜認定スクラムデベロッパーと考えるレガシーコード改革〜
クリエーションライン株式会社
DevOps Team小坂 淳貴
![Page 2: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/2.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
はじめに
2
![Page 3: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/3.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
テストや自動テストに期待して来られた方
本内容では上記について一切お話はございません。がっかり感を提供したいという想いはございませんので、今すぐご退出の上、他のご講演へご参加ください。
テスト駆動開発(TDD:Test-Driven Development)はソフトウェアの開発手法です。テスト手法ではございません。
3
![Page 4: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/4.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
けど、できればたくさんの方に届けたい
• TDDは、「理解は容易、習得が困難」です。• 私は実践してみて、初めて効果を理解しました。
4
![Page 5: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/5.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
けど、できればたくさんの方に届けたい
• TDDは、「理解は容易、習得が困難」です。• 私は実践してみて、初めて効果を理解しました。
この時間が終わる頃に
今すぐ実践してみたい!もっとうまく出来るようになりたい!
と、一人でも多くの方にご興味をお持ちいただけることを心から願ってお話させていただきます。よろしくお願い致します。
5
![Page 6: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/6.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
本題
6
![Page 7: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/7.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
自己紹介
製造業出身です
7
![Page 8: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/8.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
自己紹介
製造業出身です
8
本日のメイン
![Page 9: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/9.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
自己紹介
製造業出身です
9
レガシーコード
![Page 10: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/10.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
レガシーコード?
10
![Page 11: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/11.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
「レガシーコードとは、単にテストのないコードである」 レガシーコード改善ガイド マイケル・C・フェザーズ (著), ウルシステムズ株式会社 (監修, 監修) 2009/7/14 翔泳社
レガシーコードとは
11
![Page 12: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/12.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
ソフトウェアはハードウェアより硬い・・・
12
https://slide.meguro.ryuzee.com/slides/98
![Page 13: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/13.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
テスト、書いてますか?
• テストできないコードは、設計を見直せるかもしれません。• テストがあるコードは、リファクタリングを容易にします。• 「コードの行数が増えるけど機能が追加される訳じゃないから、生産性
が低くなる。」というのはきっと間違いです。
13
テスト可能なソースコード
出力入力
![Page 14: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/14.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
TDDって?
14
![Page 15: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/15.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
Red→Green→Goldの反復
https://www.slideshare.net/t_wada/the-spirit-of-tdd/27
15
![Page 16: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/16.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
Red→Green→Goldの反復
https://www.slideshare.net/t_wada/the-spirit-of-tdd/27
16
テストファースト
![Page 17: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/17.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
Red→Green→Goldの反復
https://www.slideshare.net/t_wada/the-spirit-of-tdd/27
17
テストファースト
(の前に まずは設計)
![Page 18: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/18.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
Red→Green→Goldの反復
https://www.slideshare.net/t_wada/the-spirit-of-tdd/27
18
テストファースト
(の前に まずは設計)
ベイビーステップ
![Page 19: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/19.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
Red→Green→Goldの反復
https://www.slideshare.net/t_wada/the-spirit-of-tdd/27
19
テストファースト
(の前に まずは設計)
ベイビーステップ
XP
XPXP
![Page 20: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/20.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
XPって?
20
![Page 21: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/21.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
エクストリームプログラミング
• Kent Beck氏らによって提唱されているソフトウェア開発手法。• 価値、原則、プラクティス
21
https://images-fe.ssl-images-amazon.com/images/I/51QDy-s%2BFFL.jpg
![Page 22: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/22.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
エクストリームプログラミング
• Kent Beck氏らによって提唱されているソフトウェア開発手法。• 価値、原則、プラクティス• ビジネス側と開発側が一緒に働く
22
https://images-fe.ssl-images-amazon.com/images/I/51QDy-s%2BFFL.jpg
![Page 23: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/23.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
エクストリームプログラミング
5つの価値
23
フィードバック
コミュニケーション
勇気 シンプリシティ
リスペクト
![Page 24: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/24.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
エクストリームプログラミング
24
『エクストリームプログラミング』(2015/6/26 Kent Beck (原著), Cynthia Andres (原著), 角 征典 (翻訳) 翔泳社) 図3 プラクティスのまとめ
プラクティス:XPの価値や原則を伴った実践方法。状況に応じて適用するプラクティスを選択する。
![Page 25: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/25.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
継続的インテグレーション
25
フィードバック
コミュニケーション
勇気 シンプリシティ
リスペクト
『エクストリームプログラミング』(2015/6/26 Kent Beck (原著), Cynthia Andres (原著), 角 征典 (翻訳) 翔泳社)
“インテグレーションのステップは予測できるものではないが、プログラミングよりも時間のかかることが多い。インテグレーションに時間がかかれば、その分だけコストは上がり、予期しないコストも増えてしまう。”
![Page 26: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/26.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
フィードバック
コミュニケーション
勇気 シンプリシティ
リスペクト
ペアプログラミング
“ペアプログラミングとは、2人でプログラミング(および分析、設計、テスト)とプログラムの改良を同時に行うやりとりのこと”
26
『エクストリームプログラミング』(2015/6/26 Kent Beck (原著), Cynthia Andres (原著), 角 征典 (翻訳) 翔泳社)
![Page 27: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/27.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
フィードバック
コミュニケーション
勇気 シンプリシティ
リスペクト
ペアプログラミング
“ペアプログラミングとは、2人でプログラミング(および分析、設計、テスト)とプログラムの改良を同時に行うやりとりのこと”
• 「タイピング出来る文字数が減るから、生産性が低くなる。」というのはきっと間違いです。
27
『エクストリームプログラミング』(2015/6/26 Kent Beck (原著), Cynthia Andres (原著), 角 征典 (翻訳) 翔泳社)
![Page 28: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/28.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
フィードバック
コミュニケーション
勇気 シンプリシティ
リスペクト
ペアプログラミング
“ペアプログラミングとは、2人でプログラミング(および分析、設計、テスト)とプログラムの改良を同時に行うやりとりのこと”
• 「タイピング出来る文字数が減るから、生産性が低くなる。」というのはきっと間違いです。• 行数が多いコード例:冗長で凝集性が低いコード ←品質が低い
28
『エクストリームプログラミング』(2015/6/26 Kent Beck (原著), Cynthia Andres (原著), 角 征典 (翻訳) 翔泳社)
![Page 29: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/29.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
エクストリームプログラミング
• Kent Beck氏らによって提唱されているソフトウェア開発手法。• 価値、原則、プラクティス
• 続きは書籍で・・・
29
https://images-fe.ssl-images-amazon.com/images/I/51QDy-s%2BFFL.jpg
![Page 30: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/30.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
モブプログラミング(※XPではない)
30
https://www.slideshare.net/hiranabe/mob-programming-and-the-power-of-flow-agilejapan2018keynote
![Page 31: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/31.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
モブプログラミング?
31
![Page 32: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/32.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
モブ:群衆
http://www.ourkidsmom.com/wp-content/uploads/2012/08/334309.jpg
32
![Page 33: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/33.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
モブ:群衆
http://www.ourkidsmom.com/wp-content/uploads/2012/08/334309.jpg
33
A day of Mob Programminghttps://www.youtube.com/watch?v=p_pvslS4gEI
![Page 34: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/34.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
〜 If you want to go fast, go alone. If you want to go far, go together. 〜
個々 vs 複数人でのプログラミング例
34
時間 時間
ソロ x2
ペア
コード行数
品質
![Page 35: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/35.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
〜 If you want to go fast, go alone. If you want to go far, go together. 〜
個々 vs 複数人でのプログラミング例
35
時間 時間
ソロ x2
ペア
コード行数
レビュー待ち
品質結合
仕様誤り
総合試験
![Page 36: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/36.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
〜 If you want to go fast, go alone. If you want to go far, go together. 〜
個々 vs 複数人でのプログラミング例
36
時間 時間
ソロ x2
ペア
品質
コード行数
レビュー待ち
品質結合
仕様誤り
コード行数
総合試験
![Page 37: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/37.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
〜 If you want to go fast, go alone. If you want to go far, go together. 〜
個々 vs 複数人でのプログラミング例
37
時間 時間
ソロ x2
ペア
品質
コード行数
品質
技術的負債
コード行数
![Page 38: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/38.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
なぜペアプログラミングで生産性が高まるのか
• ソースコード同士の結合リスクが減る• 継続的インテグレーションも重要• (結果的に)コードレビューが不要になる
• 仕様誤りなどに気づきやすくなる• 設計書の解釈が異なっているので誰かに確認、などのタスクも発生
するトリガーとなる• お互いのスキルを学び合い、成長する etc...
38
![Page 39: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/39.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
なぜペアプログラミングで生産性が高まるのか
• ソースコード同士の結合リスクが減る• 継続的インテグレーションも重要• (結果的に)コードレビューが不要になる
• 仕様誤りなどに気づきやすくなる• 設計書の解釈が異なっているので誰かに確認、などのタスクも発生
するトリガーとなる• お互いのスキルを学び合い、成長する etc...
• (実は凄くサボりにくくなる)
39
![Page 40: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/40.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
なぜペアプログラミングで生産性が高まるのか
• ソースコード同士の結合リスクが減る• 継続的インテグレーションも重要• (結果的に)コードレビューが不要になる
• 仕様誤りなどに気づきやすくなる• 設計書の解釈が異なっているので誰かに確認、などのタスクも発生
するトリガーとなる• お互いのスキルを学び合い、成長する etc...
• (実は凄くサボりにくくなる)
40
勇気が必要!
![Page 41: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/41.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
作り続けることの素晴らしさ
顧客へ価値を
素早く継続的に届ける
41
時間
品質
コード行数
いつでも出荷可能な品質
![Page 42: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/42.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
作り続けることの素晴らしさ
顧客へ価値を
素早く継続的に届ける
42
時間
品質
コード行数
いつでも出荷可能な品質
いつでもリファクタリング
![Page 43: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/43.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
作り続けることの素晴らしさ
顧客へ価値を
素早く継続的に届ける
43
時間
品質
コード行数
いつでも出荷可能な品質
いつでもリファクタリング
いつでもTDD
![Page 44: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/44.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
(再掲)Red→Green→Goldの反復
https://www.slideshare.net/t_wada/the-spirit-of-tdd/27
44
テストファースト
(の前に まずは設計)
ベイビーステップ
![Page 45: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/45.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
最高の製品を最高のチームで!!
45
![Page 46: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/46.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
まとめ
46
![Page 47: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/47.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
最高のプロダクトをTDDと共に
• TDDは開発手法テスト手法ではない
• レガシーコードから脱却するカギはTDDにある
• 創り続けられるチームは最強!
47
![Page 48: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/48.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
(再掲)Red→Green→Goldの反復
https://www.slideshare.net/t_wada/the-spirit-of-tdd/27
48
テストファースト
(の前に まずは設計)
ベイビーステップ
![Page 49: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/49.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
2019年だからこそ日本語で読める最強3冊
49
https://images-na.ssl-images-amazon.com/images/I/51hsd-b1RTL._SX350_BO1,204,203,200_.jpg https://images-na.ssl-images-amazon.com/images/I/51Y2mtMUYwL._SX351_BO1,204,203,200_.jpghttps://images-na.ssl-images-amazon.com/images/I/51b6F71fTCL._SX350_BO1,204,203,200_.jpg
![Page 50: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/50.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
ご静聴ありがとう
ございました!!50
![Page 51: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/51.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
(質疑応答)
51
![Page 52: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/52.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
2019年だからこそ日本語で読める最強3冊
52
https://images-na.ssl-images-amazon.com/images/I/51hsd-b1RTL._SX350_BO1,204,203,200_.jpg https://images-na.ssl-images-amazon.com/images/I/51Y2mtMUYwL._SX351_BO1,204,203,200_.jpghttps://images-na.ssl-images-amazon.com/images/I/51b6F71fTCL._SX350_BO1,204,203,200_.jpg
![Page 53: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/53.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
参考:GitLab
Gitへコミット→CI/CDまで全自動で実施出来るお手軽ツールチケットやカンバンのような機能もある
53
![Page 54: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/54.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
最新は2017
参考:スクラムガイドhttps://www.scrumguides.org/docs/scrumguide/v2017/2017-Scrum-Guide-Japanese.pdf
54
![Page 55: なぜはじまらない?テスト駆動開発 - 日本SPIコンソーシアム · 2019-10-16 · テストや自動テストに期待して来られた方 本内容では上記について一切お話はございません。](https://reader031.vdocuments.mx/reader031/viewer/2022011822/5ece40ffd9590e4d3f3276ae/html5/thumbnails/55.jpg)
Copyright ⓒ2019 CREATIONLINE, INC. All Rights Reserved
参考:アジャイルマニフェストhttps://agilemanifesto.org/iso/ja/manifesto.html
この宣言は、この注意書きも含めた形で全文を含めることを条件に自由にコピーしてよい。
55