TDD Boot Camp in TokyoにUstream参戦してみた(講演・LTのみ) #tddbc
このエントリを書いている現時点ではTDD実践が行われている(Ustream配信でもその模様が放映されている)のですが、午前中の和田さんセッション&LT、午後のLTについて自分なりにつぶやいた内容・情報をまとめてみようかと思います。(並べただけとも言う)
実際に現場に参加した訳では無いですし、ましてや実演はUStream映像を眺めているだけ。という現状ですが、それだけでも十分に得るもの、TDDの面白さは体感出来たと思います。
実際に参戦・体験された方々のエントリがこの後続々UPされる事でしょうし、内容に関してはそちらの方々のものがより濃くなっているかと。それまでの繋ぎとしてこちらのエントリを御覧頂ければと思います(笑)
勉強会のTogetterは以下。大きな流れはこちらをご参照下さい。
以下自分のつぶやき一覧及び関連URL等。
TDD講演
下記のスライドは当日(7/9)のモノではないですが、内容的にはほぼ同じものかと。
- TDD Boot Camp
- View more presentations from Takuto Wada
- 視聴者も50人を超えてきましたね〜 #tddbc posted at 10:34:54
- 婦警さん云々 #tddbc posted at 10:37:07
- 参加者の9割きのこ本所有ってすげ〜な。 #tddbc posted at 10:38:45
- WEB+DB PRESS Vol.63|gihyo.jp … 技術評論社 http://t.co/pb8QRpH #tddbc posted at 10:40:09
- Boot Camp = 集中して訓練・マスター #tddbc posted at 10:41:08
- 途切れた〜 #tddbc posted at 10:41:32
- 復活した〜 #tddbc posted at 10:42:09
- コードレビュー大会=他の人がどんな解法で解いているのかを知る事が出来る(業務ではそういう機会は中々無い)ので一番勉強になる #tddbc posted at 10:43:43
- 東京1.6と横浜は是非とも参加したいな〜。 #tddbc posted at 10:44:58
- やはりgit/mercurialは大事/便利なんだね〜 posted at 10:48:02
- 3本柱=バージョン管理/テスティング/自動化 #tddbc posted at 10:48:44
- 人間は人間にしかできないことに時間を使いましょう。単純作業は機械に任せる #tddbc posted at 10:49:21
- 三脚椅子のメタファ=相互に補完し合う技術 #tddbc posted at 10:51:23
- 『テスト』という言葉に対して想像している範囲は人それぞれ異なる #tddbc posted at 10:52:17
- バージョン管理、テスティング、自動化・・・全部1つのテーマで十分Boot Camp出来るし(既にしていますね)、是非ともしてみたいですね。 #tddbc posted at 10:53:51
- 開発テスト、顧客テスト、QAテスト #tddbc posted at 10:54:38
- 今回和田さんが話すのは『Developer Testing』。 プログラマが行う部分 #tddbc posted at 10:55:39
- RT @kiy0taka: おぉ、今月末にGroovyな勉強会があるぞ!http://t.co/9bD4ZRF #tddbc posted at 10:55:59
- 『テスト駆動開発入門』はオススメの書籍。これを見て和田さんも凹む事があるらしい・・・ #tddbc posted at 10:56:39
- 動作する、きれいなコードへ。 綺麗な設計→綺麗な実装→綺麗なコードと教わってきたし、信じ込んでいた。だけど綺麗な設計って何? #tddbc posted at 10:58:27
- 動作する方向に持って行って、それを綺麗にする(リファクタリング)/まさーるさんに教わった道筋。 #tddbc posted at 10:59:47
- テストを書く→red→通るコードを書く→Green→リファクタリング、の繰り返し。 #tddbc posted at 11:01:13
- TDDと黄金の回転! #tddbc posted at 11:01:44
- #tddbc 黄金の回転モデル、引用は『ジョジョの奇妙な冒険 スティルボールラン』。 posted at 11:03:03
- ひとつずつ、少しずつ、ひとりずつ。 #tddbc posted at 11:05:25
- 1対多を、1対1の連続にしよう #tddbc posted at 11:06:13
- テスト駆動開発で宮本武蔵が出てくるって、興味深いな〜。 #tddbc posted at 11:06:42
- すばやくまわす。テスト(書く・実行・リファクタリング)のサイクルは早ければ早い程良い。 #tddbc posted at 11:07:38
- 自分が最初のユーザである:『私作る人、あなた使う人』の考えだと一生フィードバックが戻ってこない場合もある。 自分が使いにくいってコードは人が使いたいと思わない。自分が最初に使う側に回る。 #tddbc posted at 11:09:58
- 道具にこだわる:効率超重要。思考速度をコーディング速度に近付けていく。その為のこだわり。プロフェッショナルとしては道具にこだわって欲しい。 #tddbc posted at 11:11:57
- 不安をテストに:開発者が開発促進のために、自分が不安に感じてるところをテストしよう。プログラマーの不安には濃淡がある。問題を小さく切り取り始末し不安を取り除く事で開発を前に進める。自分の不安の量は他人とは違う。 #tddbc posted at 11:14:22
- 祈るのではダメ:こういう気持ちにならないための状況が必要。そのためにテストが命綱。3本柱全部重要。 #tddbc posted at 11:15:57
- 視聴者が100人を超えている! #tddbc posted at 11:16:13
- 不安を克服して書いたテストコードが命綱、セーフティネットとなる。 #tddbc posted at 11:17:08
- テストは目的ではなく手段 #tddbc posted at 11:18:24
- 和田さんは講演の合間にRedBull飲んでるのだろうか。 #tddbc posted at 11:19:24
- 変化に対応出来るのは健康体のコード。 #tddbc posted at 11:19:50
- 変化に対応できるのは健康体のチーム・健康なプログラマ。 #tddbc posted at 11:21:19
- 毎日レッドブル飲まないとくらせないとか、そういうのはダメだw(自嘲気味に) #tddbc posted at 11:21:57
- 不安の克服、健康の維持がテスト駆動開発の真の目的である。 #tddbc posted at 11:22:26
- 事例の紹介:テスト駆動開発に関する調査論文(2008) #tddbc posted at 11:22:59
- バグの減り具合70〜90%減って、元の品質どうなんだ・・・w #tddbc posted at 11:24:51
- TDD導入効果(エリクソン他)被験者に対してアンケートを実施。→デバッグ工数を減らす/要求が洗練される/コードの品質を上げる/開発工数を減らす など。 #tddbc posted at 11:27:08
- なぜ開発工数が減ったと感じたのか→デバッグ工数が減ったから。デバッグは当てモノ。 デバッグに費やす時間は見積もるのが難しい。 #tddbc posted at 11:28:33
- 色々な所に色々な粒度のテストがあるので、デバッグが楽に。 #tddbc posted at 11:29:44
- 最近はテストコードを書くだけでデバッグを使わずに済んでいるらしい。デバッグ用途にデバッガは使わない。和田さんとのペアプロでデバッガを使うと怒られるw #tddbc posted at 11:30:56
- 応用編:テストの無いコードが既に沢山ある #tddbc posted at 11:31:25
- Amazon.co.jp: レガシーコード改善ガイド (Object Oriented SELECTION): http://t.co/EBd5TZO / これだけで1つイベント出来る。 #tddbc posted at 11:32:41
- 応用編:既にデータの入ったDBがある #tddbc posted at 11:33:19
- Amazon.co.jp: データベース・リファクタリング: スコット W アンブラー, ピラモド・サダラージ, 梅澤 真史, 越智 典子, 小黒 直樹: 本 http://t.co/m4Ev7Fj #tddbc posted at 11:34:16
- テストが脆い:黄金の回転を行いたいのに上手く行かない/テストが遅い→Amazon.co.jp: xUnit Test Patterns: http://t.co/LMBgG5J 800P超の『鈍器』。実はWikiの内容を書籍化したものだったりする。 #tddbc posted at 11:37:10
- これかな?書籍化の元となったWikiって。 / index at XUnitPatterns.com http://t.co/KNIgEau #tddbc posted at 11:38:36
- 紹介のあった書籍はTDDを嗜む者としては全て必携書だな〜。 #tddbc posted at 11:40:35
- RT @heroween: 「Growing Object-Oriented Software, Guided by Tests 」http://goo.gl/56VRs 読書会もあるよ。http://bit.ly/rbnnIw #tddbc posted at 11:40:51
- ん〜、Ustで講演観ているだけでもガンガンモチベーションが刺激されるなぁ。 #tddbc posted at 11:42:47
- 迷ったら写経! #tddbc posted at 11:42:57
- Twitter / @t_wada: 技術書の「写経」の方法。 1.ローカルで使える SC ... http://t.co/8wGpCSn #tddbc posted at 11:43:41
- 『そろそろ誰かがハッシュタグで貼り付けてくれる・・・』って便利なフレーズですね #tddbc posted at 11:44:26
- テスト駆動開発はスキルです。才能ではない。練習すればするだけ向上する。量は質に転化する。迷ったら写経!もしくは人とペアプロ。 #tddbc posted at 11:45:43
- 和田さんの講演終了。PCディスプレイから講演会場に向かって拍手。 #tddbc posted at 11:46:35
- Ustでも抜群のクオリティ。皆にお勧めしたい動画ですな。 #tddbc posted at 11:48:38
言及のあった書籍/Web

