gallu’s blog

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

プロジェクトマネジメントなんて出来るわけがない

久しぶり(?)の暴論シリーズ。タイトルが微妙に「俺の妹が〜」に似ているのはきっと気のせい(断言)。
「いつも暴論ばっかりぢゃん」とかいう突っ込み禁止。
…そろそろ「毒」とかいうタグ付けてみようかしらん? とか思案中w


んと、とりあえず「プロジェクトマネジメント」の、まずはざっくりした定義を。
「プロジェクトを予定通りに完了させるために主として陣頭指揮管理にまつわる方々がなすべきエトセトラ」。
基本そんなに間違ってないと思うですがどでしょ?


んで、上述のために必要とされていることからいくつかを抜粋。
おおむね
・ちゃんとした計画(スケジュール)を立てて
・作業者に適切に作業を振り分けて
・進捗をちゃんと管理して
ってのが、大まかによくあるパターンなのではないかと。


先にちょっと余談。
上述のために「各作業員間の(特にコミュニケーションレベルの)調整」を、熱心に行うマネージャさんが、ごく極めて稀にいるのですが*1
これは極めて真っ当かつ重要だと思ってます。
時々「日々の挨拶すらまともに出来ない」マネージャさんとかが、実際に実在しますからねぇ B-p


閑話休題


さて。「スケジュール立てて」「タスクを適切に割り振って」「進捗管理」すれば、そんなにプロジェクトは失敗しないんじゃないか? って普通思いません? 思いますよね? っていうか思ってるからやってるんだろうし。
で、先に結論。


無理だから。


たぶん、世間様のPMの99%以上、くらいを敵に回しかねない発言ですが。
なぜおいちゃんは「無理」とか身もふたもないことをいうのか。あるいは「言わざるを得ないのか」を。
何よりも「自分自身が、自分を含む周囲をいかにマネジメントしていくか」っていう考察をかねたあたりで、色々と駄文を重ねていきたいと思いまふ。


まず最初に「ちゃんとした計画(スケジュール)を立てて」っていうこれが無理。
具体的にどう無理かといえば
・何をしたいかが不明瞭なままで
・それに対する設計が雑で(時々「実現可能かどうか?」すら検討検証ができてなくて)
・設計に対する実装に「かかるべき時間」の見積もりが目も当てられないほどひどい
から。
えと…なんていうか三重苦?


まず。大抵のプロジェクトで「何をしたいのか」が、非常に不明瞭です。
いや決まってる部分はあるんですよ「人が集まって有名になって金が儲かるサイトを作りたい」んなこたぁ誰だってわかってるよ思ってるよべらんめぇ。
そうじゃなくて「んじゃ具体的になにをどう作るか」おいちゃんの好きな料理のたとえでいうなら「うまいもの食いたい」はいいからんじゃ「うまいものってなんだよ?」って部分。その部分が、大抵の場合「いっそ踊り出したくなるほど不明瞭」だったりするわけですよ大抵っていうか知っている限り95%以上。
例えば天然上質素材を出来るだけ「素材を生かした」調理法で調理すれば、人によっては「味が薄すぎて食った気がしない」だけ。
実際問題「化学調味料ケチャップとマヨネーズが味の基本」って人だっているんだその辺個人差激しいから。おいちゃんは化学調味料をいただくと速やかに「吐き気がする」ので、最近まじで外食が大変になりつつありますがンなこたぁどうでもいい。
しかもンじゃぁ「それなりにガッツリ食いたいフルコース」なのか「ちょっとおセレブな感じにワンスプーンな料理を軽量いただきたい」のかってのも色々と、ここが誤差なら世の中全部誤差じゃいってくらいの大きな差異。


その辺を全部踏まえたうえで「その辺の前提が決まってもいないのにちゃんとした(ゆるぎない)計画とスケジュール」が、本当に立てられますか? って話。
ちなみにビジネスなんて水物だしその辺は皆様(特に発注側)百も承知で、だからこそ平気で変更と追加をあめあられに五月雨にぶちかましてくださりやがるのですが、一方で計画は「完全無欠の固形」ってんだから話が合わないよねぇ、と。あぁ「追加作業はあるけど追加料金は払わないよ」もよくある話。下請代金支払遅延等防止法とかって読んだ事あります?
んでまぁ。時々ちゃんと「当初と違〜う!!」と、ステークホルダーとバトってくれるたくましくも心強いPMもいるのですが。大抵の場合「ステークホルダーにとって邪魔だから」って理由で首挿げ替えられて、ステークホルダーにYesマンなPMに入れ替わっちゃうんですよねぇその時点でおおむね「しゅ〜りょ〜」なのですが色々。
ちなみに本気で「変更のないゆるぎのない計画とスケジュール」を組むためには、最低でも「未来予知能力」が必要不可欠だったりするのですが。
あるいは一言「あなたは将棋の一手目で詰めまで読みきれるのですか?」と。
無謬性とかいう幻想は、右手できれいさっぱり消したいものです消せるものなら。どこかに「幻想壊し」な人いないかしらん?


