大手SI企業におけるPMOに求められる仕事力

フロントエンドの技術者が全日本的に不足

私は昨年の11月から愛知県の大手製造業の試作品管理システム開発プロジェクトに参画をしています。本プロジェクトは、従来の開発技術を旧技術基盤とした場合に、今回技術選定を新たにすることで、新基盤上での開発が進められることとなり、私にも白羽の矢が立ちました。具体的には、最近のシステム開発におけるモノリスからマイクロサービスという時代の流れを受けて、フロントエンドとバックエンドを分けた開発になるということで、フロントエンド、つまりはReactの技術者が不足するということで、お呼びがかかったわけです。

自社は2020年頃から、ReactやVue.jsを活用したプロジェクトを自社案件で生み出しながら経験を積んできていたので、その経験資産が生かされることとなりました。三重県内でReactやVue.jsの技術経験を積めるのは自社くらいなのではないかと思えるほど、地方ではフロントエンドの技術はあまり使われていません。ウェブ制作ではウェブ制作用の技術があるし、システム開発は従来のモノリシックな開発技術が中心です。技術的に支援が必要ということで、新基盤の技術支援という形で技術コンサルティング的な立ち位置でチーム全体のフロントエンドの開発を支援するポジションで参画をすることになりました。

プロジェクト進捗に合わせた私の役割

外部設計フェーズにモック開発者として参画

昨年11月から今年の1月までの3か月間は外部設計フェーズでした。外部設計フェーズでは、一部の機能をモックとして開発することで、全体の開発工数削減を目的に実施されました。私自身もReactでの開発はそこまで豊富にあったわけではありませんが、フロントエンドとバックエンドを分けた場合の開発技術に関しては従来のシステム会社はほとんど経験がない場合が多かったようです。実際に、Reactを書いたことがあった私とお客様企業内のスーパーバイザの方がモック開発にアサインされ、一緒になって開発を進めることになりました。

外部設計フェーズのモック開発に関しては、技術的に質問できる人が、お客様の技術担当者以外に居ませんので、独力で様々な課題を解決しながら実装を進めていくことが求められます。外部設計フェーズに参画できるようなスキル感というのは、一人称での業務遂行が最低限出来るところまでのスキルが必要です。

内部設計フェーズでは環境構築などを担当

2月に入ってからは、製造フェーズの準備として、内部設計のフェーズに入りました。内部設計フェーズでは、環境構築などのタスクに対応をしました。サーバーやデータベースを構築する支援を行いました。社内での結合テストに向けて、どのような環境で実施するかを検討し、社内で合意を取った上で、構築の担当者と協議しながら環境を作成しました。実際に作成担当者の方が躓くポイントがあれば、部分部分で自分の知見を共有しながら課題解決を支援しました。つまり、環境面に関しても独力である程度は何でも解決できるだけのスキル感が必要ということです。

製造フェーズではコードレビューやCIの構築を担当

4月に入ってからは、製造フェーズに入ったため、ソースの管理を行っていました。製造担当者がアップしてくるソースをコードレビューすることで、mainブランチにマージをしてく対応です。その他、開発を効率化するために、GitHub Actions を用いたCIの構築なども行いました。言語毎にCI用のタスク定義がされているのですが、それらが正常にパス出来ない場合に現場に差し戻したり、課題解決の支援をしたりしました。この部分でも技術的な課題解決の支援ができないといけません。

結合テストフェーズではテスト環境の整備などを担当

7月に入ってからは、結合テストが始まりましたが、結合テスト実施上の課題解決を支援する役割で動くことになりました。具体的な結合テストのタスクは自分自身は持たずに、何か突発的なタスクが発生した際に、柔軟にそれらに対応していく役回りです。結合テストが始まると様々な問題が発生しました。それらを1つ1つ調査しながら解決をしていくのが仕事でした。CIが成功しない場合には、その原因調査を行い、現場が書いてきたソースに問題があるのか、共通部分に問題があるのかを特定して、共通部分に問題がる場合はその解決まで担う形で対応を行いました。

PMOという役割

上記の対応を行っていく上で、マネジャーさんの業務管理の支援も行うような恰好になりました。お客様企業の支援としての役割で案件に入っているのですが、お客様側の立ち位置でもう2名のメンバーが所属していました。その2名の方々と協力しながら作業を進める必要がありました。その際に、マネジャーさんに確認を取りながら、全体がスムーズに進むような配慮しながら、案件を進める支援を行いました。業務整合が必要な際は、マネジャーさんの決裁を取りながら進めますが、その前段として検討できる内容をメンバーと議論して、マネジャーさんに確認をしながら案件を進めていくのが仕事でした。

