wiprog

C#, .NET, Scala ... について勉強したことのメモ

読書メモ: Peopleware #1 人材を活用する (1) - プロジェクト失敗の原因

トム・デマルコの名著、 Peopleware を読み始めたので自分の意見も交えて読書メモ。 本の要約と自分の意見が半々ぐらいな感じです。ここ数年の話題だったり、主語が「私」となっているものは私個人の意見です。

今日もどこかでトラブルが

筆者は 10 年間にわたり、500 以上の開発プロジェクトとその結果について調査した。 調査の結果、プロジェクトの 15 % が水泡に帰している(中止、延期、納入後に使用されない等)ことがわかり、また、大きなプロジェクトほど失敗する可能性が高いこともわかった。 25 人年以上を注ぎ込んだプロジェクトのうち、実に 25 % ものプロジェクトが完成しなかった。 プロジェクトが失敗した原因の圧倒的多数は、 単なる技術的な問題として片付けられないものばかり だった。

問題の本質

失敗の原因を関係者に尋ねると、異口同音に 政治的要因 と言われたが、この言葉はいい加減に使われていた。 実際には、意思疎通の問題、要因の問題、マネージャーや顧客への幻滅感、意欲の欠如、高い退職率等の 社会学的な問題 であった。 政治的な問題ではなく、プロジェクトとチームの社会学的問題として本質をとらえると、もっと取り組みやすくなるはずだ、というのが筆者の主張。

実際のところ、ソフトウェア開発上の問題の多くは、技術的というより社会学的なものである。

多くのマネージャは実際には技術だけに関心があるというようなマネジメントをしている。 最も大切なのは人間中心に考えることなのに、いつもないがしろにされている(これは企業の教育に原因があるとのこと)。

そういえば今となってはすっかり忘れ去られた 7pay 事件(事故?)のときも、失敗の表面的な原因は技術的にあまりにもお粗末な品質の成果物に見えたが、現場の実態を暴露する twitter での書き込みや、社長の記者会見における発言を見ていると本質はやはり社会学的な問題だったように思う。 普段からコンビニ経営において、一緒に働く仲間をを軽視した本部の姿勢が批判されていることと、この失敗は無関係ではないと思う。

ハイテクの幻影

多少なりとも最新技術に関係している人(これは日本でいうところの『エンジニア』を名乗る人たちに相当すると思う)は、 ハイテクの幻影 に取り憑かれている。 他人の研究成果を応用しているに過ぎないのに、自分がハイテクビジネスの旗手だと錯覚している(日本の twitter や Qiita を見ているとよくわかります)。 ソフトウェアは、多数のチームやプロジェクト、固く結束した作業グループで開発するので、ハイテクビジネスではなく人間関係ビジネスに携わっていると言える。 プロジェクトの成功は関係者の緊密な対人関係によって生まれ、失敗は疎遠な対人関係の結果である。

マネージャが技術的問題にうつつを抜かす理由は、重要だからではなく、単にやりやすいからだ。

ここで、私のような テックリード と呼ばれるポジションの人は特に気をつけたほうが良いと思う。 テックリードは技術的な面でもチームをリードする必要があるが、テックリードになれた人は技術的な面ではすでに強みを持っているはずなので、社会学的な問題のマネジメントに割く労力を意図的に増やしたほうが良い。 これは私も経験済みだが、どうしても取り掛かりやすく仕事をしている気分になれる技術的な問題にフォーカスしがちである。