Upload
yuichiro-masui
View
13.523
Download
0
Embed Size (px)
Citation preview
Yuichiro MASUI <[email protected]>
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でやろうかな?
「なに」ではなく「なぜ」をコメントに書く
「なにをしているのか」はコードを読めば分かるので
「なぜこういう風に書いたのか」をコメントに残す
コレは増井の所信表明のようなものです
「楽しくプログラムを組める環境」を目指していきます
私もここに書いていることが実行できないことがあります
そのときは怒ってください
もっと良いと思うことがあれば取り入れてどんどん
変えていきます
その為に努力をして行くしみなさんにも協力してもらいます
至らない点も沢山ありますがよろしくお願いします