「クライアントの巻き込みが足りない」とマネジメントから言われても、若い頃はピンとこなかったのですが、今ではその重要性が理解できます。クライアント担当者の時間が取れないために予定通り進められないことは、システム開発プロジェクトでよくあることです。進捗報告会でタイトルの言葉をはっきりと言えるでしょうか。システム開発を受託する場合、契約形態が請負であろうと準委任であろうと、システム開発会社が責任を持って取り組むことは当然です。プロジェクトマネージャーを決めてエンジニアを確保し、クライアント側にもプロジェクト責任者と担当者がいて、クライアントと開発ベンダーとが一体となった推進体制を構築しますが、いざプロジェクトを進めていくと、担当者の時間が取れずに計画通りに進まない。
この主な原因は、担当者が他プロジェクトや現業と兼務していることです。受託する開発ベンダーはフルタイムの参画であることがほとんどである一方で、クライアント担当者は兼務であることが多いです。
体制図上は、各チームにクライアント担当者が記載されているのですが、全員が別プロジェクトと兼務。これでは各領域の検討ですらままならず、皆で集まって行うシステム全体レビューや領域横断の検討は実質不可能で、いくら開発側が頑張ったところで計画通りに進めることは困難です。クライアント自身が遅延させている自覚を持っていれば良いのですが、開発ベンダーを責めてくるクライアントもいて困ったものです。クライアントがやりたいこととして進めているはずのプロジェクトにもかかわらず、なぜ、このような状況になってしまうのでしょうか。今回は、その理由と対策について説明します。
目次 [非表示]
かんたんイラスト(記事を読む時間のない人へ)
なぜ、クライアントの時間が取れないか
そもそも何のためにシステム開発をするのかと言えば、クライアントのビジネスを実現するためです。にもかかわらず、クライアント担当者が忙しく、時間を取れないために予定通り進められないことはよく起こります。それは兼務であることが主な要因ですが、加えて会社の文化や習慣も大きく関係していると、これまでの経験から考えています。
・会議が多すぎる
第一に、会議が多すぎます。会社の文化や風土、役職や立場にもよりますが、これまで見てきた多くの会社で会議が多すぎます。本来、会議は回数も時間も参加者もなるべく減らすことを目指すべきですが、その感覚が薄く、何かあれば会議、関係しそうな人にはとりあえずお声がけ、こういった考えで、すぐに会議ソリューションを選択するのです。酷い場合には、目的もゴールもあいまいなまま会議を設定していることもあります。とりあえずビール的な考えで設定されたら会議は増えていく一方で、このような環境で複数のプロジェクトを兼務することになれば、当然、1日のスケジュールのほとんどは会議で埋まってしまいます。
・必要性を問わずに会議に参加している
会議に呼ばれたら、何も考えずに参加している人が、あまりにも多いです。何のために呼ばれたのか、自分がいなければ成立しないのか、そういったことを確認もせずに、疑問にも感じずに、ただ呼ばれたから参加している。入社数年の担当者なら仕方ない面もありますが、このような意識で兼務しようものなら、当然、時間はなくなってしまいます。
・慣れている仕事を優先しがち
心理的な要素もあると思いますが、慣れていないことより、慣れたことを優先してしまう人は多いです。同じ期日で複数のやることがあった場合、慣れていない作業の方が見込みがわからないので、リスクを考えれば先にやった方が良いのですが、慣れていることを先にやってしまう人がとても多いです。その結果、慣れていない作業が時間切れとなり期日に間に合わなくなってしまうのです。
後回しにされてしまう理由
前述のようなクライアントの働き方について開発ベンダーからお願いしても、なかなか変わるものではありませんが、仮に会議が重なったとしても重要な方を優先してもらうことは出来るはずです。にもかかわらず担当者の時間が取れないために遅延するのは、開発ベンダーの怠慢さが理由の可能性もあります。
・クライアントが役割を理解していない(重要性が伝わっていない)
ひとつ目は、クライアントが役割と必要な作業量を理解していない場合です。システム開発経験のないユーザー部門がクライアントの場合には、開発ベンダーへ委託したのだから自分たちの作業は無いと思ってしまう、あるいは開発ベンダーがなんとかしてくれると考えているふしがあります。これは、事前に開発ベンダーからクライアントへ役割と必要な作業計画をしっかりと伝えられていないことが原因の可能性があります。
・しっかり依頼していない(期日が伝わっていない)
ふたつ目は、開発ベンダーが受け身体質な場合です。クライアントへの依頼をはっきり出来ないエンジニアは結構います。受託者の立場として、上からの物言いは難しい関係性でもありますが、計画に基づき進めていくためには、クライアントの作業も期日を切ってはっきりと依頼し、管理しなければいけません。期日を指定せずに依頼したために、作業を後回しにされてしまっている可能性もあります。
このふたつが重なっている状況は、最も危険です。クライアントはベンダーに任せたから大丈夫と考え、ベンダーは合意があいまいなままそれとなく進めていく、この構図で進むと、遅延が繰り返されるか、品質がぼろぼろでテスト工程で爆発するパターンです。
クライアントが上でベンダーが下とか、発注側と受託側とか、そういう関係性ではなくて、クライアントがやりたいことを実現するためにはクライアントとベンダーが一体感をもって取り組む気持ちが大切だと思います。ラグビーW杯で流行ったワンチームですね。
クライアントの責による遅延は無害か?
ところで、クライアントの責によりプロジェクトが遅延した場合、開発ベンダーに害はなのでしょうか。クライアント作業も含めたスケジュールを合意し、いつまでに作業を完了してもらわないと後続タスクが遅れるという予定を伝えた上で、きっちりとした期日をもって依頼したとします。それでもクライアントの時間が取れずに遅延した場合には、クライアントの責任であることは明確なため、開発ベンダーには何の害もないように思うかもしれません。実はそうとも言えないのです。なぜなら、遅延の理由がクライアントであっても、それをリカバリするための対策やリスケジュール案を考えるのは開発ベンダーに求められるからです。リスケジュールすることになれば、タスクの組み換え、売上見通しの修正、サブコンとの契約変更など多くの面倒な作業が湧いてくることになります。クライアントの責任だからと言って、放置しておくと何の成果にもならない無駄に面倒な作業が増えるだけで良いことはないのです。なので、クライアント作業も含めた進捗管理はプロジェクトマネージャーにとっては必要なことであり、兼務による遅延リスクの対策はとるべきなのです。
兼務リスクへの3つの対策
クライアント担当者が兼務ばかりの体制でプロジェクトマネージャーを任されたら、どうしますか?
開発ベンダーとしてクライアント作業の計画と重要性を伝えることは当たり前にするとして、さらに取るべき対策が3つあります。この対策をとることで、開発側の負荷を高めることなく遅延リスクを低減できます。
1.クライアント責任者と共有する
担当者が役割と必要な作業を理解していても、責任者が理解していない可能性があります。責任者にも役割と作業計画を伝え、状況によっては進捗遅延のリスクがあることを理解してもらうことが大切です。その上で、担当者が兼務のままで良いか判断してもらいましょう。多少、儀式的な意味合いもありますが、責任者が明示的に判断することで、クライアントの気持ちとパワーをプロジェクトに向かせることができます。本来は、プロジェクト開始前に合意しておくべきですが、途中からでも認識を合わせることは大切です。
2.クライアント側に相談役を立てる
担当者の経験が十分でないと、適切な判断ができずに作業が後回しにされてしまう可能性があります。別プロジェクトの状況は、開発ベンダーにはわかりませんし、もしかしたら責任者も詳細に把握していないことも考えられます。作業の優先付けを担当者任せにすることにリスクがある場合は、クライアント側に相談役を立ててもらうことをお願いしましょう。作業が重なった場合に、どちらを優先すべきかを相談役に相談することで、適切な判断が得られやすく遅延のリスクを減らすことが出来ます。
3.兼務プロジェクトの状況を報告してもらう
プロジェクトの状況は日々変わります。こちらのプロジェクトが忙しくても、もう一方が落ち着いていればバランスを取れますが、どちらも忙しい状況になってしまったら、どちらかのプロジェクトに必ず遅れが生じます。先手を打つために、責任者も参加する定例会議の場で、各担当者に兼務プロジェクトの状況も簡単に報告してもらうようにします。双方のプロジェクトの今後の計画と作業量を考えて、兼務のままでいくか、他プロジェクトとの調整が必要か、責任者に判断をもとめましょう。担当者自身が調整を行うことが難しい場合もあるため、責任者に調整をお願いすることも有効です。担当者が困っていることを開発側のプロジェクトマネージャーが代弁することで、担当者から感謝されますし、遅延なく進捗すれば責任者としても嬉しいはずです。
まとめ
クライアントのやりたいことなのに、開発ベンダーに委託したのだから後はよろしく的な感じでは、プロジェクトがうまくいくはずがありません。クライアントに当事者意識をもってもらい、いかに一体感をもって進めていくか、これが「クライアントの巻き込みが足りない」の意味であり、プロジェクトマネージャーの重要な役割のひとつです。
開発ベンダーにとっては常識でも、クライアントが役割と作業量を理解していないこともあります。どのような役割で、いつどれくらいの作業をやってもらう必要があるか、クライアントと認識を合わせておくことは大前提として必要です。その上で、出来るだけクライアントを巻き込み、責任者とリスクを共有し、状況を確認しながら一体的に進めていくことが大切と考えています。
効率的なシステム開発や、あらゆる技術を利用したDX化はアタラキシアディーエックス株式会社までご相談ください!