TDDBC 大阪 2.0 に参加してきた

先日 TDDBC 大阪 2.0 に参加してきた。
その時感じたことを覚書程度に残しておく。

TDDBC に参加するにあたり、事前に TDD に関する知識はある程度持っていた。
もちろん書籍による知識だけで、実際に TDD をやったことも、
間近で見たこととかもなかったので、実際に @t_wada さんとかがやってるのとかを見てると、
とってもスゴイなぁ〜と思ったし、何より早い!!
ある程度はお題について打ち合わせをしているとは思うが、それにしても早い。
この早さで開発してたらそりゃ楽しいだろうなぁ〜と思った。

TDD に関する書籍とか資料とかで、実際に和田さんが書かれている資料について、
拝見したことはあったが、実際に書いた人から聞かされると
より書籍や資料にかけた思いが伝わってきた。

何人かの講演の後、お昼休憩をはさんで実際に TDD を体験した。
今回は、出されたお題について、希望言語の人の中からペアをその場で決め、
その人と合計 3 時間くらいペアプロ + TDD を行った。

まずやってみて感じたことは、やっぱり疲れた

個人的には、この疲れは TDD というよりもペアプロによるものだと思う。
今回は 10 分おきにペア内で、ドライバーとナビゲーターを交代して行った。
ただ、どうしても実際にペアプロしている人たちは、時間を気にすることなく
ペアプロに没頭するので、タムキーパーはもっとしっかり時間を区切るべきだと感じた。
で、今回私がペアを組んだ相手は、見た目 40 代くらい?のパソコン系の
専門学校の先生だった(笑)。
正直最初は緊張したが、やっていくうちに打ち解けられたので、楽しくペアプロを行うことが出来た。

今回組んだ相手は学校の先生ということだったが、この業界の経歴はあまり少ないらしく、
聞いてみると実は私の方が業界歴が長かったりする(笑)。
なので、私もある程度リードしながら進めることを意識した。

しかし、今思うと、リードするといっても少し強引な一面もあったのではと反省している。
リードすることと、こちらの考えを押し付けることは違うと思っている。
その上で、自分が考えていることを相手に理解してもらうというのは
とっても大変だということを今回感じた。
もちろん、『自分の考えを相手に理解してもらう』というのは、
一見すると、こちらの考えを押し付けているようにも見えるので、
このあたりは紙一重ではないかと感じている。

と、そんなことも考えながらのペアプロはとっても疲れた。
頭を使うこともさることながら、やはりコミュニケーションを取る(喋る)ということが、
疲れの原因だと認識している。


そしてペアプロを終え、最後に和田さんからのお話があった。

その中で特に印象に残っているのが、「TDD はスキルである」ということ。
つまり、磨けばだれでも上達できるということである。

これは、頭では分かっていても、実際 TDD のエバンジェリストである和田さんから言われると、
とっても説得力があった。



今回の勉強会で「一度に 2 つのことを相手にしない」ということを学んだ。
しかし、今回の勉強会でオレは「TDD」と「ペアプロ」という 2 つのことを相手にしていたような気がした。
もちろん、TDD とペアプロってよくセットで考えられているから、それが悪いとは思わない。
しかし、2 つのことを相手にしているということをあの時分かっていたならば、
もう少し何かが変わっていたのかもしれない。


最後に、この勉強会で、明確ではないにしても、ある程度の答えが見えてきたことがある。

私は TDD こそ初めての体験ではあったものの、他の参加者に比べて単体テストは書いたことはある。
もちろん、それを自慢する気もなければ、逆にいばれるほどのテストを書けているとは思っておらず、
今でも勉強中の身である。

そんな私が TDD を実践しようとしたときに一番つまずくのが、
先に実装を書いてしまいたい衝動に駆られてしまうことである。
今まで「実装書いてテスト」「実装書いてテスト」というスタンスで開発してきて、
それが体に染み付いているので、「テスト書いて実装」というのが中々難しい。
頭ではある程度分かっていても、最初にテストを書いて、その後の実装でどうしてもリファクタリングまでやってしまう。
個人的にこれが悪いとは思わないが、やはり TDD をやる以上、ある程度の型にはまったやり方はしたほうが良いと思う。

今まで「実装書いてテスト」を書いてきた人間が TDD をやろうとすると、
パラダイムシフトが必要になってくるというのを、今回の勉強会で特に感じた。
もちろん、考え方を変えるだけでなく、和田さんが仰るように TDD の経験を積むことも大事である。

しかし、必ずしも型にガッチリはまる必要はない。
少しくらい型から外れても良い。そう誰かが講義していたなぁ。

さてと、とりあえず今度は「ペアプロ」の相手をしてみるか。