XNAフレームワーク開発者の1日
前回のポストの原文の方には「2時間って時間掛かりすぎじゃない?」や「いやいや、2時間は短い方でしょ」などのコメントが寄せられていました。
このコメントに対してShawnは以下のように答えています。
2時間というのは単に開発に掛かった時間で、非常に短い時間です。実際にはこの他にもドキュメントの更新や、テストにも時間が掛かっています。
この変更で開発に掛かった時間を細かく分けると以下のようになります。
- プロパティの削除:5分
- 関連するユニットテストの更新:5分
- この更新がサンプルに影響しているかのテスト:5分
- プロジェクト全体のクリーンビルド: 1時間
- 自動テストの実行: 20分
- コードレビュー: 10分
- お茶で一服: 15分
ですが、新しい機能を追加するには更に時間が掛かります。たとえばステートオブジェクトの実装を例にすると、
APIの設計とレビュー: 2日
C# APIの実装: 1日
Windows C++/CLIの実装: 半日
Xbox C++ interopの実装: 半日
Windows Phone C++interopの実装: 半日
新しいユニットテストを書く: 1日
既存のテストの更新: 半日
クリーンビルド: 1時間
自動テストの実行: 20分
while(テスト通らず)
{
問題修正: 最大で5分くらい
ビルド: 1時間
自動テストの実行: 20分
if ( 繰り返し回数 > 10)
{
彼女や奥さんに電話: 「今日は遅くなる…」
}
}
コードレビュー: 1時間
チェックイン!!
のようになります。
このビルド待ちの間はブログの記事を書いたり、フォーラムに返信していたりします。
と、Shawnは答えています。
ちなみに私の場合、ビルド待ちの間は次の作業の内容確認やメールなどの雑務処理をしています。また、作業用PCは2台あるので、忙しいときにはこのプロセスを2台同時進行でやってたりします。