スケジュールを作るプログラマが一番効率が良い。
現場の周りのプログラマさんたちが残業する中、
僕が毎日定時で帰って高品質なプログラムを作れる理由は、
僕が自分でスケジュールを作ってから仕事を始めるからだ。
僕が今の現場に入って始めにリーダーさんからこういわれた。
「スケジュールがきついので、
管理工数がもったいないから、管理資料に手間をかけたくありません。
イキナリ作業に入ってもらってかまいません。」
若い頃ならうっかりその言葉に惑わされているところだが、
そうはいかない。スケジュールがきつい時ほどコントロールが必要なのだ。
何を先にやっておかないといけないか、
今週末までにどこまで進めておけば安心か。
これらがわからなければ、不安に駆られるばかりだ。
不安を取り除くという意味だけでもスケジュールを組むことは非常に役に立つ。
ドラッカー風に言えば、
「ミッションに集中するにはマネジメントを駆使しなくてはならない」
ということだ。
プログラミングの作業は集中力が大事だ。
不安が取り除かれていて「今日はこの機能の実装に専念する。」というように
目標を決めて仕事をするのと、そうでないのとでは効率も品質も大きく変わってくる。
とは言えマネジメントしたことないから
スケジュールなんて組めないよという若手のプログラマさんがよく居るが、そんなことはない。
例えば旅行に行くときには、ちゃんとスケジュールを立てたことがあるだろう。
例えば、大阪から東京に行くとして正午までに着きたいとしたとき、
行き当たりばったりで、とりあえず家を出たりはしないだろうし、
起きた時間からマッタリ準備して家を出たりはしない。
間違いなく下調べをする。*1
東京に正午に着くためには、
最低でも何時の新幹線に乗らなくてならないかを調べる。
それが決まれば、次にその新幹線に乗るために
新大阪に何時までに着くべきかを調べる。
そのためには、何時に家を出るかが決まる。
これと同じだ。個人のタスク管理ならスケジュールというほどのものでなくても、
カレンダーにイベントを埋め込んでいくだけでもいい。
そのとき、終わりの日から逆算でイベントを書いていけば、実は立派なスケジュールになる。
プログラマの皆さんは、だまされたと思って自分でスケジュールを引いてみて欲しい。
本当にプログラミング効率があがるから。