Working with a member of ObjectClub

51
オブラブの中の人と 仕事してみて id:nsgc オブジェクト倶楽部2009夏イベント オブラブ若人の集い

description

Object Club2009 Summer Event

Transcript of Working with a member of ObjectClub

Page 1: Working with a member of ObjectClub

オブラブの中の人と仕事してみて

id:nsgc

オブジェクト倶楽部2009夏イベント オブラブ若人の集い

Page 2: Working with a member of ObjectClub

Hello, I’m nsgc.

Illustration by 尚治みきゆhttp://mikiyu.oops.jp/405/

about nsgc http://www.nsgc.asia

Page 3: Working with a member of ObjectClub

Recent history!

•最近、プログラミングが楽しいです

•最近、テストコードが無いと不安に感じるようになりました

•最近、コミットするのが楽しいです

• and more ...

Page 4: Working with a member of ObjectClub

Why is it ?

Page 5: Working with a member of ObjectClub

One Years ago• 2008年初旬 社内システムを3人チームで開発

• 2008 年 4月1日 弊社のRails 案件のPJにアサインされる

• 2008 年 5月初旬 業務支援で、永和システムマネジメント社 id:nawoto, id:ursm がメンバーに。id:nawoto リーダーの元、開発メンバーとなる

• 2008 年 7月頃 id:moro が プロジェクトに参加

• 2008 年 9月 永和システムマネジメント社 での常駐開始

Page 6: Working with a member of ObjectClub

The Worldof

ObjectClub

Page 7: Working with a member of ObjectClub

AGENDA

(1) 仕事場の環境が変わったよ

(2) 仕事のやり方が変わったよ

(3) 仕事への姿勢が変わったよ

Page 8: Working with a member of ObjectClub

(1) 仕事場の環境が変わったよ

Page 9: Working with a member of ObjectClub

仕事場の環境

Page 10: Working with a member of ObjectClub

仕事場の環境•ホワイトボードがとにかく多い

•コミットベル 2.0

•オープンな和室

•コミュニケーションツールを利用

•バランスボール、オフィスグリコ etc

Page 11: Working with a member of ObjectClub

仕事場の環境•ホワイトボードがとにかく多い•コミットベル 2.0

•オープンな和室

•コミュニケーションツールを利用

•バランスボール、オフィスグリコ etc

Page 12: Working with a member of ObjectClub

仕事場の環境•ホワイトボードがとにかく多い

•コミットベル 2.0•オープンな和室

•コミュニケーションツールを利用

•バランスボール、オフィスグリコ etc

Page 13: Working with a member of ObjectClub

仕事場の環境•ホワイトボードがとにかく多い

•コミットベル 2.0

•オープンな和室•コミュニケーションツールを利用

•バランスボール、オフィスグリコ etc

Page 14: Working with a member of ObjectClub

仕事場の環境•ホワイトボードがとにかく多い

•コミットベル 2.0

•オープンな和室

•コミュニケーションツールを利用•バランスボール、オフィスグリコ etc

Page 15: Working with a member of ObjectClub

仕事場の環境•ホワイトボードがとにかく多い

•コミットベル 2.0

•オープンな和室

•コミュニケーションツールを利用

•バランスボール、オフィスグリコ etc

Page 16: Working with a member of ObjectClub

仕事場の環境おもちゃみたいな仕事道具が、

めちゃめちゃ多く、楽しい環境デス

Page 17: Working with a member of ObjectClub

(2) 仕事のやり方が変わったよ

Page 18: Working with a member of ObjectClub

仕事のやり方

•主に一人作業(たまにペアプロ)

•レガシーコードをもりもり生産

• Subversion のみ利用

•ふりかえり が月1(or リリース単位)

before

Page 19: Working with a member of ObjectClub

仕事のやり方

•ペア、チームでの作業が基本になった

• TDDでもりもり開発

•Mercurial を開発で利用

•ふりかえり は毎週

after

Page 20: Working with a member of ObjectClub

仕事のやり方

✓ペア、チームでの作業が基本になった

• TDDでもりもり開発

•Mercurial を開発で利用

•ふりかえり は毎週

Page 21: Working with a member of ObjectClub

ペア、チームでの作業

•ペアプロ

•ペアドキュメント

•チームで見積る

