masuidrive working style

72
Yuichiro MASUI <[email protected]> masuidrive working style masuidriveが考える高品質なアプリを速く作る方法 Created at 11 Jul 2007

Upload: yuichiro-masui

Post on 28-May-2015

13.524 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Masuidrive Working Style

Yuichiro MASUI <[email protected]>

masuidrive working stylemasuidriveが考える高品質なアプリを速く作る方法

Created at 11 Jul 2007

Page 2: Masuidrive Working Style

私たちの仕事とは

Page 3: Masuidrive Working Style

品質が高いアプリケーションを

早く作る

Page 4: Masuidrive Working Style

バグが少なく拡張性が高く

メンテナンスしやすい

Page 5: Masuidrive Working Style

目指す開発環境

Page 6: Masuidrive Working Style

良いアプリケーション作りに集中できる環境

Page 7: Masuidrive Working Style

無駄なコミュニケーションをしない

Page 8: Masuidrive Working Style

会議の資料は前日までにメンバーに公開

Page 9: Masuidrive Working Style

会議は発表の場では無く議論の場です

Page 10: Masuidrive Working Style

前日までに資料が出なかった場合には開催しない

Page 11: Masuidrive Working Style

作業の進捗状況の確認なども無駄なコミュニケーション

Page 12: Masuidrive Working Style

メールやIMはお気軽に

Page 13: Masuidrive Working Style

IMは忙しいときは無視するのでそのときはメールで

Page 14: Masuidrive Working Style

全員の作業状況が常に公開されている

Page 15: Masuidrive Working Style

作業内容は全て公開問い合わせをしなくても作業状況が分かる

Page 16: Masuidrive Working Style

誇りを持って自分がした仕事をみんなに公開する

Page 17: Masuidrive Working Style

開発者の増減に対応

Page 18: Masuidrive Working Style

仕事が増えたら他人に振れるように

Page 19: Masuidrive Working Style

その為の記録と情報の整理

Page 20: Masuidrive Working Style

企画書なども全てバージョン管理する

Page 21: Masuidrive Working Style

その為の仕組み作り

Page 22: Masuidrive Working Style

すべてはSubversionで管理

Page 23: Masuidrive Working Style

変更履歴を全て残す

Page 24: Masuidrive Working Style

フロントエンドはTrac

Page 25: Masuidrive Working Style

口頭で仕事をしない

Page 26: Masuidrive Working Style

口頭で依頼があってもチケットがないと受けない

Page 27: Masuidrive Working Style

議事録や仕様はすべてWikiに書く

Page 28: Masuidrive Working Style

Wikiに書いてないことは無かったことにする

Page 29: Masuidrive Working Style

作業の明文化

Page 30: Masuidrive Working Style

明文化することで各人の作業負担なども

見えてくる

Page 31: Masuidrive Working Style

現状の作業量を把握せずに新たなタスクが振られるのを防ぐ

Page 32: Masuidrive Working Style

機能より期日優先

Page 33: Masuidrive Working Style

予定に間に合わない場合は公開を遅らせるのではなく

機能を減らす

Page 34: Masuidrive Working Style

公開に間に合わせる為にやっつけで書いたコードは

バグの温床

Page 35: Masuidrive Working Style

どの機能を減らすのか増井と相談

Page 36: Masuidrive Working Style

手作業はしない

Page 37: Masuidrive Working Style

ファイルのアップロードやゴミファイルの削除など同じ作業を繰り返さない

Page 38: Masuidrive Working Style

Don’t Repeat Yourself

Page 39: Masuidrive Working Style

その為にコマンド化

Page 40: Masuidrive Working Style

シェルスクリプトやCapistranoを使う

Page 41: Masuidrive Working Style

コマンド化することで同じ作業を誰でもできる

Page 42: Masuidrive Working Style

コマンドは実行できるドキュメント

Page 43: Masuidrive Working Style

この4つの連携により多人数が遠隔地でも混乱せずに作業を行える

Page 44: Masuidrive Working Style

コーディングフェーズの具体的な作業指針

Page 45: Masuidrive Working Style

Trac重要

Page 46: Masuidrive Working Style

指示は全てTrac経由

Page 47: Masuidrive Working Style

タイムラインはマメに確認

Page 48: Masuidrive Working Style

チケットもRSSリーダで読もう

Page 49: Masuidrive Working Style

コマンドも含め全てのファイルはSubversionで管理

Page 50: Masuidrive Working Style

個人リポジトリに保存

Page 51: Masuidrive Working Style

その日の作業内容と次の日の予定を日報に登録

Page 52: Masuidrive Working Style

なるべく次の日に増井が返事を返します

Page 53: Masuidrive Working Style

作業をするときはTracへチケットを切る

Page 54: Masuidrive Working Style

自分で気が付いて変更する場合でもチケットを切る

Page 55: Masuidrive Working Style

作業が終わったら自分で閉じずに増井に回すこと

Page 56: Masuidrive Working Style

30分調べても分からなかったら増井に聞く

Page 57: Masuidrive Working Style

Railsの事なら聞いた方が早い覚えてもらいたい時は

検索のヒントだけ教えます

Page 58: Masuidrive Working Style

モデルのUnitTestは書くintegrationはあきらめる

Page 59: Masuidrive Working Style

UnitTestを書くのが大変なコードは

設計が良くないコード

Page 60: Masuidrive Working Style

っていう様な事をDave Thomasが言っていた

Page 61: Masuidrive Working Style

テストコードが複雑になったらモデルのコードを見直そう

Page 62: Masuidrive Working Style

ZenTestのautotestを常に走らせる

Page 63: Masuidrive Working Style

コントローラのテストはSeleniumでやろうかな?

Page 64: Masuidrive Working Style

「なに」ではなく「なぜ」をコメントに書く

Page 65: Masuidrive Working Style

「なにをしているのか」はコードを読めば分かるので

「なぜこういう風に書いたのか」をコメントに残す

Page 66: Masuidrive Working Style

コレは増井の所信表明のようなものです

Page 67: Masuidrive Working Style

「楽しくプログラムを組める環境」を目指していきます

Page 68: Masuidrive Working Style

私もここに書いていることが実行できないことがあります

Page 69: Masuidrive Working Style

そのときは怒ってください

Page 70: Masuidrive Working Style

もっと良いと思うことがあれば取り入れてどんどん

変えていきます

Page 71: Masuidrive Working Style

その為に努力をして行くしみなさんにも協力してもらいます

Page 72: Masuidrive Working Style

至らない点も沢山ありますがよろしくお願いします