More Related Content Similar to Install tdd (20) More from eiji ienaga (6) Install tdd2. 自己紹介
■ 家永英治
□ 永和システムマネジメント
□ アジャイルコーチ(Scrumの導入のお手伝い)
□ 時々、受託開発
!
■ 近年は、Scrum導入に関連して、テストの自動化や
TDDのコツを個人やチームに伝える広めるお仕事も
Copyright (c) 2014 Eiwa System Management, Inc.
2
5. エバンジェリスト(1) [Evangelist]: 小さな成功(2) [Small Successes]: ステップバ
イステップ(3) [Step by Step]: 予備調査(4) [Test the Waters]: ふりかえりの時間
(5) [Time for Reflection]:ティング(7) 結[Brown 論:協ア力をイ求めるデ(6) ア[Ask をfor 広Help]: げブラる
ウンバッグ・ミー
Bag]: コネクター(8) [Connector]: 何か食べながら(9) [Do
Food]: 電子フォーラム(10) [e-Forum]: アーリーアダプター(11) [Early Adopter]:
外部のお墨付ヒき(12) ン[トExternal はValidation]:グループのアイデンティティ(13)
[Group Identity]:達人を味方に(14) こ[Guru れon がYour オSide]: ス空ス間をメ
演出する(15) [In
Your Space]: イノベーター(16) [Innovator]: やってみる(17) [Just Do It]: 感謝を
伝える(18) [Just Say Thanks]: 次のアクション(19) [Next Steps]: 個人的な接触
(20) [Personal Touch]: 便乗(21) [Piggyback]: 種をまく(22) [Plant the Seeds]:
適テ切なス時ト期(自23) 動[The 化や
Right Time]:定期的な連絡(24) [Stay in Touch]: 勉強会(25)
[Study TDDGroup]:にもテ効イラ営層の支持者(28) [く
ーメイド(26) [Tailor Made]:著名人を招く(27) [Big Jolt]: 経
Corporate Angel]:正式な推進担当者(29) [Dedicated
Champion]: アーリーマジョリティ(30) [Early Majority]: 達人のレビュー(31)
[Guru Review]:体験談の共有(32) [Hometown Story]: みんなを巻き込む(33)
[Involve Everyone]:ちょうど十分(34) [Just Enough]: 身近な支援者(35) [Local
Sponsor]: 場所重要(36) [Location, Location, Location]:メンター(37) [Mentor]: 謁
見(38) [Royal Audience]: 相談できる同志(39) [Shoulder to Cry On]: 成功の匂い
(40) [Smell of Success]:勢いの持続(41) [Sustained Momentum]:トークン(42)
[Token]:橋渡し役(43) [Bridge-Builder]: 懐疑派代表(44) [Champion Skeptic]:根
回し(45) [Corridor Politics]: 怖れは無用(46) [Fear Less]:お試し期間(47) [Trial
Run]: 将軍の耳元でささやく(48) [Whisper in the General’s Ear]:
7. TDD のリズム
スキップ
…
(例えば1ヶ月)
Copyright (c) 2014 Eiwa System Management, Inc.
7
red green
設計refactor
実装
ユニット
テスト
テスト
time time
Red Green Refactor のサイクルは 小さくリズムよく
12. ■ コーチは最初に誰へ技能を伝承すべきかを明らかに出来る
(師匠と弟子の関係)
□ 導入の初期に伝えるべき人は、抵抗者ではなく、仲間になってくれそうな人
□ 自分で課題を自覚でき、解決案の選択が出来る人であればGOOD
□ 謙虚に学びができる人であれば、なおGOOD
□ 周りに良い影響を与えることが出来る人であればなおGOOD
■ 対象の候補者が技能を習得できれば、周囲に広めることが
できる(弟子が師匠に)
■ コーチがいなくなっても自動化やTDDの(広める)
活動を維持できる
!
:-( もちろん、抵抗者ばかり見つかって、候補者を発見できずにがっかりすることも
Copyright (c) 2014 Eiwa System Management, Inc.
12
自動化・TDDエバンジェリスト候補
13. まずは
ここ見つけて
Copyright (c) 2014 Eiwa System Management, Inc.
参考
13
https://speakerdeck.com/kawaguti/fearless-change-falsebu-kifang#17
16. インタビュー(ヒアリング)
■ 人別にテスト自動化に取り組んだ結果の嬉しさ
発見できる。整理できる
□ コーチやエバンジェリスト候補は、下記の質問に答えられる状態が望ましい
• 「ビジネス側や開発側や品質保証にとって、普段困っていることは何だろうか?」
• 「困り事が解決した結果の嬉しい状態はなんだろうか?」
• 人によって困り事・嬉しい結果が異なる
• 「自動化やTDDの導入の不安事は?」(どんなアプローチにも副作用はある)
• 「どんな順番で着手すると、嬉しい結果が(早くから)
得られるだろうか?」
■ 親身になって話を聴くことで、信頼関係づくりのきっか
けになる(副次的効果)
!
:-( もちろん、各々の見解があまりにバラバラであったり、誤解から過剰な期待を持ってい
る、無関心であることがわかり、頭を抱えることも
Copyright (c) 2014 Eiwa System Management, Inc.
16
19. 自動化・TDD導入用のゴール設定
■ 取り組むべき問題の定義、解くアプローチの概
要を関係者とすり合わせできる
□ 「自動化」「TDDをやる」自体はゴールじゃないはず
□ 「関係者の現状の困り事や嬉しい状態はなにか?」
->「期待する結果になるようにA,B,Cを実施する」を整理
□ 大まかな実施項目のスケジュールを作成
■ 関係者に協力して欲しいことを伝えること
ができる
!
:-(もちろん、合意できないや協力が得られない結論になる場合も
Copyright (c) 2014 Eiwa System Management, Inc.
19
20. Copyright (c) 2014 Eiwa System Management, Inc.
参考
20
インセプションデッキ
!
協力を求める(6)
テーラメイド(26)
身近な支援者(35)
22. 自動化・リファクタリング対象の優先順位付け
■ 自動化やTDDの効果が見込めそうなものから順番
に取り組むことができる
• バグが頻発しているコンポーネントは?
• ビジネスで重要な機能の使い方は?
• 手動のEnd to Endテストでは確認の手間がかかり過ぎるのは?
• コード・設計が複雑化してメンテナンス性を低下させている箇所は?
• etc
Copyright (c) 2014 Eiwa System Management, Inc.
!
:-(もちろん、当初考えていたよりずっと自動化やリファクタリングする
のに時間かかることを知って落胆してしまうことも
22
23. 小さな成功(2)
ステップバイステップ(3)
Copyright (c) 2014 Eiwa System Management, Inc.
参考
23
テスト自動化戦略
技術的負債
http://blog.codeclimate.com/blog/2013/12/05/refactoring-without-good-tests/
25. ふりかえり
■ 新しい取り組みのうまく行っている点、改善点を
早期に定期的(1週間ごと)に明らかにできる
■ 小さな成功が確認できれば、お祝いするチャンス
■ 経験を踏まえて、次のアクションを明らかにして実
施できる
!
:-(もちろん、失敗の連続で落胆してしまうことも
Copyright (c) 2014 Eiwa System Management, Inc.
25
26. Copyright (c) 2014 Eiwa System Management, Inc.
参考
ふりかえりの時間(5)
小さな成功(2)
次のアクション(19)
26
29. Copyright (c) 2014 Eiwa System Management, Inc.
参考
29
ふりかえりの時間(5)
空間を演出する(15)
次のアクション(19)
学びを記録する
学びを共有する
32. Copyright (c) 2014 Eiwa System Management, Inc.
参考
32
2章 カップを空にする
読書リスト
継続した読書
空間を演出する(15)
35. Copyright (c) 2014 Eiwa System Management, Inc.
参考
35
勉強会(25)
コミュニティイベント
TDD Boot Camp
http://devtesting.jp/tddbc/
練習、練習、練習
38. ミニ・ライブコーディング
■ ペアで作業よりも広くコーチから対象者に伝承できる
□ (周囲の人も見学できる)
■ 設計や(テスト)コードの書き方の良し悪しの判断の
議論が即時できる
□ 近くにホワイトボードを
■ 他人のエディタやリファクタリングツールの使い方や
テストの書き方を真似て学ぶことが出来る
!
:-( もちろん、知識レベルが揃っていて、対象が簡単で一人でも解ける
であれば非効率になる
Copyright (c) 2014 Eiwa System Management, Inc.
38
39. Copyright (c) 2014 Eiwa System Management, Inc.
参考
39
各種技術
コミュニティイベント
のライブコーディング
ペアで開発する
46. エバンジェリスト(1) [Evangelist]: 小さな成功(2) [Small Successes]: ステップバ
イステップ(3) [Step by Step]: 予備調査(4) [Test the Waters]: ふりかえりの時間
(5) [Time for Reflection]:協力を求める(6) [Ask for Help]: ブラウンバッグ・ミー
ティング(7) [Brown Bag]: コネクター(8) [Connector]: 何か食べながら(9) [Do
Food]: 電子フォーラム(10) [e-Forum]: アーリーアダプター(11) [Early Adopter]:
外部のお墨付き(12) [External Validation]:グループのアイデンティティ(13)
[Group Identity]:達人を味方に(14) [Guru on Your Side]: 空間を演出する(15) [In
Your Space]: イノベーター(16) [Innovator]: やってみる(17) [Just Do It]: 感謝を
伝える(18) [Just Say Thanks]: 次のアクション(19) [Next Steps]: 個人的な接触
(20) [Personal Touch]: 便乗(21) [Piggyback]: 種をまく(22) [Plant the Seeds]:
適切な時期(23) [The Right Time]:定期的な連絡(24) [Stay in Touch]: 勉強会(25)
[Study Group]:テイラーメイド(26) [Tailor Made]:著名人を招く(27) [Big Jolt]: 経
営層の支持者(28) [Corporate Angel]:正式な推進担当者(29) [Dedicated
Champion]: アーリーマジョリティ(30) [Early Majority]: 達人のレビュー(31)
[Guru Review]:体験談の共有(32) [Hometown Story]: みんなを巻き込む(33)
[Involve Everyone]:ちょうど十分(34) [Just Enough]: 身近な支援者(35) [Local
Sponsor]: 場所重要(36) [Location, Location, Location]:メンター(37) [Mentor]: 謁
見(38) [Royal Audience]: 相談できる同志(39) [Shoulder to Cry On]: 成功の匂い
(40) [Smell of Success]:勢いの持続(41) [Sustained Momentum]:トークン(42)
[Token]:橋渡し役(43) [Bridge-Builder]: 懐疑派代表(44) [Champion Skeptic]:根
回し(45) [Corridor Politics]: 怖れは無用(46) [Fear Less]:お試し期間(47) [Trial
Run]: 将軍の耳元でささやく(48) [Whisper in the General’s Ear]:
チートシートあるよhttps://github.com/kawaguti/fearless-change-pub/raw/master/Fearless%20Change%20patterns.pdf
47. エバンジェリスト(1) [Evangelist]: 小さな成功(2) [Small Successes]: ステップバ
イステップ(3) [Step by Step]: 予備調査(4) [Test the Waters]: ふりかえりの時間
(5) [Time for Reflection]:協力を求める(6) [テAsk スfor トHelp]: 自ブ動ラウ化ンや
バッグ・ミー
ティング(7) [Brown Bag]: コネクター(8) [Connector]: 何か食べながら(9) [Do
Food]: 電子フォーラム(10) [e-Forum]: アーTDDリーアダにプタもー(効11) く
[Early Adopter]:
外部のお墨付き(12) [External Validation]:グループのアイデンティティ(13)
[Group Identity]:達人を味方に(14) [Guru on Your Side]: 空間を演出する(15) [In
Your Space]: イノベーター(16) [Innovator]: やってみる(17) [Just Do It]: 感謝を
伝える(18) [Just Say Thanks]: 次のアクション(19) [Next Steps]: 個人的な接触
(20) [Personal Touch]: 便乗(21) [Piggyback]: 種をまく(22) [Plant the Seeds]:
適切な時期(23) [The Right Time]:定期的な連ア絡イ(24) デア[Stay をin 広Touch]: めるこ勉強と
会(25)
[Study Group]:テイラーメイド(26) [Tailor Made]:著名人を招く(27) [Big Jolt]: 経
営層の支持者(28) [Corporate Angel]:正式な行推き進担詰当ま者(っ29) た[Dedicated
らこれ!
Champion]: アーリーマジョリティ(30) [Early Majority]: 達人のレビュー(31)
[Guru Review]:体験談の共有(32) [Hometown Story]: みんなを巻き込む(33)
[Involve Everyone]:ちょうど十分(34) [Just Enough]: 身近な支援者(35) [Local
Sponsor]: 場所重要(36) [Location, Location, Location]:メンター(37) [Mentor]: 謁
見(38) [Royal Audience]: 相談できる同志(39) [Shoulder to Cry On]: 成功の匂い
(40) [Smell of Success]:勢いの持続(41) [Sustained Momentum]:トークン(42)
Fearless [Token]:橋渡し役(43) [Bridge-Builder]: 懐疑派代表(44) [Champion Skeptic]:根
回し(45) [Corridor Politics]: Change
怖れは無用(46) [Fear Less]:お試し期間(47) [Trial
Run]: 将軍の耳元でささやく(48) [Whisper in the General’s Ear]: チートシートあるよhttps://github.com/kawaguti/fearless-change-pub/raw/master/Fearless%20Change%20patterns.pdf