Masuidrive Working Style

Preview:

Citation preview

Yuichiro MASUI <masui@masuidrive.jp>

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

Created at 11 Jul 2007

私たちの仕事とは

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

早く作る

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

メンテナンスしやすい

目指す開発環境

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

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

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

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

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

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

メールやIMはお気軽に

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

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

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

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

開発者の増減に対応

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

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

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

その為の仕組み作り

すべてはSubversionで管理

変更履歴を全て残す

フロントエンドはTrac

口頭で仕事をしない

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

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

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

作業の明文化

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

見えてくる

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

機能より期日優先

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

機能を減らす

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

バグの温床

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

手作業はしない

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

Don’t Repeat Yourself

その為にコマンド化

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

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

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

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

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

Trac重要

指示は全てTrac経由

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

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

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

個人リポジトリに保存

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

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

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

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

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

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

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

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

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

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

設計が良くないコード

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

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

ZenTestのautotestを常に走らせる

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

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

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

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

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

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

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

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

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

変えていきます

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

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

Recommended