プロジェクトマネジメントの原理原則4 プロジェクトマネジメントの概要3

・段階的詳細化 : 段階的詳細化(Progressive Elaboration)とは、プロジェクトを計画するときの手法です。段階的とは「ステップを追って進め、継続して内容を追加する」を意味し、詳細化は「詳細に練り上げ作りこむ」ことを意味しています。プロジェクトの計画は、初期段階では大まかに作成され、進行に従って、徐々に詳細化していきます。プロジェクトは独自性のある活動ですから、初期段階で全てを予測することは困難です。情報が不足しています。そのような状況で完璧な計画を作ることは無理です。ですから「段階的詳細化」とは、計画の初期段階では、 限られた情報の中で、ある程度大まかな計画の骨子を作り、プロジェクトの進捗に従って、情報が見えてきた段階で、少しずつ計画を詳細化していくという考え方です。計画はプロジェクトの進捗に応じて見直しながら進めていきます。この考え方は欧米ではスタンダードです。一方、日本は完璧主義なのかもしれませんが、初期の段階から「完璧な計画」を作ろうとします。情報が限定されていますから、時間がかかります。そしてその最初の計画通りに進めようとします。前にお客様から「計画通りにプロジェクトを進めるにはどうしたらいいですか?」聞かれました。日本がオーナーの海外プロジェクトでは、海外の人は「プロジェクトを見直しながら進めていきたい」と言いますが、日本側は「計画通りに進めてくれ」と要求します。思考が硬直化しています。この考え方の違いで争っているプロジェクトを見たことが有ります。状況を見ながら計画を詳細化していく方が効率的だと思っています。
・アジャイル開発 : 近年ソフトウェアの開発手法として「アジャイル開発」の言葉をよく見ます。PMBOK第6版には「アジャイル」の別冊が付いていました。「段階的詳細化」と似ていますが、「段階的詳細化」は基本的には「ウォーターフォール型開発」であり、初期の段階でシステムの仕様などを決めて開発を進めていきます。「アジャイル」は「俊敏」という意味です。「アジャイル開発」は「ウォーターフォール型開発」のように「あらかじめ全工程にわたる計画を立て、それを実行する」という開発プロセスではなく、開発中に発生する様々な状況の変化に対応しながら開発を進めていく手法です。アジャイル開発は、チームを組んで「要件定義→設計→開発→テスト→リリース」といった開発工程を、1つの機能を単位とした小さいサイクルで繰り返します。このような小さいサイクルを繰り返すことで、個々の機能の開発が独立して完結するため、開発期間中の仕様変更の発生に強く、リスクを最小化させることが可能です。この小さなサイクルの繰り返しを、「アジャイル開発」では「イテレーション(反復)」と呼んでいます。一見「アジャイル開発」は素晴らしいように思えますが、日本では難しい側面が大きくは2点あります。まず1点目は、日本とアメリカの開発環境の違いがあります。アメリカは、システム開発者(SE)の80%以上が社内のリソースです。社内に開発者がいます。一方。日本は開発者の75%以上が外部のリソース(ITベンダー)だと言われています。アジャイル開発の場合、最終成果物があいまいな状態で進みます。ですから、頻繁に仕様変更とスケジュール変更が行われます。内製の場合は社内調整で出来ることも、外部のITベンダーが受注する場合、スケジュール延長で大幅な人件費増などになりコストが超過します。ITベンダーの立場で「アジャイル」での受注には細心の注意が必要です。2点目は、仕様が固まっていませんから、発注側にもITリテラシーが必要ですが不足しています。「アジャイル開発」は、発注側と受注側が相談しながら開発を進めていくことが前提です。日本の多くの企業のシステム開発は、ほぼITベンダーに丸投げです。企業内に情報システム部があっても、ソフトやシステム構成については、ほとんど理解していません。窓口程度の役割が多いです。銀行のシステム障害の記事を読むと、今でもシステム開発と管理は「ホストメーカー」に丸投げで、企業の情シスは何もわからないのだと感じました。仕様があいまいですから、発注側はどのような仕様にしたいか意見を言う必要があります。ユザーとITベンダーが協力して開発を進めます。しかし発注側のシステム部の人の多くはそうした知識と経験が不足しています。日本の現状で「アジャイル開発」を進めていくのは、かなりハードルが高いです。「アジャイル開発は、従来の開発手法に比べて開発期間が短縮される」と言われていますが、私の知っている範囲では逆です。知り合いのプロジェクト・マネジャーは「アジャイル開発」でうまくいったのを見たことがない」と言っていました。

カテゴリー: エッセイ   この記事のURL