6.5人の作業を5人で。
さて、どうするか。
まず最初に決めたのは僕自身が実作業に入る時間だ。
当時は実際2時間くらいしか作業が出来ない状態だったのだが
さすがにそうは言ってられないので0.5人分を請け負うことにした。
0.5を作業に残り0.5をマネジメントに割り振る形。
ただ、この時点で最終目標は「100%マネジメントに自分を置く」こと。
マネージャーとして一番やらなければいけない仕事はマネジメント。
実作業に関してはメンバーにやってもらう方がいい。
メンバーの作業をマネージャーが出来るというスキルはあった方がいいが
マネジメントはメンバーは出来ないのだから、
基本的にはどちらも出来る作業をマネージャーがやる必要はない。
メンバーが割り振られた仕事を時間内に終わるように、マネジメントするのがマネージャーの仕事である。
ただし、
メンバーが残業をすればそれはマネージャーがマネジメント出来ていない部分があった事になる。
「すべての作業を振って作業が無くなるように」と言っているのでは無いことを強調しておく。
さて、話を戻すと
4人で6人分の作業をやらなければならない。
1人辺り1.5人分。
まずは、お互いの作業を把握してもらう事にした。
そこまですべての作業は個人プレーになっていたため、
お互い何をしているのかを把握することで、
他の人が作業した内容を流用できる形を作れるようにした。
僕自身は毎日作業内容を確認し、更には
週に1回全員でミーティングをして、今何をしているのかを一人一人発表してもらった。
こうすることで
このプログラムを作りたいとなった時に「そういえば○○さんがこの作業していたな。」
という認識があるので、その人に聞きに行く流れができた。
その結果
他の人が書いたプログラムをベースに制作が可能となり
「過去にやったことがある機能」が出てきた時の作業効率が飛躍的に上がった。
また、他の人が参考にする可能性があるので「再利用を考えて作成」という意識付けを行ったので
他の人が参考にしやすいよう、プログラムを丁寧に書く様になっていき、プラスになっていった。
参考に出来るものがあるのと無いのとでは作成速度は8倍は変わる。
・今まで作成したモノがあれば参考にする
・作ったものは今後別の人間が再利用できるような形で
この2つの方針は時間が経つにつれて「生産効率」が上がっていく。
作成したものはどんどん蓄積されていくので、
最初から作成しなければならないプログラムが減っていったのだ。
導入してすぐには効果が無かったものの
結果的に1ヶ月後から残業時間は減っていき、4ヶ月後は完全になくなった。
ただし、これだけでスケジュールの問題は解決しない。
もう一つ対策していかなければならない事がある。
「スケジュールに乗らない作業」「今後入ってくる作業」の対策である。