TDD Boot Camp 札幌 1.5 終了しました

本日、TDD Boot Camp札幌 1.5を開催いたしました。
TDD Boot CampはTDD(テスト駆動開発)を実践形式で学ぶ体験型のイベントで、id:t-wadaさんの主導の元、全国各地で開催されています。札幌でも1月に行われ、盛況の中で終了しましたが、折角TDDの熱が高まった気運を下げてはいけないと、今回の開催に至ったわけです。今回は、ゲストはいませんので、自分の方からTDDについて講義を行い、午後からは共通のお題に4人1チームで取り組んでみました。

参加者は定員の16名です。前半のセッションは特にプログラミング言語には依存しない話でしたが、午後のお題に関しては、自分のスキル的な問題もあり、Javaに限定して行いました。

午前中はTDDに関するセッションです。内容としては開発プロセスにおけるユニットテストの位置付け、ユニットテストにおける型(パターン)、テスト駆動開発とはどんなものか?といった内容です。スライドは SlideShareにアップしましたので、よろしければご覧ください。

TDD Boot Campの本番は午後からの実践演習です。今回のお題は比較的に業務的な内容でフォーラム(掲示板)をTDDで開発していく(GUIはなし)といった内容です。詳細はBitbucektにまとめています。

時間的に余裕はないかなと思っていましたが、データベース周りまで終わらせることの出来たチームはありませんでした。TDDやユニットテストJava自体への慣れなど、様々な要因があるため、中々難しい所かもしれません。

以下、参加者の感想ややっていて気付いた事などです。

  • Javaの場合)モデルの属性をgetterを使うのかフィールドとして定義するのかは、TDDで設計して行く中で議論が発生するので面白い
  • Eclipseを使い慣れていない人にとって、Eclipse使いは魔法のように見える(ツールにこだわる)
  • テストしにくい設計や仕様をどうテストしていくかのパターンに興味がある人が多い
  • テストケースをどう分割していくかのポイントが聞きたい/なんとなく見えた
  • IDEだけでなく、UMLなどの図を併用して議論したり整理したかった
  • "テスト駆動開発(もしかしてテストファーストかも?)"で開発経験したことがあったと思っていたけど、全く違う物だった
  • TDDBCに何回か参加してきて、なんとなくTDDがどんなものかが見えてきた
  • BitbucketやMerurialも併用し、実践的な開発で良かった

今後の課題としては、2日開催とするかどうかという話があります。ぶっちゃけTDD Boot Campは朝から夜までチーム(ペア)でプログラミングをするので、慣れていないともの凄く疲れるわけです。土曜日にヘトヘトになるまでやって、日曜日にも・・・というのは中々厳しいのですが、実際には1晩経ってみると「こうしてみよう」といった新しいアイディアが沸いてきたりします。なので2日目は、1日目のフィードバックもあるので有効なんです。でも、2日やると月曜日は出社したくないほどの疲労感、やはり3連休にやるしかないのでしょうか?

なにはともあれ、TDD Boot Camp 札幌 2.0が翌月の4日に開催されます。1.5に参加された皆さんは、今回得た経験や疑問点などを、これからの3週間で整理し、2.0でt-wadaさんにぶつけられます。このチャンスは逃しては勿体ないですね!

宣言通り、札幌では定期的にTDD Boot Campを開催していきますので、今後ともよろしくお願いします。余裕が出てきたら色々な言語にサポート範囲を広げていきたいですね。あと、TDD Spring Campもやりたいです・・・。

あと、レポートとかブログに書いたら教えてください!