TDD Boot Camp 東京 for C++ に参加 (#tddbc)

TDD Boot Camp(TDDBC) - TDD Boot Camp 東京 for C++

なんとなく、時系列で参加に至るまでをだらだらと書きつづり、最後にふりかえることにします。
えっと、TDDBC Tokyo for C++ あんまり関係無い。

はじまり

TDDBC for Tokyo 1.5では一スタッフとして参加。
結局参加者含めて助け合いの精神がすばらしく、スタッフらしいことはほとんどできていませんでした…
Symfony 軍団の結束力に支えられた、と言っても過言では無いでしょう。

炎上するプロジェクト

私はすでに5月頃に精神のメンテナンスが必要な状態となっていたのですが、プロジェクトは続いていた。
そんなプロジェクトの後方支援を続けるものの、これがまたわりと過酷な感じで、連日終電を逃すこともなかば
当たり前になってたりしてた。
チームメンバーのモチベーションも最悪で、週末に宴会して憂さを晴らすことでなんとか持っている状態。

TDDBC for Tokyo 1.5 が開催されたのもまさにそんな中で、徹夜飲みして寝ずに参加するというくらいのものだった。
しかし、TDDBC と RubyKaigi があった(参加できた)おかげで、自分はひたすらに前を見て進む決意をし、実際に進むことができた。

私の生活はまさにこの時期にこれまでとはまったく異なるものとなっていた。
チームメンバーと向き合い、常に前を向き、他の人々を後ろから支える、というものだ。
私は会社で孤立した存在であっても構わないが、笑顔のある開発の現場を作りたい、作ろうと決めたのだ。

鎮火するプロジェクト、しかし火種は他にもあった

時は流れ、8 月に入る頃になると、プロジェクトはようやく実装フェーズに移ろうとしていた。
ここで私は一つの禁を犯した。仕様を完全に把握しているスーパープログラマというロールを演じて、プロダクトコードを一気に書いてしまった。
後付けでユニットテストは揃えたものの、精神的にわりときつい体験だった。

その後の結合テストフェーズでは、これまでに蓄積してきたノウハウとリソースを全部投入して、また、
多くの方々の助けにより、プロジェクトの山場を乗り越えることができた。

この頃の私の行動はかなり奇異なものだった。
自分がこれまでに読んできて面白いと思った本は、わりと社内で紹介してきたつもりだったが、実際に読んでいる人はいなかった。
そこで何を思ったか、達人プログラマー(黒)/情熱プログラマー/アジャイルサムライ/97きのこ本といった読み易い本を中心に、
10冊、20冊単位で購入、配本するという行為に出た。
弊社の社員はおとなしいので、押し付けられたものは基本的に断わらない。
そこで、自分が衝撃を受けた本を読んでもらって同じように衝撃を受けてもらいたかったのだと思う。

そんなことをしているうちに、元々関与していなかったプロジェクトがヒートアップしてきてしまい、
やはり後方支援としてどっぷりと漬かることとなった。

発生

泥沼にも限りがあり、9 月も後半になると大分余裕も出てきた。
一時期まったく睡眠が取れないという症状にもなったが(おかげで GOOS Wiki はもりもり進めた)、この頃は眠れるようになっていた。
ペースダウン。
そんなおりに発生した TTDBC Tokyo for C++。C/cunit や C++/cppunit ではそれなりにコードを書いてきたつもりだったので、
TA として参加させてもらうことにした。
だが、環境は VC++/gtest という未体験なものであったw

仕事の合間に会社のマシンで gtest、家で仮想マシンで gtest、Primer に慣れて、フィクスチャー、Parameterized Test を把握したあたりで
タイムアップ。
当日を向かえることに。

TDD Boot Camp

@さんの課題はとても構造化されたもので素晴らしかった。
構造化すべきかどうかの境目を設けるとか、課題に集中させるためにカードを取りに来るようにするとか、
Scrum マスターすごい、すごいよ。

終えたあとにまたすごさを思い知らされた。
参加者のみなさんの付箋、あれ全部 Wiki にテキスト転記しちゃってた。
これにはびびった。自分は写真もらって分担してやろうと思ってたので、まさか 2 日であの量を...
@ さんは「今までで一番よい設備だった」とおっしゃっていたが、主催者の @ さん本当すごい。

ふりかえり

今回のふりかえりはいわゆる KPT ではなく、「良かったところ」「改善していきたいこと」の 2 テーマだった。
たしかに、継続して続けるものでない場合は、こういうテーマのほうが有意なアイデアになるんだろうなと目から鱗が落ちました。

良かったところ

1.TDDBC のメイン登壇者が脱 @ 依存になった。
@ さん、@ さんといった過去の参加者に継承されていく様子はまさに虎の穴のようでした。

2.多様な職種の参加者が集った。
C++ という言語の主戦場がゲームと組み込みであることは理解しました。

改善していきたいこと

1.Git のマスターリポジトリに参加者のブランチを集めるのはとても面白いと思いました。
後からグラフ状に見れるのとか。
今回は @ さんがすごい分かりやすい手順を作成していたけど、あんまり参照されてなくてもったいなかった。
あのコンテンツは Git 入門として切り出したほうがいいと思いました。

2.TA の最低レベルを維持すること。
自分は赤点でした。一人ですべてがこなせる必要はないけれど、TA が他の TA に頼ってしまうのは駄目だろうと(自分です)。

3.more TDD expresience.
課題は面白いものだったのですが、テストコード自体は比較的平坦なものとなってしまいがちでした。
xUTP のようにパターンを適用するほど複雑なテストが必要になる時点で軽快さは失われているとは思いますが、
アルゴリズムの選択にはまってしまいタイムアップになってしまった方々の様子は残念に尽きる。。