Rubykaigi2010に参加してきた!2010/08/27

先週末、Rubykaigiに参加してきましたよ。いろいろメモはしたけどまとめてなかったので、ここいらでまとめていこう。
ということで、Rubykaigi2010の初日。

keynote、、、の代わりのruby1.9.2とrails3のリリース

keynoteのはずだったんだけど、都合が悪くなった、ということで、代わりのセッション。代わりといってもスゴイ人がステージにいっぱいいた。matzさんとlchinさんが通訳とか、なかなかないでしょ。内容は新しくリリースされたruby1.9.2の話題とrails3の話題。翌日にruby1.9.2についてのセッションもあるため、この日はrails3の話題が多かった。
以下メモ。

ruby1.9.2のリリースと同じような時期にrails3をruby1.9.2と対応させた状態でリリースできたのは、すごいこと。
これは継続的なテスト、正しいテストを行っていたから。

今回のRubykaigiで良く聞いた言葉の一つが、「継続」。

railsでは、何ヶ月か継続的なサブミットをしているとコミット権を得られる。情熱を示すことが大事。

「情熱」。この言葉も今回のRubykaigiでは大事なキーワードになっている。

ソフトウェアは決して完成しない。
Feels Like RubyJavascriptRubyっぽく。正確にはRspecっぽいテストとかする。

Sarah Meiさん:Pivotal Labの人。trackerとかを作ってる会社ね。(Pivotalは、この後の永和さんのところで実際に良い感じに使われていた。)
Rjsを使ったり、というような書き方をやめて、Javascriptのクラスを使ってfunction(s)を呼び出して使う。
そして、そのclassの中のfunction(s)に対して、Rspecライクなテストを行う、といようなことをしている。

テストはJasmineっていうフレームワークを使う。(これがPivotalで作っているもの)サンプルやらなんやらはgithubのページからどうぞ。
http://pivotal.github.com/jasmine/

リアルタイムウェブができるまで。:RailsとWebsocketを使って、リアルタイムウェブを構築

Makoto Inoueさん:new bambooで開発をしている人。http://new-bamboo.co.uk/
PusherっていうリアルタイムPush型のweb socketを使ったバックエンドをクラウドサービスとして提供している、というモノの紹介。これは使ってみたい!と思いつつ、とりあえず会社で応用するようなニーズが今のところ無いので、何か考えよ。

http://github.com/makoto
http://pusherapp.com/

Head First 普通のシステム開発:永和システムマネジメントさんの普通の?開発

永和システムマネジメントさんのセッション。めっちゃ人がいたので最初は立ち見だった。
永和さんの開発チームの中で、特にアジャイルチームの中で行われている(らしい)普通の開発を実演、といようなもの。
かなり面白かった。
質疑応答のところ、結構めもったものがあるので、コピペで勘弁してください。

イテレーションの単位 = リリース可能なもの。
  お客様の要望次第。都度?全部?
  お金の発生は、基本的に契約ごと。

タスク分割
  管理はカンバンにふせん。開発チーム内で共有できる一番簡単な方法。
  ストーリーの確認で、タスク(分割)自体が発生しなくなってきている。

ポイント(タスク時間の大きさ)の見積り
  ものにもよるが、イテレーションの単位は1週間〜2週間
  信頼度にもよる。最初は細かくして報告。
    でも3日以上になるようなことはほとんどない。朝会などで報告したときに把握しにくい。
  小さすぎると、あれもこれもそれもとなってごちゃごちゃ。
    ストーリーとしてお客様に伝わりにくくなってしまう。

ペアプロ
  あまりに偏りすぎないようにはしている
  ある決められた時間は、新人がやるとか

テスト
  Rspecで管理。Unitは管理。controllerはやらない。
  viewなどで

新人
  4月入社、3ヶ月新人研修(ふつうの)
  7月1ヶ月でプログラミングの研修
  8月から現場

  新人だからテスト書いといて、とかそういうことはしない。
  Modelに書いたらどうなる?とかやらせてみて、理由聞いたり、他の案を出してみたり、ということする。
  会社として、というより、チームとして、現場として

  デルタ(値の幅のこと)そのためにデルタ。

Pivotalで日本語入力めんどくないすか?
  IMEskkにするか、ctrl+mで確定をする。

railsとかのバージョンは
  基本は最新。
  ガツンとやる!お昼休みにでも。

朝会
  他にプランニングミーティング(スプリントの開始時期に、主にオーナー、リーダー)
  朝会+プロジェクトによっては、夕会。
  振り返り(お客様によっては、1ヶ月とか、4半期とか)

リファクタリング
  基本的には随時。
  ひとつのストーリーを終わらせる直前にリファクタリング。
  単体だったらすぐに。
  構造については、どうしようと今考えている。(技術的な負債、一度捨てて作りなおしてしまう、ということも)

開発チームには、きちんと保守可能なものを届ける、ということを行う。
お客様の許可はいちいちとらない。やったほうがいいことをやる。

見積り
  計画を立ててしくったら、すぐ謝る。
  大きく外れていたら、みんなでケア。

残業は?
  みんな結構早いかも。
  アジャイルは集中させて、作業させること。

エディタ:新人なにやってるかわかんないんじゃない?
  都度質問してます。
  dotfileはgithubにあります。

その日の夜の懇親会で、このセッションで1年目として参加していたhttp://twitter.com/bekkou68さんに少しだけ話しを伺うことができたので、とても満足。ありがとうございます。

新人研修ってどんな感じ?とか色々聞いたけど、お昼休みの開発の話が面白かったので、そこだけメモ

お昼は12時くらいになるとみんなでマクドとかいって買出ししてきて、集まる。
んでRubyAgileのページとかをいじる(らしい)

話を聞いてる範囲で伝わってきたのは、超楽しそう、ってこと。

ちなみに、うちの会社でもランチタイムのプログラミング始めましたw