「技術ひろば.net 2009年9月 勉強会」を12日(土) に開催しました。
今の名前になって3回目の勉強会で OST (= 小田急サザンタワー、MS本社がある)に戻れたのはちょっとうれしいです(すごく個人的な感想)。
それから予想以上の申し込みがあって、開催日5日ほど前に受付を締め切りました。これもうれしかったです。興味を持ってくれる人が少しずつですが出てきたということでしょうか(運営の段取りや手際の良さとか、喋りのうまさでまだまだ課題は多いのですが)。
早めに締め切ったということで、参加したかったのにできなかったという方もいらっしゃったかと思います。すみませんでした。もう少し枠を増やしたい・・・とは思うのですが、現状は実質的に1人運営、かつ、喋りもやるという状態なので、これ以上の拡大はちょっと難しいのです。すみません。一緒に運営をやってくれる人がいれば、目配りもできると思うのですが。
ということで、運営を一緒にやるよ!とかスピーカーやるよ(いつもながらですが、すごい喋りや高度な内容である必要は全くありません)、こんなアイデアはどうだ!などなど、「お客様」ではなくもう一歩積極的な意味での「参加者」になってくれる方はいつでも大歓迎です。
勉強会と名乗ってはいるものの、実際には「技術を楽しもう、人と交わろう」というところがメインです。関わり方は人それぞれですが、とはいえ、関わってナンボです。
さて本題の振り返り。
9月は、瀬尾が「テスト駆動開発」を、えムナウさんが「データベース設計」を、それぞれ話しました。
- 「テスト駆動開発」
テスト駆動の要点としては以下の通りです。
・テストコードをまず書く・・・テスト駆動では、仕様=テストコードです。とすると、最初に書くべきコードは、開発対象のソフトウェアではなくて、それをテストするためのコードです(くどいようですが、これが仕様書なのだから)。テスト駆動は何をおいても、この考え方が重要だと思います。
・ テストコードは最初は失敗させる・・・後のステップで、適切なコードを書けたことを確認するには、まず最初はテストコードを失敗させなければなりません。失敗していたものが合格するから、新規に書いたコードやリファクタリングの結果が正しいことが保証されます。また、つい最初からがっつりコード(対象のアプリケーションのほうです)を書きたくなるのですが、仕様書にないコードは書かないことが大事です。後になってから見つかる不具合は、こういうところ=書いたけどテストしていない部分 にひっそりと潜んでいて、あるとき突然「発病」したりします。またコードが増えるとバグの可能性も増える、というのもよくあることなので、その意味からもコードは少ない方がいいのです(必要な部分まで削るという意味ではありません、注意)。
・テストに合格したら、リファクタリング、そしてまたテストコードの追加を繰り返す
上手く伝えられなかった反省点としては、テスト駆動はあくまでも開発手法の一つであって、唯一無二の存在ではないということの説明をきちんとできなかったこと。
本当に厳格に適用しようとすると、それはそれで大変なことですし、現場やチームに適さないとか難しいということもあると思います。だからといって、厳しく縛る、テスト駆動をすべて捨てるのではなく、現場の現実に即して他の手法と折衷するとか、多少緩やかに適用するなどのカスタマイズはあってもいいと思います。
開発手法はあくまでも手段であって、それ自体を目的にしてしまってはいけません。
- 「データベース設計」
いや~、面白いセッションでした。さすがは、えムナウさんという感じ。
技術の基礎体力的な話題とか物事のベースとなる話というのは、今まで誰も考えなかったとか画期的な発明・・・なんてことはあまりないと思います。むしろ、ある意味当たり前の話。
が、それを一段高い視点から俯瞰するとか、体系的に整理する、というのは実はなかなかできないこと。それができている、という意味で、すばらしいセッションだったと思います。またすごく役に立つ話でした。
若い人などは、なかなか上流、というか開発の初期の段階に関われないなんてこともあるかと思いますが、それを意識しているかどうかで、後工程の作業の質も変わってくると思います。とすると、このセッションでの話はすべての技術者(内容を抽象化すれば、すべての職業)に共通して必要な話だったと思います。
資料自体も、それだけで今後の設計のフレームワークになり得るものです。今後のプロジェクトの際に活用したいと思います。皆さんもぜひご活用ください。
資料だけでも十分に役立ちますが、やはりそれを生で聞けたという意味で、今月の参加者の皆さんはラッキーだったと思います。
- 公開Q&A
実はこんなに人が集まるとは思っていなかったので、30分ほどの時間で自己紹介&フリートークを考えていたのですが、見事に撃沈。えムナウさんの発案で、公開Q&Aをやりました。
以下、懇親会での話題も含めて感想を。
コミュニティーや技術との関わり方は人それぞれで間違いではないし否定はしません(荒らしとか、悪意を持った行動は別)。
が、多くの方が、答えを求めて参加したり、教えてもらうことを前提に考えているように思います(日本の学校教育の弊害でしょうか)。
セミナー会社のセミナーなんかは、コストをかけた分はしっかり「教えてもらう」というのはアリかもしれません。でもコミュニティーは少し違うんじゃないか、というのが私の考え。一緒に考えたり、今後自分が考える/習得するきっかけにしたり、視野を広げたり・・・という意識が必要なんじゃないかな、と思います。
「お客様」でいるより「当事者」としてコミュニティーに参加するほうが絶対に楽しいです。もちろん最初はちょっとだけ勇気がいるかもしれません。でも踏み出してみると案外大した話じゃないんです。技術ひろばは、そういう人の背中をちょっとだけ押してあげる存在・・・になれたらいいなと思っています。
よかったら、ぜひぜひこれから一緒に楽しんでいきましょう!
10月の勉強会 は17日(土)の開催です。
会場は OST。ただし先方の予約システムの都合で(笑)、部屋の確定ができていません。十分な広さの部屋をお借りできるというところまでは確約をいただいています。
10月22日は Windows 7 の発売日。ということで10月は「(勝手に)発売記念パーティー」と題して開催します。
発売記念らしく、MS 松崎さんに Windows 7 プログラミング というテーマでセッションをお願いしています。
さらに Windows 7 / Windows Server 2008 R2 のITプロ寄りの視点でのセッションも予定しています。講師は未定ですが、何とかMS社員の方をお呼びできるよう、現在調整中です。
これを書いている時点ではまだ受け付けは開始していません。定員に達することが予想されるので、興味がある方は時々サイトをチェックしてください。