Page 22: Working with a member of ObjectClub

ペアプロの効果

★広く一般的に言われていること

• 楽しい

• 学習出来る機会 (Ruby塾・TDD・調査方法)

• 仕様の共有

• Typo などの ボンミスが無くなる

Page 23: Working with a member of ObjectClub

ペアプロの効果

★裏の話

• 最初は正直緊張しっぱなし (あやまり癖)

• お互いが分かると強い武器 (自分の勘違い発見)

• (てゆうか) お互いが分かりあえるもの

• 学習出来る機会2 (開発環境・ツールの事とか)

Page 24: Working with a member of ObjectClub

仕様書

議事録メール

項目定義書 ロール表

アクセス制御一覧表

暫定運用書

画面定義書

移行手順書

ステータス遷移図

ペアドキュメントの効果

•辛い作業・苦しい作業もペアでやった方が良いんじゃない?

•書きながらレビューするので、手戻り少ない別途レビュー時間を取るより早いんじゃない?

•ペアプロと同様の効果あるんじゃない?

Page 25: Working with a member of ObjectClub

チームで見積る効果•見積りも辛い作業だ。みんなでやった方が楽しい!

•チームでも大きな違いが出るがそこが大事、より正確な見積りをするには皆の力が必要

• ある人はシンプルな方法・設計を考えていたり

• ある人は他の人が忘れている事も考慮していたり

Page 26: Working with a member of ObjectClub

仕事のやり方

✓ペア、チームでの作業が基本になった

✓TDDでもりもり開発

•Mercurial を開発で利用

•ふりかえり は毎週

Page 27: Working with a member of ObjectClub

TDDでやってみて正直、開発遅くなるんじゃないの?RED-GREEN-Refactor のリズムに興味はある

nowpast

Page 28: Working with a member of ObjectClub

TDDでやってみて正直、開発遅くなるんじゃないの?

勉強することが多いなー(モック?スタブ?)Refactor 安心して出来るなー

RED-GREEN-Refactor のリズムに興味はある

nowpast

Page 29: Working with a member of ObjectClub

TDDでやってみて正直、開発遅くなるんじゃないの?

勉強することが多いなー(モック?スタブ?)Refactor 安心して出来るなー

RED-GREEN-Refactor のリズムに興味はある

now

楽しい(コードを書いて緑にするのが)

past 仕様変更発生しても、他の箇所への影響は安心して実装できる

Page 30: Working with a member of ObjectClub

TDDでやってみて正直、開発遅くなるんじゃないの?

勉強することが多いなー(モック?スタブ?)Refactor 安心して出来るなー

RED-GREEN-Refactor のリズムに興味はある

now

楽しい(コードを書いて緑にするのが)

past 仕様変更発生しても、他の箇所への影響は安心して実装できる

Page 31: Working with a member of ObjectClub

TDDでやってみて正直、開発遅くなるんじゃないの?

勉強することが多いなー(モック?スタブ?)Refactor 安心して出来るなー

RED-GREEN-Refactor のリズムに興味はある

画面を開かずに実装できるnow

楽しい(コードを書いて緑にするのが)

読みやすいちょっと難しいことは書くの大変

past 仕様変更発生しても、他の箇所への影響は安心して実装できる

Page 32: Working with a member of ObjectClub

TDDでやってみて正直、開発遅くなるんじゃないの?

勉強することが多いなー(モック?スタブ?)Refactor 安心して出来るなー

RED-GREEN-Refactor のリズムに興味はある

画面を開かずに実装できるnow

楽しい(コードを書いて緑にするのが)

読みやすいちょっと難しいことは書くの大変

Stepsが充実してきて、大分慣れてきた

past

期間が空いて実装再開する場合も設計書として働く

仕様変更発生しても、他の箇所への影響は安心して実装できる

Page 33: Working with a member of ObjectClub

TDDでやってみて正直、開発遅くなるんじゃないの?

勉強することが多いなー(モック?スタブ?)Refactor 安心して出来るなー

期間が空いて実装再開する場合も設計書として働く

RED-GREEN-Refactor のリズムに興味はある

画面を開かずに実装できるnow

楽しい(コードを書いて緑にするのが)

読みやすいちょっと難しいことは書くの大変

Stepsが充実してきて、大分慣れてきた

