プロジェクトマネジメント、特に最初の計画段階で重要になってくるのは、プロジェクト組織をどう組み立てるかです。
組織の編成、その役割、そしてそれぞれの組織のリーダーが、適切に決まってまとまって動き出せば、プロジェクトは徐々に軌道にのってきます。
僕が知り合いの数十億のプロジェクトをまわせる先輩PMから、「プロジェクトは組織化だぞ」と教えていただきました。
今回は、その話をします。
プロジェクトは戦略的な進め方と組織化が鍵
プロジェクトを立ち上げる時に、プロジェクトマネージャーとして最も注力すべきこと、特に大規模プロジェクトの場合にはポイントになること、それは、
「プロジェクトを戦略的に組織化すること」
です。
プロジェクトを戦略的に組織化するとは、プロジェクトをどのように進めるかの戦略を考え、その戦略を実行できるようにプロジェクトの体制をいくつかに分割して、その分割したチーム/ブロック毎にそれぞれ役割をもたせる、ということです。
つまり、PM(プロマネ)が最初に行うのは、下記の4つになります。
1)プロジェクトをどのように進めるかの戦略を考えること
2)その戦略を実行するために、プロジェクトをどういうチームに分割するかを定義すること
3)その分割したチームにそれぞれの役割を与えること
4)その与えた役割をこなせば、プロジェクトの目標が達成可能なことを検証すること
イメージがわくように、僕が参加した数億以上のプロジェクトでは、こんな組織構成をしていたというものを示してみます。
開発チームを中心に、管理対応、インフラ・技術対応、立上げおよび立上げ後対応、という三方向サポートをくみ上げた例です。
この図は、ウォーターフォール型の大規模プロジェクト、プロジェクトの中盤で設計開発が始まった局面を例にしていますが、チームは大きく下の4つに分かれています。
・プロジェクト管理チーム
・インフラ・技術チーム
・アプリ開発チーム
・移行・運用チーム
それぞれの組織(チーム)の中にサブチームを作る場合もあります。
その場合、各チームのリーダーと調整しながら戦略にそったプロジェクト運営が可能かを検証しながらチーム分割をします。
この例の中身については、後で述べますが、まずはこのようにプロジェクトの組織化のイメージをつかんでください。
なぜこれが必要かというと、2つ理由があります。
1つ目は、10人を超えるような人を動かそうとすると、プロジェクトをこう進めるという方向性を示す考え方が必要になることです。
僕は上で、それを戦略と表現しました。
その戦略を実行するために、役割をもった組織をつくるということです。
何か作戦をたてて、それを実行するチームが必要になる、そう理解してください。
具体的には、後半で説明します。
2つ目の理由は、人数の問題です。
中・大規模プロジェクトは多数の人数がかかわることになります。
例えば、人件費が3億円のプロジェクト、1人の単価を100万円/月とすると、300人月になります。
プロジェクトは、要件や立上げ時期には人数が少なく、開発期間には人が増える下図のようなイメージになります。
1年で3億のプロジェクトだと、50人前後の人がかかわることになってきます。
その人数を、プロジェクトマネージャやリーダーが全部ひとりひとり確認するわけにはとてもではないけれど、できません。
そのため、チーム・ブロック分けをして、そこにリーダーを立てることによって、プロジェクトを推進する組織をつくりあげることが、ポイントになります。
会社だろうと、何かの組織だろうと、人数が増えたら部署を分割するというのと考え方は同じです。
プロジェクトは結局は、人間がある目標にむかって団結しながら成果物をつくりあげるというものなので、多人数になれば組織化が必要になるのは、当然のことなのです。
プロジェクト組織の考え方
それでは、プロジェクト組織の組み方を見ていきます。
プロジェクトは下記を前提にします。
「数億規模のプロジェクト。新技術を適用。要員集め困難、大規模の移行あり」
・プロジェクト規模は3億円
・今回、会社としては初めての技術を利用して開発するシステム
・会社としては、他に重要プロジェクトが推進中であり、スキルの高いメンバーのアサインが困難
・未経験の新入社員もプログラミングメンバーとしては、10人程度のアサインを求められている
・技術力のあるリーダークラスのメンバーは何とか確保
・開発する画面そのものは、数は多いが複雑な画面は少ない
・旧システムからの大規模移行が必要
このような前提でプロマネとしてどのように進めるかです。
例えば進め方は、こう考えます。
「技術チーム編成。検証、テンプレート活用によりリスク回避。移行チーム早期立上げ」
・会社での新技術を適用するので、事前検証を実施
・技術力はあきらめ、テンプレートを作成し穴埋め対応の開発で進める
・技術面のリーダーを早めに投入し、技術検証・テンプレート開発を早期開始
・開発スケジュールはスキル的にも伸びるリスクがあるので、移行は早めスタートを考慮
テンプレートを配布しそれに従った開発ができるように、インフラ・技術チームを独立させる。
開発チームは業務アプリケーション部分の開発に専念可能なように仕組みづくり
移行チームは少数メンバーから先行検討を開始する
想定されるメンバーでどのようにプロジェクトを進めるのか、プロジェクトマネージャーは、その進め方の戦略を決める必要があります。
過去のプロジェクトの例を見れば、表面的におなじような組織図とかをつくることはできますが、大切なことは、冒頭で述べたことの繰り返しになるもののプロジェクトの状況を総合的に判断して、どのようにプロジェクトを推進するかの戦略を決定し、それに従ってプロジェクトをつくりあげることです。
そうしてできたのが、先ほど掲載したプロジェクトの組織図だとすると、チームを4つにわけて、それぞれの役割もきまってきます。
・プロジェクト管理チーム
・インフラ・技術チーム
・アプリ開発チーム
・移行・運用チーム
それぞれの役割例を示します。
一般的な例よりは、今回ならこのような役割という定義例です。
・プロジェクト管理チーム
プロジェクトマネジメント(進捗、課題、要員、リスク、コスト、コミュニケーション等)をマネジメントします。
スキルの低いメンバーも多いので、進捗や品質に問題が発生したら即時対応可能なように、進捗状況管理の視える化を徹底する。
また、新人に対しての進捗数字入力の徹底を各チームリーダーに実施してもらえるように、管理ツールも展開、指導する。
・インフラ・技術チーム
新技術の事前検証を実施し、その結果で開発の標準、手順書を作成する。
アプリケーション画面の開発をパターンわけして、それにあわせたテンプレートを作成する。
技術的なサポートをするサブチームをつくり、技術的なQA、課題解決対応を実施する。
・アプリ開発チーム
新技術の事前教育を実施
テンプレート開発についてインフラ・技術チームと連携しチーム内で実施可能なメンバーも育成。
新人にはサポートメンバーをつけて、ひとりで悩まないような体制で開発を実施する
・移行・運用チーム
大規模移行が発生するため、アプリ開発と並行でデータ分析、移行企画を開始する。
実際のプロジェクトであれば、もっと細かな役割設定や、チームの中もサブチーム・ブロックで分割して運営することもありますが、今回は略しています。
「プロジェクトは戦略的組織化が鍵」です。
その組織は、プロジェクトマネージャーがプロジェクトをどう推進するかの想いを反映した組織構成である必要があります。
あなたのプロジェクトをどう進めますか?
プロジェクトマネージャーが、自分のプロジェクトのことを一言で表現できたら、プロジェクトは成功します。
その戦略に従い、みんなが一丸となって、同じ方向に進むことができるからです。
あなたのプロジェクトは一言でいうと?
今回は、ここまでにします。
最後までお読みいただき、ありがとうございました。