TDD Boo Camp 東京 for C++ を開催させて頂きました #tddbc

10/8にTDD Boot Camp を開催させて頂きました。


リンク:TDD Boo Camp 東京 for C++のWikiページ


TDDBCは、TDDテスト開発駆動を実戦形式で体得するためのイベントで、
私は、7/31にTDD Boot Camp 東京 1.6に参加させていただいた際に、
「これは、もっと周りの人に体験してもらいたい」と思い、開催の名乗りを挙げさせて頂きました。


その後、和田さんやTDDBCのMLの方々、長久さんのお力添えにより、
2ヶ月ちょっとで開催することが出来ました。これもひとえに協力していただいた皆様のお陰です。


実際に開催しての感想ですが、反省点として、大きく2つ感じました。

  • TDDのリズムのお手本を示し忘れた

 これは、ひとえに私のTDDBC力が低い為でした。参加された方々には不十分な構成となってしまい、申し訳ありません。また、中村さんには実演のフォローをして頂き、誠にありがとうございました。

  • 課題が難しかった

 面白い課題をと思い、調子にのってしまいました。今回の課題には次のような思いを込めたつもりでした

    • 一連のストーリーにする:個人的に、全く違うネタをプログラムするのは、練習のための課題の気がして、実際の現場に繋がりそうな課題にしました。最初の方の課題は、実践で意識して使うことはないかもしれませんが、大きな問題を細切れに実装していくプロセスを体験していただければと考えていました。
    • アーキテクチャジャンプが必要な課題を作る:最初の課題は簡単で、適当に作れるのですが、徐々にきちんと作らないと行けない、そして場合によっては作り直しをしなければならない課題にしました。この作り直しの際に、「テストは書きなおさなくても良い」、「テストがあるから安心して書き直せる」ことが実感してもらえればと思っていました。
    • テスト技法が必要な課題とする:これは、井芹さんの資料を先に読ませていただいてから組み込んだのですが、網羅すると場合が多くなるケースを作成して、テストの網羅度についても考えてもらいたいと思っていました。


課題の狙いが示せたかはわかりませんが、経路探索のアルゴリズムの障壁が
こちらが考えていたよりも大きかったので、もう少しステップを細かく分割すればよかったと反省しています。


なお、今回の課題で意識したこととしては、アジャイルな計画作りがあります。
今回は、課題をカードに書いておき、クリアする毎に新たな課題のかかれたカードを渡す形式にしました。
これにより、先の課題を考えて設計をしすぎることを防ぎ、現在の成果物の完成に注力できるように考えました。
先読みしてしっかりと設計するチームもありましたし、課題クリアのためだけの実装するチームもありと、
プロダクトオーナーとしては、様々な展開を見ることができて興味深かったです。


アジャイルとしては、お菓子を用意させて頂きました。重要ですよね。
他には、自己組織化ゲームで席決めをしましたが、これは鉄板で使えそうです。
あと、進捗具合をバーンダウンチャートで書いてみたのですが、今回のやり方では、実習時間の調整で
スケジュール調整ができてしまうので、あまり書く価値を付けられませんでした。反省。


そして、今回のTDDBCでは、チャレンジしたいことがありました。それがGithubの活用です。
課題管理をどこにするか悩んだのですが、Githubを使えば、皆の課題を後で一覧できるのではないかと考えました。
初めてのGitで慣れない方もいましたし、Githubに上げることを強制しなかったのですが、
ワークショップの見せ方としてのGithubの新しい使い方が提案できたのではないかと考えています。


リンク:Githubの履歴グラフ


今回は、誠にありがとうございました。
@t_wadaさんを始め、講演をしていただいた@kaorun55さん、@goyokiさん。
TAとして、参加者の不安を解決してくださった、@tosiwakaさん、@yujioramaさん、@oota_kenさん。
会場を準備してくださって@mnagakuさん。
そして、参加していただいた皆様。
他にも、何人もの方々に応援、協力をいただきました。
次の開催をいつ、どのようなものにするか決めていませんが、よろしければ、今後ともよろしくお願いいたします。