プロジェクトマネジメントのデファクトとしては、PIMBOKがあげられると思う。
しかし、PIMBOKの標準的な方法で行うと、プロジェクトは、自動的に、失敗しないか??
PIMBOKでは、プロジェクトマネジメントを立上げ・計画・実施・コントロール・完了
にわけてますよね。で、行うべき内容が、「スコープ、タイム、コスト、品質、人的資源、コミュニケーション、リスク、調達、統合」という9つのエリアにわかれますよね。
参考:
http://coin.nikkeibp.co.jp/coin/nc/gk05/
で、これはOK、さらにいうと、立ち上げもOK。
でもねでもね、計画のところで、スコープ(つまり、開発の範囲)を決めた後で、タイムとか、コストにすぐに落とし込みますよね(この部分、今度、詳しく書きます)。
たしかに、営業や、管理部門が長いプロマネや、プログラム書いてないSEから、プロマネになると、このやりかたでやるけど(まあ、そういう人が多いから、世の中の平均は、こうだけど)そーすると、失敗するよね。論理的に。。。
だって、スコープに割った、開発範囲が出来る保証、無いじゃん。
例をあげるよ。
たとえば、au端末で、インベーダーゲームを開発するとする。
このインベーダーゲーム、
・玉が、まっすぐ飛ぶのと、
・玉が斜めに飛ぶのでは、
開発工数が、めちゃくちゃ違う危険があるよね。
それ、スコープに割った時点じゃ、開発やったことないプロマネだと、わかんないでしょ。普通。
(ぜーんぜんわかんない人へ。
au端末において、インベーダーゲームを作るとすると、BREWで開発することになる。
玉がまっすぐ飛ぶ場合は、整数値で処理できるよね。
玉が斜めに飛ぶってことは、三角関数を使うよね。BREWで三角関数使うのって。。。
たーいへんなのよ ^^;)
スコープに割って、そのあと、この開発の人をアサインして、期間決めちゃったら、
開発中に、「えー、これって、どーやるの??」ってことになって、
そのときに、みんなまじめで調査熱心な人だったら、
どーする??三角関数で実現しようとしちゃって、
ものすごーい工数かかって、その上、モジュールが大きくなりすぎて、動かない!
って、どツボにはまって、開発工数が、何倍にもなっちゃうよ!
(ちなみに、いいかげんなウィリアムのいたずらなら、どうするかって?
ななめに飛ぶ、玉の角度をきめちゃうの。そうすれば、三角関数つかわないで、
ななめ「その一」のときは、Xいくついったら、Yいくつって、きめられるじゃん。
そしたら、それを関数にすればいい。工数的に、そんなにかかんないよね。)
つまり、スコープで割った後で、要素技術に展開して、その要素技術ができなかったら、
人的資源にしろ、ソフトウエアにしろ、調達してこないといけないよね。
で、その後調達のめどがついたら、コストとか、期間とか、人の割りふりとかって、決められる話だよね。もし、調達できないなら、(上の「ななめその一」のように)逃げ手を考えないといけないよね。逃げ手が思いついたら、その時点で、スコープって、変わっちゃうよね。
で、さらに問題なのは、プロジェクトマネージャーが、要素技術に正しく分解できなかっ
たら、(例の場合、玉が斜めに飛ぶのは難しいので、そのリスクを取る必要があるって、
プロマネが気づかなかったら)おわっちゃうじゃん。
つまり、今のPIMBOKっていうのは、技術的に、要素技術が全て分かっている場合
(昔の、銀行のオンライン勘定系システムの開発とか、小売店の会計システムの開発とか)
なら、それでOKなんだけど、最近の、
・うーん、できるかどうかわかんないよ。
・その技術と、この技術ってつながるわけ?相性とか、ないの??
・だれも、全部の範囲は分からない
・そのうえ、業務仕様も、わかんないぜい!
っていう、開発には、むいてないプロジェクトの考え方だと思うぜい!
しかし、PIMBOKの標準的な方法で行うと、プロジェクトは、自動的に、失敗しないか??
PIMBOKでは、プロジェクトマネジメントを立上げ・計画・実施・コントロール・完了
にわけてますよね。で、行うべき内容が、「スコープ、タイム、コスト、品質、人的資源、コミュニケーション、リスク、調達、統合」という9つのエリアにわかれますよね。
参考:
http://coin.nikkeibp.co.jp/coin/nc/gk05/
で、これはOK、さらにいうと、立ち上げもOK。
でもねでもね、計画のところで、スコープ(つまり、開発の範囲)を決めた後で、タイムとか、コストにすぐに落とし込みますよね(この部分、今度、詳しく書きます)。
たしかに、営業や、管理部門が長いプロマネや、プログラム書いてないSEから、プロマネになると、このやりかたでやるけど(まあ、そういう人が多いから、世の中の平均は、こうだけど)そーすると、失敗するよね。論理的に。。。
だって、スコープに割った、開発範囲が出来る保証、無いじゃん。
例をあげるよ。
たとえば、au端末で、インベーダーゲームを開発するとする。
このインベーダーゲーム、
・玉が、まっすぐ飛ぶのと、
・玉が斜めに飛ぶのでは、
開発工数が、めちゃくちゃ違う危険があるよね。
それ、スコープに割った時点じゃ、開発やったことないプロマネだと、わかんないでしょ。普通。
(ぜーんぜんわかんない人へ。
au端末において、インベーダーゲームを作るとすると、BREWで開発することになる。
玉がまっすぐ飛ぶ場合は、整数値で処理できるよね。
玉が斜めに飛ぶってことは、三角関数を使うよね。BREWで三角関数使うのって。。。
たーいへんなのよ ^^;)
スコープに割って、そのあと、この開発の人をアサインして、期間決めちゃったら、
開発中に、「えー、これって、どーやるの??」ってことになって、
そのときに、みんなまじめで調査熱心な人だったら、
どーする??三角関数で実現しようとしちゃって、
ものすごーい工数かかって、その上、モジュールが大きくなりすぎて、動かない!
って、どツボにはまって、開発工数が、何倍にもなっちゃうよ!
(ちなみに、いいかげんなウィリアムのいたずらなら、どうするかって?
ななめに飛ぶ、玉の角度をきめちゃうの。そうすれば、三角関数つかわないで、
ななめ「その一」のときは、Xいくついったら、Yいくつって、きめられるじゃん。
そしたら、それを関数にすればいい。工数的に、そんなにかかんないよね。)
つまり、スコープで割った後で、要素技術に展開して、その要素技術ができなかったら、
人的資源にしろ、ソフトウエアにしろ、調達してこないといけないよね。
で、その後調達のめどがついたら、コストとか、期間とか、人の割りふりとかって、決められる話だよね。もし、調達できないなら、(上の「ななめその一」のように)逃げ手を考えないといけないよね。逃げ手が思いついたら、その時点で、スコープって、変わっちゃうよね。
で、さらに問題なのは、プロジェクトマネージャーが、要素技術に正しく分解できなかっ
たら、(例の場合、玉が斜めに飛ぶのは難しいので、そのリスクを取る必要があるって、
プロマネが気づかなかったら)おわっちゃうじゃん。
つまり、今のPIMBOKっていうのは、技術的に、要素技術が全て分かっている場合
(昔の、銀行のオンライン勘定系システムの開発とか、小売店の会計システムの開発とか)
なら、それでOKなんだけど、最近の、
・うーん、できるかどうかわかんないよ。
・その技術と、この技術ってつながるわけ?相性とか、ないの??
・だれも、全部の範囲は分からない
・そのうえ、業務仕様も、わかんないぜい!
っていう、開発には、むいてないプロジェクトの考え方だと思うぜい!