エンジニアのソフトウェア的愛情

または私は如何にして心配するのを止めてプログラムを・愛する・ようになったか

旅に出た〜オブラブ2009冬合宿

オブラブの合宿に参加してきました。会社の研修以外では合宿で何かを学ぶというのは初めてかも知れません。旅行という意味でも久しぶり。密度の濃い2日間でした。

ワークショップ

わたしは、Ruby on Railsで実際に動くアプリケーションを作る、開発セッションに参加。Rails未経験(1週間座学)でできるのかと不安が先行したまま最初のイテレーション、90分間がスタート。途中かなり手助けしてもらったものの、イテレーションの終わりには見た目はともかく動いている。動くものを目にするとできたという安堵と自信が湧いてきて、次もできるかもしれないという気になるから不思議。動くものを作るというのはクライアントにデモできるというだけでなく、モチベーションを維持するためにも大事だと実感。

動くものができると、開発者のモチベーション以外にも得るものが。

  • 開発する個々の機能の規模を数値で表しておいたので、1イテレーションの間に何ポイントの開発ができるか、具体的な数字で把握することができる。
  • クライアントが求めていたものとできたものとのあいだのギャップから、クライアントが本当に欲しいものがなにか、知ることができる。

ペアプロも初めて体験。座学独学より学習曲線がはるかに高いです。本やドキュメントを介した間接的なものでなく、ダイレクトに人から人へ知識が伝搬。文書ではわかりにくい、状況に合った判断の部分も伝えることができるのがその理由かもしれません。
開発のペースも、速すぎず遅すぎず、適当なペースに落ち着いて、全体として安定して進められるようになった気がします。

3イテレーションが終了し、この時点までに要求されていた機能が無事完成。単純に完成したという達成感とクライアントの望むものを提供できたという満足感。開発はやっぱり楽しいです。

ふりかえり

アジャイル開発は、いままで感じていた以上に現実的で理詰めの手法だと感じました。
まず、計測。作ろうとしているものが何ポイントの規模にあるのかを測り、決められた時間の中で何ポイントの開発ができるかを測り、残りの時間で何ポイント=どれだけの機能を実現できるか計算する。ズレがあればフィードバックして精度を上げていく。
それから規律。きちんと測ること、決められた時間で開発すること、等々。ほかにもいろいろありますが、規律を守ることで計測も活きてくるわけで。ただ、自主的に規律を守るぞ、という意識も必要かも。
顧客に対するときも、これらの影響が。具体的にできる量がでているので、どこまでなら要望を実現できるか、現実的な話ができるというのは、大きいと思います。顧客にあとで失望させないためにも、できるできないの判断をする。顧客にもなにを先に実現するか判断を求める。現実的な話だから信頼できるのか、信頼できるから現実的な話ができるのか、まだわかりませんが、これらが信頼感にも繋がっているのだと思います。


でも。やはりいいところばかりでなく、弱点もいくつか。
始動に時間がかかる。動き出してペースが掴めてからは快調なんですが、そこに至までは手探りな感じでした。初めてだったというのを差し引いても、始動の難しさというのはあると思います。
規律が緩むとカオス。ちょっとぐらいいいかな、とかやってしまうとコントロールを失ってしまう、らしい。もうひとつの開発チームがそんな理由でカオスに。


ほかいくつか。

  • 細かい精度よりもスピード。精度を上げるために時間をかけるなら、速くまわしてフィードバックを得た方がいい。適当でいい、という意味ではない。
  • 不安が数字に表れる。不安があると見積もりのときに大きな数字になる。でも具体的な数字なので、どのぐらいの不安なのか目に見える。

その他

  • 角谷さん、カッコイイ!いままでやったことのない案件を目の前に途方に暮れそうになったんですが、開発のコーチとしてついてくださった角谷さんが課題が切り崩し…というか、自分たちで切り崩せるようにリードしてくださって、これならできるかもという雰囲気にしてくださいました。こういう頼れる技術者になりたい!
  • 事務局長天野さん(id:amapyonさん)とペアプロ。ありがとうございました。
  • ちくわさん(id:thataさん)、バーのマスター、はまりすぎ(笑)。
  • スタッフから、id:ngtykさんの存在は希有、という証言を得る。妙になっとく。
  • エンドレス懇親会。帰りの心配がないから、続くよどこまでも。わたしは25時(午前1時)で脱落。その後、2,3時間続いたらしい。

そして。合宿の成功のために尽力してくださったスタッフの皆さん、セッションとふりかえりを共有させて頂いた皆さん、懇親会やその他の席でいろいろな意見を聞かせてくださった皆さん、本当にありがとうございました。