past 仕様変更発生しても、他の箇所への影響は安心して実装できる

Page 34: Working with a member of ObjectClub

仕事のやり方

✓ペア、チームでの作業が基本になった

✓TDDでもりもり開発

✓Mercurial を開発で利用

•ふりかえり は毎週

Page 35: Working with a member of ObjectClub

Subversion のみ利用

SVN UPDATE

SVN COMMIT

SVN

svn作業コピー

svn作業コピー

svn作業コピー

Page 36: Working with a member of ObjectClub

Mercurial を開発で利用

SVN UPDATE

SVN COMMIT

SVN

hgリポジトリ

hgリポジトリ

hgリポジトリ

hg push

hg pull

hg commit

hg update

svn作業コピー

hgリポジトリ

Page 37: Working with a member of ObjectClub

Mercurial ここが好き

•個人個人がリポジトリを持てる

• 好きなだけローカルで手軽にコミット

• Subversion に障害が発生しても復旧可能

•マージが強力

•とにかく早い

Page 38: Working with a member of ObjectClub

仕事のやり方

✓ペア、チームでの作業が基本になった

✓TDDでもりもり開発

✓Mercurial を開発で利用

✓ふりかえり は毎週

Page 39: Working with a member of ObjectClub

ふりかえり自体の気付き•短いサイクルで定期的にやるのが良い

•自重や遠慮をしないで出すのが大事

•個人が出した Problem でもチームとて、Try する

•お客さんも巻き込む(もっとやりたい)

•ふりかえり 自体も楽しくして良いということ

Page 40: Working with a member of ObjectClub

(3) 仕事への姿勢が変わったよ

Page 41: Working with a member of ObjectClub

仕事への姿勢の変化★楽しく仕事するために貪欲になった

•ツールを愛でるようになった

•人間様は偉大ですよ という事

•新しいもの、オープンなものは良いですね

Page 42: Working with a member of ObjectClub

自重仕事への姿勢の変化★ずうずうしくなった

•自重すると誰が嬉しい ?

•チームで何でも話そう

•我侭は駄目。お互いへの尊敬は大事

Page 43: Working with a member of ObjectClub

仕事への姿勢の変化★より楽しくなった

•モチベーション

•「すっかり、永和の方ですね ?」

•ハッチャケ具合も ほどほどに…

Page 44: Working with a member of ObjectClub

CONCLUSION

(1) 仕事場の環境が変わったよ

(2) 仕事のやり方が変わったよ

(3) 仕事への姿勢が変わったよ

Page 45: Working with a member of ObjectClub

それはオブラブの中の人と仕事したから?

Page 46: Working with a member of ObjectClub

つまりオブラブの中の人と仕事しないと駄目?

Page 47: Working with a member of ObjectClub

そんな事ありません

Page 48: Working with a member of ObjectClub

だから、オブラブがあるのです!現状に不安・不満を持つ人が、変化を起こそうとしている人が、実際に変化を起こしている人が、みんな一同に集まれるイベントが!

Page 49: Working with a member of ObjectClub

Q : 流行らせたいものは何ですか?

A : イベントです。足を運ぶべし。開催すべし。いろんな人と交流すべし

Page 50: Working with a member of ObjectClub

ご清聴ありがとうございました!

Page 51: Working with a member of ObjectClub

提供ウゲロくま (素材屋405番地 様 http://mikiyu.oops.jp/405/)

オブジェクト倶楽部とはのページ (オブジェクト倶楽部 様 http://www.objectclub.jp/)

サウンドロップ (BANDAI 様 http://www.bandai.co.jp/corporate/index.html)

永和システムマネジメント社内 (永和システムマネジメント 様 http://www.esm.co.jp/)

nawoto (nawoto 様 http://friendfeed.com/nawoto)

ursm (ursm 様 http://friendfeed.com/ursm)

Planning Poker (Mountain Goat 様 http://www.mountaingoatsoftware.com/)

The Rspec Book (The Pragmatic Bookshelf 様 http://www.pragprog.com/)

Cucumberのロゴ (Cucumber 様 http://wiki.github.com/aslakhellesoy/cucumber/)

Mercurialのロゴ (Mercurial 様 http://mercurial.selenic.com/wiki/)

NSGCの脳内(脳内メーカー 様 http://maker.usoko.net/nounai/)