続いて「設計が雑」ってなぁまぁ「なに作るか」決まってないんだもん当然ジャンって話はおいといて、もうひとつ、心のソコから憂慮すべき内容を。
「計画を立てる段階(一番上のレイヤーの設計が必要なあたり)で、まともなエンジニアが重要なところに存在していない」。
PMやってる諸氏に質問。現場で使ってるすべてのエンジニアと自分とを比較して。「間違いなくダントツで自分のほうが技術レベル高い」って豪語できます? 自薦じゃなくて他薦で。
Noなら質問。「なんでTopのエンジニアを計画の場に引きずり出してこないんですか?」。或いは「設計っていうタスク、舐めてません?」。


Topクラスのエンジニアにちゃんと「発言権とある程度の決定権」を持たせた上で設計すれば、見るも無残な「設計もどき」にはならなくてすむのに orz


モノを作れない輩ほど勘違いしやすく、モノが作れる人間ほど骨の髄まで理解をしている事柄があります。
設計ってのは「現場仕事のスキルが卓越してないと出来ません」。理由がわからない人は「ソフトウェアの仕様書は料理のレシピに似ている ( http://satoshi.blogs.com/life/2006/03/post_8.html ) 」を、一言半句間違いなく暗唱できるくらいまで読み倒してください。
で、PMな方々に、もう一度質問。「あなたは卓越した、Topクラスの現場スキルが本当にありますか?」。
っていうかもうちょっとぶっちゃけて「まともなコード、書けます?」


で。大抵の場合「とりあえず現場仕事なんか出来なくても適当に書いてりゃあとは何とかするのが現場の仕事だろ」とかブンなげた仕様もどきを前提にスケジュールもどきをだらだらと垂れ流します。
そもそもとして「設計レベルのミスはmakeのタイミングでは如何ともしがたい」のですが。設計図狂ってたら建築できないっしょ?
あるいは、別の角度から質問。「"設計にミスがあった場合の修正"という作業は、あらかじめちゃんと計画の中に入ってますか?」
入ってませんよねぇ。んじゃそのスケジュールは無理。だってそもそものスケジュールの前提条件があちこちで山盛り破綻してるでしょ?


とりあえずの最後「設計に対する実装に「かかるべき時間」の見積もりが目も当てられないほどひどい」。
もはや何一つ「いふべきにもあらず」。
とりあえずひとつだけ質問。「んじゃあんたはその時間でこれを実装できるの?」って現場に言われたときの、あなたの回答は?
「オレは上の人間だから出来なくてもいいんだ」じゃ、現場は100万年たっても納得しませんぜ?*2
まともにコード一つ組めない人間が何をどう見積もろうってのさ?


大項目二つ目に行ってみましょう。
・作業者に適切に作業を振り分けて


んと。作業内容を深いところで理解していなくて作業者のスキルや適正をまともに把握していなくて、ど〜やって「適切に」作業を割り振るんでしょ?
とりあえずんじゃ質問「そのタスクに必要なスキルとそのスキルを誰が持っていて誰が持っていないか」をどれくらい理解してます? っていうか「Javaを5年」とかいうよくわかんない尺度以外のはかり方、どれくらい知ってます?
ぶっちゃけたところわりと本気で。作業分担を筮竹とかTarotとかで「ちゃんと占ってくれてる」ほうが、よっぽどマシって思っちゃう(もちろんちゃんと「学問として」占いに習熟している人に限る)。


で、最後「進捗をちゃんと管理して」。
えと…「数値をまとめる」だけなら、たぶん中学生くらいになればできます。…下手したら小学校の高学年くらいなら出来るんじゃないかなぁ? どうなんだろ? 低学年じゃ無理だよねぇ? 多分。
で。遅れたら「遅れてるからいついつまでにはここまでを完成させてください」くらいなら、やっぱり、文言のあんちょこ渡しておけばお子様でも出来るざんすよ?
あなたの仕事はその程度?


ましてや何の策もなしに「遅れてるから速度を2割ほど早めてください」とか言われても「"どうやって"2割の速度Upをするのか」の方法込みで指示ださなきゃ無意味ってより有害なだけ。知的労働者の気分を害したら、それだけクオリティ落ちるざんすよ?
っつかそもそも、みんなそれなりに「一生懸命」やってるんだろうし。そこで「2割効率Up」とかって、どれだけ狂気な発言よ?
もしそれでも早くしたいんなら。どんなに最低限でも「なぜ遅れたのかの原因を正しく把握して」「その原因に対して適切な根本治療(および必要であれば対症治療)を加えて」加速させるのが本当の筋でしょうに。
ちなみに「原因の把握」ちゃんとやってます? 出来てます?


んで。
大抵の場合「とりあえず全部まとめて現場作業員個人(…故人とか変換されてみたよしゃれになってねぇよ orz)の責任ってことにして使いつぶして新しい部品もとい人員補充してそれを口実に締め切りを延ばしたり人員増やしたりして」が持ってる下策ん中の唯一に近いカードでしょ? それでどうやって遅れを取り戻すのさ?
で、挙句「進捗が遅れてるから人を倍ほども投入して」とか、本気でやめて orz
「人月の神話」の初手の出版年っていつかしってる? 1975年なんだよ? あんた何年前の人間さね? こんだけふるい知識「さえ」ないんなら。老害でさえない、ただの「害悪」だとしか思えないよ?


人月の神話―狼人間を撃つ銀の弾はない (Professional Computing Series)

人月の神話―狼人間を撃つ銀の弾はない (Professional Computing Series)


っていうかこゆ系の書籍ちゃんと読んでる?
書籍読むだけじゃ全然無意味だけど、読んでさえいないってんなら論外だよ?


あわせ技で「はじめから決めた(間違った)変更はプライドが許さないから(建前は「お客様が〜」とか)変更しない」とか「削るのは許さないけど変更と追加はお気軽に」とか。
そういう「無理難題を現場にねじ込むのが優れたPM」とか思ってる -検閲削除- がどれだけいることか orz


結論。
・まともな計画ひとつ立てられず、ありえないスケジュールしか引けない状態で
・目も当てられないような設計を
・できるかどうかもわからない時間で
・ありえない作業割り当てで
・鞭つかって現場作業員を「ガレー船の漕ぎ手」のように使い捨てて
・ついでに追加が雨あられ
こんなマネジメントもどきで成功なんてするはずがない。


で、時々見かけるのが。
そんな「根本的な欠落」があるのに、なんか小手先だけで「PMBOKにこう書いてあったから」「**メソッドですべて解決」「**手法をもちこめばうまくいくはず」とか言われても、まゆつばどころか全身に消化液でも浴びたくなりますっていうまえに狐と狸を射殺したほうが早い?


本当は、本来は「現場から半歩だけ下がった俯瞰視点が持てる」プロジェクトマネージメント、というお仕事は、とても重要なはずなのに。
現実は「技術力も知識もねぇのにプライドばっかり肥大化させて上でのさばって邪魔臭いだけの穀潰しプロジェクトマネージャもどきなんていないほうがよっぽどまし」になるざんすよ?
背中を預ける相手ですもの。信用できるか出来ないかは大きなハードル。
信用は1mmづつ積み上げて一瞬で壊せるものだ、ってことを理解したうえで、なお。
マネージャさん、あなたは「技術者に信用してもらうに足るだけのものを積み重ねていますか?」


もっと単純に。
ちゃんと「(特に技術力のある)エンジニアに相応の敬意をはらって」「"上と下"じゃなくて"役割の違う同じ立場"だってことを理解して」「お互いに相談しあえる環境を作って」「必要な質問を謙虚に行って」「己のミスと不出来とを素直に認めて」「現場の諸先輩方に学ばせていただく」ってだけで、ずいぶんと雰囲気やらやり取りやらがスムーズになって。
その上で、例えばアジャイルなりなんなり「変更に強い」マネジメント手法つかって「変化を恐れない」状態にするか、あるいは「一旦変更を綺麗にブロック」する環境を整えれば(&、それにふさわしい契約さえちゃんと締結していれば)。
少なくともプロジェクトに対して「惨敗」はしないんじゃないかと思うんですが。どんなもんなんですかねぇ?


最後に。以前にも載せた名言をひとつ。
http://d.hatena.ne.jp/gallu/20070215/p2

マネジメントは世話係。

マネージャさん。あなたが周り"を"世話するの。気を遣うの。
あなたが周りに世話されて、気を遣わせてどうすんのさ?

*1:例:K氏

*2:まぁおいちゃんのように「やってみたけどなにか?」ってのも、それはそれでいいんだか悪いんだか微妙っちゃぁ微妙ですが。少なくとも「不可能ではない」ことは証明できますんで B-p