私自身、自分が入っているポジションは、PMOというポジションだと自分自身では考えています。PMOというポジションは、案件を進捗させるための支援を行う立ち位置で、様々な課題解決を担うのが役割です。技術のことがわからなければ、業務上発生する課題を解決することができないため、案件を進捗させることが難しくなります。そのため、技術のこともある程度解決できるだけのスキルが必要です。技術に明るいメンバーが別にいる場合は良いですが、すべてのことをそのメンバーに確認しなければならないようであれば、PMOの存在価値はないと言えるでしょう。そのため、PMO自身が技術的な課題解決を担えるだけのスキルを保有している必要があります。

その上で、社内のメンバーとパートナーさんやマネジャーさんとの間に立って、判断ができるだけの情報を集めた上で、思考して、その結果をマネジャーさんに相談をして意思決定の支援を行うような動き方が求められます。案件進捗のボトルネックはマネジャーさんが担う課題解決や意思決定のスピードに左右される場合が多いため、そのボトルネックの支援を行うのがPMOとしての最大の仕事です。

PMOに必要なスキル

社会人としての基礎としてのコミュニケーション能力

PMOとして活躍するためには、コミュニケーション能力と技術力の両輪が必要です。社内外のメンバーとの業務調整を担う必要がありますし、その際に認識の不一致を起こさないように丁寧なコミュニケーションが求められます。

社内外のメンバーと認識合わせをすることを、今の現場では「整合」と言います。整合とは、認識合わせをすることを2文字にまとめた言葉です。業務上の課題について、どうするかの方針を整合して、いつまでに何をどうやって終わらせるのか、どう解決するのかを決めながら、案件を進捗させていきます。

また、コミュニケーション能力の土台は、私は基礎学力だと思っています。学生時代に勉強を疎かにしてきた方は、言語能力に問題が生じる場合が多いと思っています。加えて、ITスキルが重要なので、ITやシステム開発に関する用語を押さえている必要があります。それらが全て揃ったときに高いコミュニケーション能力が発揮され、時間の短縮が可能です。時間短縮が叶わなくても、認識に不一致が起きないような展開ができることが最低限必要なことなので、絶対に間違いが起きないような慎重なコミュニケーションが取れることが重要です。

普段より、論理的思考によって課題を解決しながら業務を進めますが、その課題解決方法や納期について、社内外で整合して、その整合した内容が確実に守れるようならプロジェクトの成功確率は高まる可能性が高いと思います。その上で、整合した内容通りにプロジェクトを進める能力も非常に重要です。常時整合を目指し、堅実に案件を進捗させられる土台を作るのがPMOとしての重要な仕事の1つです。

様々な課題解決を担うための技術力

その上で、技術的な課題解決も担うことが多いため、開発経験が最低限必要になります。開発経験を経ることで、インターネットなどで調査をしながら技術的な課題解決を担えるようなスキルが身につくと思いますが、それらの能力が求められるポジションだと言えます。

マイクロサービスにおいては、AWSやAzureなどのクラウド基盤に関するスキルも重要となりますし、バックエンドとフロントエンドのスキルにもそれぞれ精通している必要があります。従来のシステム会社が保有しているMVCフレームワークの技術だけでは、最近は通用しなくなってきているため、各システム会社も学び直しが求められるようになってきていると感じられます。自社も、現在の流れを更に進めて、学びながら技術力を強化していきたいと考えています。

上記に加えて、最近流行りの生成AIなどが業務利用できる場合は、それらも利用できると業務効率は高まると思えます。ただ、セキュリティの課題が残っている場合が多いため、職場によっては利用できないこともまだまだ多いでしょう。実際に今の職場では利用できないので、今後の課題です。現在は過渡期なので、今後の動向が気になりますね。

コミュニケーション能力と技術力をバランスよく身に着けて、プロジェクトで活躍できる人材を目指そう

「目指そう」と書いてはみたものの、私もまだまだ勉強中の身なので、技術力に関してはもっともっと勉強が必要で、これからも学び続けていく必要があると考えています。それでも、業務上の業務整合だけは間違いが起きないように、確実に業務を遂行していくつもりです。

現在のお客様先でのアーキテクト陣が口を揃えてコミュニケーション能力が大事だよねと言われるので、大手のSI会社での業務においては、コミュニケーション能力、つまりは業務整合能力が最低限必要となります。コミュニケーション能力の基礎は、基礎学力とも上記で書きましたが、学生時代から積み上げてきた学習経験がコミュニケーション能力に反映されると思いますので、学生の時代から、地道に勉強を重ねてコミュニケーション能力を高めていく必要があると思います。

ITスキルも当然必要な能力ではありますが、ITスキルだけではなく、社会人としての基礎力磨きを怠らないことが、PMOとして活躍する上では非常に重要なポイントとなると思いますので、日々学び続けることをやめずに、成長を続けながら、お客様に更なる価値を提供できると良いですね。私はこれからもまだまだ学び続けながら成長を続けて、私にしかできない支援を行っていきたいと思います。