- 作者: ケントベック,Kent Beck,長瀬嘉秀,テクノロジックアート
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2003/09
- メディア: 単行本
- 購入: 45人 クリック: 1,058回
- この商品を含むブログ (162件) を見る

レガシーコード改善ガイド (Object Oriented SELECTION)
- 作者: マイケル・C・フェザーズ,ウルシステムズ株式会社,平澤章,越智典子,稲葉信之,田村友彦,小堀真義
- 出版社/メーカー: 翔泳社
- 発売日: 2009/07/14
- メディア: 大型本
- 購入: 45人 クリック: 673回
- この商品を含むブログ (157件) を見る

- 作者: スコット W アンブラー,ピラモド・サダラージ,梅澤真史,越智典子,小黒直樹
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2008/03/26
- メディア: 単行本
- 購入: 10人 クリック: 211回
- この商品を含むブログ (53件) を見る

Growing Object-Oriented Software, Guided by Tests (Addison-Wesley Signature Series (Beck))
- 作者: Steve Freeman,Nat Pryce
- 出版社/メーカー: Addison-Wesley Professional
- 発売日: 2009/10/12
- メディア: ペーパーバック
- 購入: 3人 クリック: 76回
- この商品を含むブログ (32件) を見る
LT
LT:「TDDを採用に至った経緯と期待することを経営、PM目線で」
- @shirokappa さんのLT! posted at 12:02:56
- TDDはじめました! 質問:経営者/役員/PM,PLの方はいらっしゃいますか? #tddbc posted at 12:03:58
- ひとりでは頑張らないで!TDDは組織で導入しよう! #tddbc posted at 12:04:19
- 得たいもの:経営理念の先にあるもの、ソフトウェアは世界を変えられる。業界の発展、地位向上にも繋がる。 #tddbc posted at 12:05:30
- イノベーション/品質向上/コストパフォーマンス/職場の環境が重要。 #tddbc posted at 12:06:23
- 自己教育では実現出来ないことをどれだけ職場の環境で対応出来るか。 業務への関心/ISMS,ITIL/ペアプロ/アジャイル・・・組織じゃないと出来ない事、経験、共有。 #tddbc posted at 12:07:30
- テスト駆動開発はじめました。 @t_wada さんを招いてます。 #tddbc posted at 12:07:58
- @heroween さんが映ってる! posted at 12:08:29
- WHY?→塹壕よりTDD、エンジニアを助けたい、状況を脱却したい(=動かないソフトウェア) #tddbc posted at 12:09:34
- 属人的永年保守からの脱却。 #tddbc posted at 12:09:58
- 極限肥大試験工数からの脱却。 社員のモチベーションは落ちるし良い事無い。 #tddbc posted at 12:10:30
- 『薄氷を踏む思い』からの脱却。一瞬で死ねるならまだその方が良いw #tddbc posted at 12:11:06
- 安心感の獲得。 #tddbc posted at 12:11:16
- @heroween 一足先にスライドでデビューですねw posted at 12:11:36
- 『攻めの姿勢』の獲得。 #tddbc posted at 12:11:50
- 『今の自分』への信頼獲得。 #tddbc posted at 12:12:04
- コード・品質・価値の共有の獲得。 #tddbc posted at 12:12:35
- こんだけ色々なメリットがあるTDDなので、TDDは是非組織で導入しよう! #tddbc posted at 12:13:07
- 自律・協働・実践。聞いたことは忘れる/見たことは覚える/やったことは理解する。 @shirokappaさんの好きな言葉で〆。 #tddbc posted at 12:14:12
LT:「gitのおはなし」
- @tomy_kaira さんのLT。 Gitのいろはについて。 #tddbc posted at 12:15:46
- Gitとは/バージョン管理について質疑応答等々。 利点:おかしくなった時に戻せる。 #tddbc posted at 12:17:08
- Gitも勉強しないとな〜。#scmbc にも参加出来そうだし。 posted at 12:17:54
- 速習Gitの使い方について説明。 #tddbc posted at 12:19:34
- RT @ayako119: 朝会→SVN移行(CVSからの脱却)→Maven→UnitTest→ペアプロ・TDD→Jenkins→Mercurial #sjc11 posted at 12:19:55
- RT @t_wada: いま講演されている Git の LT の資料はこちら http://t.co/Bp520cR #tddbc posted at 12:27:14
- RT @t_wada: git reset --hard がシェルの履歴に残っているとヒヤッとしますね #tddbc posted at 12:30:33
- Git学ぶ上で非常に取っ付きやすそうな資料でしたね。後で落として見てみよう。 #tddbc posted at 12:32:27
こちらのLTに関しては早速資料が挙げられていたのでリンクしておきます。
LT:「テストとかアジャイルとか言いはじめて1年が経過した結果」
- @hirocast さんのLTがそろそろ始まりそうです。 #tddbc posted at 13:29:06
- テストとかアジャイルとか・・・の話はしません。 #tddbc posted at 13:32:32
- 人類ペアプロ計画 #tddbc ペアプロで重要なルールを伝授。 posted at 13:33:05
- ペアプロを取り巻く現実:エライ人が『やれ!』→暴走→活動停止(あれ?)→どうにかなってそのまま終了→次もループ・・・ #tddbc posted at 13:36:05
- クリアすべきハードル:せめて楽しく仕事を。 #tddbc posted at 13:36:32
- 話す:ペアプロ相手と話そう。 ・・・スキル・能力・展望・ゴールなど/選択肢の提案・連帯/タスクを解決したことを祝福 #tddbc posted at 13:37:38
- 余計なアプリは終了、全神経を目の前のタスクへ。2人のプログラマの能力を衝突・解決。 #tddbc posted at 13:38:55
- 勇気:正しいと思うか?必要か?/助けを求める/知らない事を認める #tddbc posted at 13:39:20
- 分からない事を分からない・・・って言うのは、歳を追う毎に難しくなってきますね〜。意識して認めていきたいものです。 #tddbc posted at 13:40:40
- 休憩重要:全身全霊は疲れる/サボりではない、怠けでも無い。/必要な力を、もう一度取り戻す。 #tddbc posted at 13:41:24
- 1+1<2。 やっぱ真剣に考える、力を振り絞ると疲れるんだね・・・ #tddbc posted at 13:42:03
- TDDBCに臨む際は知らない事バリバリ出てくるだろうけど、『知ってる』と言える風にスキルを高めて行きたいところもあるよね。 勉強する上で大いにモチベーションになる。 #tddbc posted at 13:43:30
LT:「ケントベックの「テスト駆動開発入門」で勉強して業務で使った事例」
- TDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめ
- View more presentations from Kei Sawada
- @remore さん:TDDを実践してわかったTDDつまづくあるあると、自分なりの乗り越え方まとめ。 #tddbc posted at 13:45:30
- "TDDは分析技法および設計技法” #tddbc posted at 13:47:26
- TDD簡単だお!(3ヶ月前)→現実を知る事に。 現実と乗り換え方を発表。 #tddbc posted at 13:48:00
- ※この物語は割とノンフィクション、らしい。 #tddbc posted at 13:48:20
- 3つの障害・・・(1)レガシーコード山脈(テストコードのない実装) #tddbc PHP/10万行、テストコード0。 posted at 13:49:54
- つまづくあるある・・・山を目の前にして戦意喪失→我流でGO!正解を見つけるのは難しい。失敗して躓きながらプラクティスを作って行く。 Model/Controller/Viewから #tddbc posted at 13:51:06
- テストフレームワークを使って、絶対失敗しないフィクスチャを作る setUp()/tearDown()等を用いる。 #tddbc posted at 13:54:05
- (2)生産性の谷・・・書いてる内に時間が掛かる、開発速度が落ちてそれをリーダーにに指摘される。テストコードを書くと開発が遅くなって戦意喪失。 これはとにかく経験を積むしかない。 #tddbc posted at 13:58:03
- 運用編、環境構築について。開発効率が下がった分は残業してでも同じパフォーマンスを出す覚悟も。 #tddbc posted at 13:59:12
- テストコードは1メソッドに対して1テストするだけでも違う。 #tddbc posted at 13:59:40
- 費用対効果についても色々考えるようになった。 #tddbc posted at 14:00:37
- (3)自己満足の砦・・・無関心と自身喪失に満ちた砦。意外に多くの勇者が一人で燃え尽きてるんじゃないか説。『TDDやってるんだぜ』→『ふ〜ん』/ずっとレッドのままだと(数十分でも)辛い。 掛けた努力の割に報われないと思い込んでしまう。→誰かに話す。弱音を打ち明ける。 #tddbc posted at 14:02:41
- 成果を上手にアピールするのも効果あり。勉強会でLT、ブログを書いて反響を頂いたりも良。 #tddbc posted at 14:03:33
- リズムが壊れたからと行って自分の能力が低い訳じゃない、と開き直れるか。現実と向き合えるか。 #tddbc posted at 14:04:13
- 読んでおくべきTDD関連のソース:三周遅れのXP http://t.co/168eD8W #tddbc posted at 14:05:30
- アジャイル侍読書会などのお知らせで〆。 #tddbc posted at 14:06:06
TDD Boot Campの合間(昼休み)には2011/07/31開催予定のTDD Boot Camp 1.6 in Tokyoの募集告知も行われ、1〜2時間で定員30名が埋まるというこちらも瞬殺事態に。TDDは相変わらずに人気ですね。(募集告知開始を虎視眈々と狙っていたので、1.6には無事参加出来そうです。)
また、LTの合間に、書籍『アジャイル侍』に関する読書会が今後各地で開催される方向である、というお話もあった模様です(渋谷・新宿・湯島)。こちらも要チェックですね。
午後のペアプロ実演の模様はUstreamでも放送(主に音声のみ。映像は若干引き気味の映像を固定アングルで)されていましたが、その模様を見ていて、やはり実践形式を積んで『TDD慣れ』しておいた方がより楽しめそうだな、という感覚を抱きました。この辺はBoot Camp系ならどのテーマでも共通してそうな感じですね。
TDDBC 1.6開催まで約3週間、出来る限りの事はこなして臨みたいところです!