2011年10月4日火曜日

"完成したら出す"位で良い、「個人開発のスケジュール」

システムを開発する人間は、皆エンジニアである。自動車を作る人は、どの工程にいる方でもエンジニアであるように、システムを開発する方も最上流のコンサルさんを除けば、皆エンジニアである。横文字にするから分かりにくいのであれば、自動車を作る方もシステムを作る方も皆「技術者」である、といえば分かりいいかもしれない。

エンジニアとして、他のメンバーと共同で1つの作業をする為に、進捗を確認するための「スケジュール」は不可欠である。これがなければ、メンバーはいつ迄に何を作らなければならないか分からない、都度リーダーに質問する。リーダーはクリティカルパスが遅れているのかどうか把握出来ない。チームとしての進捗を把握するためのツールとして重要。私も本業の現場では、スケジュール線を引く任にある。

ただ、こうして個人で、それも既婚子持ちの人間が、少ないプライベートの時間を削って開発していると、すぐに気づくことがある。スケジュールは守れない、というか作ってられない。裕福な親元にいる学生さんなら時間を潤沢に使えるだろうが、こちらは本業も多少の責任を持つポジションであるので、少し残業してしまえば開発の時間なんぞ消し飛んでしまう。
スケジュールを作れない、という訳ではないが、スケジュールを守れないという事は、リカバリプラ員を考えることになる。本業でスケジュールが遅延するのであれば、スケジュールに余裕があれば負荷崩しをしたり、余剰リソースを探したりして対応を考える思考になるが、プライベートは1人であり、余剰時間も限られている。つまり簡単に自分というステークホルダーに対する納期遅延が発生する。この納期遅延はやる気ダウンに直結する
プライベートの開発は納期死守のためのリカバリは睡眠時間や家族とのコミュニケーションを犠牲とする事になる。これはNGである。身が持たない。

「私は個人で趣味の開発をしていて、スケジュールもばっちり日単位で引いてオンスケですわガハハ」という人に出会えば尊敬してしまう。よっぽど意志の強いタフネスな方なのだろう。私は三下の為、これをすれば本業も家庭も疎かになる。だからどうせ守れないスケジュールなんぞ要らないだろという結論に達している。

但し誤解して欲しくないのは、全くのノースケジュールノープランが良い、と言っているわけではない。私は一次リリースを来年4月1日に定めている。これは目標である。
そのリリース目標に向けて月単位で、何をすればよいかのグランドスケジュールぐらいは引いている。それぐらいでいいと思っている。お客様から急なゴルフやツーリングのお誘いが来れば週末が吹っ飛ぶわけだから、週に落としこむのも危険だと思っている。

ということで、言いたいことは、私の好きなゲーム、米Blizzard社の「Diablo」の責任者の言葉を流用する。「完成したら出す」と。
これぐらいの気分で肩の力抜いた方が、継続すると思う。

0 件のコメント:

コメントを投稿