Developers Summit 2010 Day2

ほかのセッションも聴いたのだが、とりあえず自分へのメモとして残しておく。

OpenSocial ケータイ Game 戦国時代では、OpenSocial関係、Agility@Scale(アジャイル開発のスケールアップ)を実現する14のベストプラクティスでは、アジャイルに関する入門、そして、3週遅れのXP-僕とドワンゴのXP-では、最近よく聞くTDDについて、またどうやって開発が進んでいくのかを学ぶことができた。

とりあえず、最後に聴いたセッションのまとめ

3週遅れのXP-僕とドワンゴのXP-

  • 1週目・・・方向を示す
    • ケントベック XP
  • 2週目・・・道を示す人
  • そして、自分たちは3週目の人間である。

やるべきこととしては、「高速道路の設置」車輪の再開発はするな・・・プログラミングに関して言われてきたことであるが、開発プロセスに関しても同じことが言える。先人達が苦労して、積み上げて作り上げたプロセスに関しても同じく再開発はやめて、そのプロセスをより良いものにしていきましょうよというお話。

XPとは・・・eXtrem Programingの略

押さえておくべき4つの価値として、

  • コミュニケーション
  • シンプルさ
  • フィードバック
  • 勇気

が挙げられる。

TDD・・・test-driven development

よくTDDというと、テストがどうとか、品質がどうとかいう話になるが、developmentつまり開発手法であり、目的はテストじゃない。

とりあえず動くものを作り、それに対してリファクタリングを繰り返す。

これによって、プログラムの振る舞いを変えずに、内部実装を綺麗にしていく。だから、よしのりさんは、このリファクタリングのためにテストを書いているとおっしゃっていた。

  • 自分の解決すべき問題をより明白にする。
  • 自動化のために、開発のために、すぐにテストを行う。
  • これによって、常にテストが通ることが確認出来、自分のコードに自信を持つことが出来る。

TDDに関して伝わりにくいこと

  • Unitテストになってしまい、網羅的にテストを書いてしまう
  • 品質のためのものではない

どうやってこのTDDを伝えたのか?

入社したときには、ドワンゴはTDDで開発を行っていたわけではなかった。ではどうしたのか?

あえて、ペアプロを志願して、テストコードを先に書く開発をした。これによって、ペアプロをしていた相手もじゃあやってみようということで、少しずつ浸透させた。

ペアプロ

コードの共有になる。この部分は○○さんが作ったからわからない。コードを修正されたら、人格否定ととらえること。そもそも、コードはチームのものあるため、気付いた人が修正すればよい話である。 コードの修正は、確かにへこむことだが、人格を否定することではなく、むしろ教育になる。

ということで、新人には、わかったこと、わからないこと、自分が書いたコードはブログに書くようして、コードをさらすことに慣れさせるそうだ。

見積もりと計画

この製品は1年後にリリースすることができるか?という質問に対して、答えられる人は少ない。そこで、ユーザーストーリーに分割して、出されたストーリーに対して、プランニングポーカーを行う。

プランニングポーカーとは、あるストーリーに対してどこぐらい時間がかかるかという見積もりを、ポーカーのカードによって全員が同時に札を出し、その見積もりを決定していくもの。全員が同時に出すということが重要で、もしも、チーム内でバラツキが出た場合、上と下の見積もりを出したものに意見を出し、擦り合わせを行う。

1ヶ月でリリース、2週間で1イテレート回すことを目標とするとよい。これによって、1チーム○ストーリー消化出来るという見積もりが立つ。

誰が何をやっているか把握する

ドワンゴでも付箋紙を使って今誰が何をやっているかを把握していた。

また、進捗管理にはバーンアウト。なんでも、正直に書くことが重要で、FF13が発売されたときにはモノの見事に生産性が落ちていることがわかった笑。

Hudson

テストを自動で作ってくれるソフトと自分は認識した。しかも、ビルドがこけたら、メールで教えてくれるとのこと。

会社では、XPは導入出来ないとしたら?

  • XPっぽくないことをやれと言われても、自分たちで作る。
  • DRYの精神 e.g. DB→Excel, Excel→DB
  • 個人で導入してみる
  • 次にチームに広がり、会社へと働きかける
  • 最後には社会へと浸透する

まとめ

  • 大きなものは把握出来るように小さくする
  • 得た知識を即反映する結果だけを求めてはいけない
  • 大切なのは、真実に向かおうとする意思である。XP is about social change.

Backlinks

デブサミの衝撃
今でも覚えている。あの時の衝撃を。 開発者の祭典 -DeveloperSummit2010- 世界は変わった。開発の現場はどうか? Developers Summit 2010 参加理由 実は去年から行きたかった SIerの実情、SIerの未来を感じたかった エンジニアとしてのロールモデルをみつけに 憧れの人に会いたい 就活中に知ったデブサミ。就活中だから行けなかったデブサミ デブサミの存在は、就活中に知ったのですが、なにぶん説明会の真っ最中。なかなか行けそうも無いので断念してました。 でも、今年は入社までに時間がある。社会人になったら、平日休んでまで参加できない。いい機会だから行ってやれーっと、東京の友人に泊めてもらうメールを打ちました。(いつもお世話になっています)
2010-12-08
これまで参加した勉強会まとめ
これまで参加した勉強会まとめを書いておこうと思います。 書き起こしてみると、なんだかすごく懐かしいです。Ruby合宿なんてのもありましたね。いい思い出です。 FLOSS桜山 Ruby合宿2009 北陸アンカンファレンス Silverlightを囲む会@名古屋 第1回 セキュリティ&プログラミングキャラバン、セキュメロ合同勉強会 名古屋Scala勉強会 名古屋ライフハック研究会 DeveloperSummit2010 東海アンカンファレンス JRubyユーザー会 ありえるえりあ勉強会 AgileJapan2010基調講演の再演 Evernote Meetup Tokyo TDDBootCamp名古屋 東京ライフハック研究会vol.1 名古屋ライフハック研究会vol.9 2009/7/8(水) FLOSS桜山 http://groups.google.com/group/flosss
2010-08-24