言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

ぼくのかんがえた最強の?マネージャ

半年くらい前からソフトウェア業界のマネージャをやってます。

マネージャってどういう仕事かというと、お客さんの言うことを聞いて見積もりを立ててスケジュールを立てて開発者を集めて期限を交渉して終わらせます。コードは書きません。一昔前だと Excel とパワポを駆使するのが仕事でしたが、今は Redmine とか JIRA とか言う Web ツールを使って仕事がどこまで進んだかを確認します。結構これが辛い。

実は僕が前十年ほど前に一度サラリーマンを辞めたのは、マネージャと言う仕事があまりにもくだらなかったからです。プロジェクトをぐいぐいと引っ張って良い製品を作るお仕事が出来ればやりがいがあると思いますが、実態は営業がついた嘘の尻拭いをして誤魔化したり謝るのがお仕事です。なので、今の会社に入ってからも、企画とか、開発リーダーはします。でもマネージャはしません。マネージャはしません。マネージャはしません。と言ってたんだけど、色々あってマネージャやってます。

良かったことは、誤魔化したり謝ったりしなくても儲かるという事が分かったことです。前の会社では少しでも利益を最大化するために嘘や誤魔化しは必要だ。と思ってたんだけど、全くそんな事は無いです。ただ、嘘とまでは行かなくても不正確な情報というのはあります。開発者の心の中にしかない仕様があったり、移動で詳しい人が居なくなっちゃったりすると、悪気は無いんだろうけど言ってることが違うよーという事になります。だから、本質的な解決法では無いけどそういう点も含めて事情を共有したいので、僕は出来るだけお客さんに手の内を全部見せます。メールもチケットも明けっ広げです。ただ、やっぱりそういう事をするべきで無いと思う人もいるので、完全では無いです。

悪かったことは、開発に参加出来ない事です。コードは一行も書きません。コードを書くには、コードの海に深く潜る必要があります。奥底まで潜って周りを注意深く見回し、関連を探り、慎重に手を加えていくためにはまとまった時間が必要です。二つの理由でこれが不可能です。一つはお客さんの対応です。お客さんからリアルタイムに様々な情報を求められ、そのたびに注意が削がれます。二つ目は掛け持ちです。マネージャを出来る人は少ないので、どうしても二つ三つプロジェクトを掛け持ちする事になります。間違えたらとんでもないことになるので、無茶苦茶気を遣ってコードどころでは無いです。

困った事に、コードに触れないとプロジェクトがどんどん分からなくなって行きます。開発者も嘘を付いたり、見栄を張ったり、説明が下手だったりするので、コードに触れていないと本当の所は分かりません。という事で、コードに触れないとプロジェクトが分からなくなるにも関わらずマネージャをやってるとコードに触れられないという矛盾した状況になってしまいました。これが辛い。

問題一のまとまった時間が取れない解決法として、出来るだけマネージャとしての仕事をコードを書かなくて良い人に振るというのを考えています。報告書とか、チケットの管理とかは他の人にやって貰っています。電話にも出たくないんだけど、これはなかなか理解を得られない。あと、マネージャとしての仕事を他人に任せるなんてどうかという話もあると思いますが、開発マネージャなんて「野球部のマネージャ」みたいな役割で良いと思う。お客さんの要望をまとめて、開発者の見積もりを返すだけで良い。簡単です。これに変に色をつけようとするからややこしいことになる。

問題二のかけもちの解決法は、マネージャの仕事を形式化して、誰にでも出来るようにする事です。マネージャの仕事なんて簡単なので、みんな逃げないで自分でやってくれー。

というような事を考えているんだけど、僕の考えは全くの妄想です。本を読んだり勉強する暇すら無かったので、全く自己流でやってます。なので、ソフトウェアプロジェクトの管理法について良い本があれば教えて欲しいです。開発者としては、『達人プログラマ』とか良い本に沢山巡りあったので、そういう具体的に書いてある本があれば嬉しいです。