死の行進から生還せよ! 皆のデスマーチ対処法
本音が語れるエンジニア参加型メディア「@IT自分戦略研究所 エンジニアライフ」。日々、ITエンジニアの「生の声」を公開している。
ここでは、編集部の独断と偏愛によって選んだコラムをテーマ別に紹介していく。今回のテーマは「デスマーチ」。デスマーチの体験談やそこから得た教訓、デスマーチを避ける方法などを紹介する。
無茶ぶりにも程がある「デスマーチ対処法」
まずは、デスマーチの体験談から、デスマーチを生き延びる教訓を学ぼう。
『ソフトウェア開発者あがりの品質保証人の奮闘記録』の虚人氏は、世にも不思議な「デスマーチ対処方法」を教えてくれた。
「バグだらけのプログラムを、なんとか出荷できる状態にする方法を教える」。プロジェクトマネージャはこう切り出した。マネージャの方針は、下記のとおりである。
- その1 「休まず働け」
- その2 「頭は使うな、身体を動かせ、気合を入れろ!」
- その3 「バグは絶対に作るな!」
- その4 「仕様書を書いたり直したりする暇があったら、コードを書け!」
- その5 「コードを書いたら、テストで直せ」
- その6 「神風は吹く」
「いや、それは無理だろう」。新人だった虚人氏は思ったという。しかし、マネージャが支配する不思議の国のプロジェクトでは、そんな常識は通用しない。「ドキュメントとソースは犬猿の仲」「動作しないコードは捨てるに限る」など、虚人氏はデスマーチプロジェクトから学んだ教訓を紹介している。
無計画性がデスマーチを生む
もう1つ、デスマーチの体験談を紹介しよう。『エンジニアの狭間』のdemitasu氏は、「あらゆるデスマーチに生き残った」猛者である。demitasu氏が出合ったのは「無計画すぎたゆえに破たんしたプロジェクト」だ。
Webサイトを作るプロジェクトで、社長は「夢を叶えるために徹底的にやる。予算は後で確保するから」と通達した。プロジェクトメンバーが狂喜乱舞する中、demitasu氏は1人寒気を覚えたという。
投資対効果をまったく考慮しない豪華な機能が山ほど盛り込まれ、費用は冗談のように膨れ上がった。当然のことながら、社長は見積り額に激怒。結果として予算は予定の10分の1となった。どの機能を削るかでチームメンバーはいい争いになり、プロジェクトは破たんしていった。
この話から学べる教訓は下記のとおりだ。
- 暫定予算は、少なめの金額で必ず周知する
- 経営陣が費用対効果をきちんと見積もっておく
ITコンサルタント版「デスマーチ」
デスマーチに巻き込まれるのは、プログラマたちだけではない。ITコンサルタントにも厳しい試練が待っている。『ITコンサルタント宣言!』の林浩一氏は、新人ITコンサルタント版デスマーチ、「リビング・トーチ」を紹介している。
「リビング・トーチ」とは、「生きながらにして焼かれる」という意味だ。制作したドキュメントの質が悪いと、上司と顧客、両方から徹底的に責められる。「顧客からの信用をこれ以上失わないように、どうにかしろ」と上司から突き放される状態になると最悪だ。進むことも逃げることもできず、それでも全力でがんばらなければならない。この状態を、林氏は「リビング・トーチ」と呼んだ。
「リビング・トーチは絶対に避けなければならない。コンサルタントの力量と顧客の期待値レベルによって、リビング・トーチはいつでも起こりうる」と、林氏は語る。
デスマーチを避ける方法=とにかく逃げる
デスマーチはできることなら回避したい。『プログラマで、生きている』のひでみ氏は、デスマーチの悲惨さを訴え、「デスマーチからは逃げるべし」と説いている。
ひでみ氏は、デスマーチを『「ワークVSライフ」状態で、どこまでライフ(=私生活)をそぎ落としてワーク(=残業)をするかという戦い』と表現している。デスマーチは、段階的にやってくる。
まず、部屋が荒れる。次に、世の中の動きにうとくなる。人付き合いが減り、精神的にすさんでくる。容姿を気にしなくなる状態になったら注意しよう。「セルフコントロールが効かないことに気付かない」危険な状態になるまで、あと1歩である。
「デスマーチになっていいことなど1つもない。デスマーチを避ける方法は『逃げる』ことだけだ」と、ひでみ氏は主張する。
デスマーチを防ぐために、PMはプログラミング技術を磨け
『ソフトウェア開発に幸せな未来はあるのか』のにゃん太郎氏は、デスマーチを防ぐために「プロジェクトマネージャはプログラミングスキルを磨け」と主張している。
「要件」「設計」「製造」「試験」、これらの開発工程のうち、デスマーチの種が潜んでいるのは主に「要件」「設計」である。上流工程を担当するエンジニアがプログラミングを十分に理解していない場合、設計の制度が落ち、実装段階にしわ寄せがやってくる。だから、プロジェクトマネージャはプログラミングスキルを磨くべきなのだ。
デスマーチを防ぐために、プロジェクトマネージャが考慮すべき点は2つある。まず、顧客のための望むものをすべて叶えようとする「ベスト」な選択ではなく、実現可能な「ベター」な選択を目指すこと。そして、チームメンバーのためを思って動くことだ。顧客至上主義になるのではなく、チームのために顧客と交渉をすべきだ、というのがにゃん太郎氏の意見だ。
プログラマもマネージャも、それぞれの役割に応じたスキルと考え方を持っている。にゃん太郎氏は語る。「相手の立場を考えて行動することが、プロジェクトの炎上を防ぐ一番の近道」。
老婆が語る、デスマーチのほろ苦い思い出
最後に、「ITエンジニアから異業種に転職」する際の話を紹介しよう。『デスマーチで嫁(い)き遅れました』の元エンジニアX氏は、喫茶店の「老婆」としてデスマーチの思い出をしみじみと語る。
元エンジニアX氏は、昔プロジェクトリーダーだった。顧客のためによいシステムを作ろうと尽力していた。しかし、正論だろうと何だろうと、反論は攻撃とみなす専制君主のような上司が現れてから、すべてが狂い始めた。納期に間に合わないのに、「残業するな」と、上司は命令する。仕事を家に持ち帰ってもまだ終わらず、やがて元エンジニアX氏は笑うことができなくなっていた……。
「隠れ名コラム」として名高い10話の物語を、ぜひ読んでいただきたい。
コラムニスト募集中 |
エンジニアライフではコラムニストを募集しています。 応募資格は ・ ITエンジニア(元でも可) ・ ITが好きで、将来はIT業界に就職しようと考えている学生 ・ ITエンジニアの採用に関わっている人事担当者 ・ ITエンジニアの育成に関わっている教育担当者 ご興味のある方はコラムニスト募集ページをご覧ください。 |