昨今注目されているデータ分析。
プロジェクトの成否はプロジェクトメンバーによって大きく変わるのはわかるが、経験と勘に頼った管理手法で大丈夫かと思っているれいです。
方法論を1・2と書いてきてある程度分かったような分からなかったような、データサイエンティスト(メンバー)として勤務することもあったので、今回は総集編ということで書きます。
前提として、1.2を読んでみると理解が捗ります。
データ分析コンサルティング企業で学んだプロジェクトマネージャーの方法論(1)
データ分析コンサルティング企業で学んだプロジェクトマネージャーの方法論(2)
お話の前提
・「未経験者を採用して鍛える」会社です
・「要件定義~分析方針決定~分析~納品まで一人称でできる人?なかなか居ないよ」な会社です
・「プロジェクトマネージャー?現場で頑張って覚えてね」な会社です
むしろ、この前提であるからこそ、他の会社でも応用可能な話になっている気がする。
つまり、潤沢な資金でスキルがある良い人を採用できる企業には当てはまりません。
プロジェクトマネージャーがすべきこと
今回は社内、特にメンバーに対しての心構えです。
- 全体観を伝える
- プロジェクトに100%はない
- メンバーに必要な情報を提供できる環境を整え、プロジェクトに集中してもらう
分析プロジェクトはメンバーによって成否がほぼ決まります。プロジェクトマネージャーはそれを壊すことができます。悪い意味で。今回はアンチパターン的なモノですね。
1・全体観を伝える
まずはプロジェクト開始時点で全体観を伝えましょう。当たり前じゃないの?と思う方も多いかもしれませんがたまにいます。
観点は以下の通りです。詳細はPMBOKやDMBOKをご覧ください。
- 統合マネジメント
- スコープマネジメント
- スケジュールマネジメント
- コストマネジメント
- 品質マネジメント
- 資源マネジメント
- コミュニケーションマネジメント
- ステークホルダーマネジメント
- リスクマネジメント
- 調達マネジメント
この観点がない、または権限がない場合はかなり炎上しやすいです。プロジェクトマネージャーはプロジェクトの意思決定と指示を任されていますが、何を意思決定していいのか分からなければ当たり前ですよね。
特にスコープマネジメント、課題や作業範囲設定・管理をおろそかにしていると高い確率で炎上します。お客さんの言う通りではなく、あなたの仕事はプロジェクトの期間内の完遂がゴールです。急な変更や追加要件を言ってくるクライアントには、野村HDが日本IBMに「敗訴確定」、システム開発の失敗巡る訴訟の上告を取り下げを見せてください。
コンサルティング会社あるあるかもしれませんが、案件の営業時点でスコープ設定が残念なことになっていて要修正だったり、不可能な内容が当然のように実施されることを見たことがあります。同時並行していた他社さんの案件でしたが。開始時点で詰んでるやんコレとしないためにも、全体観をまとめておきましょう。
2・プロジェクトに100%はない
プロジェクトは予定外ならいくらでもあります。ただ、予定外をそのままメンバーに投げると不満が貯まります。
若手世代ではなぜそれをしなければならないか対話をする必要があるようですし、作業内容の変更を明確にしないと動けない人も出てきます。責任を持ちたくないがゆえにメンバー層に居る人もいますので、その人たちのためにも、100%はないこと、もし想定外が起こったらどうしたいかを話しておきましょう。
メンバーに必要な情報を提供できる環境を整え、プロジェクトに集中してもらう
最後に、良く忘れられているように思うのでこちらを。
プロジェクトメンバーは人間です。生物学的に1つのタスクに集中したほうが成果が出やすいです。かつ、心理状態で成果は変わってしまいます。そのため、プロジェクトメンバーに割り振る仕事をコントロールすることや、あなた自身を信頼されるようにしたいですね。
そのためには、予定設定とモニタリングが必要です。
先に仕事量を見積もり、後で追加しない
見積もりすらしていないのにもかかわらず、続々と予定外のタスクを積まれて後よろしく!ヤメテ
スコープマネジメント大丈夫なの?というのもあります。なぜ予定外のタスクが生まれるのか…
あとは、心理的に断れない人が存在することで、後述の残業時間爆発が起こりやすくなります。ふつうに病めますね。
休みを取ってもらう
スケジュールを設定する際、休みの予定を先に取ってもらいます。なぜかというと、自社の都合でプロジェクトが終わっても、すぐ次のプロジェクトがあるので休んでられない問題があります。
自己の仕事に対して意思決定ができることは、自己肯定感を高めることが知られています。時短勤務必須な方もいらっしゃいますし、子どもの行事に行きたいという方もいらっしゃるでしょう。あくまで仕事は従の存在です。
残業時間をモニタリングする
最低週1回、各メンバーの業務時間と残業時間をモニタリングしましょう。
もし予定外追加タスクを振らざるを得ない場合、必ず見ましょう。断れずに燃えている人も良く見かけます。特にジュニアの方は早く一人立ちしたいということで、無茶をやらかしがちです。
以上のように、プロジェクトマネージャーは多岐にわたる業務をカバーします。それは、プロジェクトで一番弱いメンバーを守るためでもあります。社内に居る稀有な人材をマネジメントで守っていきたいところです。採用が厳しくなっていく現状で、育った人から出ていくようでは持続可能な会社になりません。
データ分析こぼれ話
私自身データ分析を学ぶことに強い興味があり、以下はあまり知られてないこと思うので書いておきます。スキルの話です。
会社のレベルや事業内容によって必要とされるスキルが大きく異なります。DockerやGitをまず学べ的な講座がありますが、すごく限定的な範囲の大手事業会社にのみ当てはまる内容だと思います。私たちの会社では、SQLとエクセルを使えるようにした方が良いです。
DockerやGitを必要とする企業を具体的に書くと、メインサービスをはじめ、マイクロサービスを複数展開している事業会社です。
その背景からデータ分析が常に必要で、サービスの基盤がAWSなどのクラウド上にあり、Kubernetes(Dockerのおばけ;k8s)を利用したCI/CDパイプラインを持っている。そのため、GitやDocker等の知識が必要。
そんな会社に、技術背景がよくわかっていないような特定の講座を受ける人が必要とされるのか。新卒カードがあれば別かもしれない。
※その他にGitやDockerを必要としている会社様もいらっしゃいますが、全ての会社を均してみると確率的に3割もないのではないかと思います。それでも必要でしょうか。
SQLとエクセルはよく使います。なぜなら、データウェアハウス(DWH)にGoogle Big Queryを使っており、ある程度大きな量のデータになるとSQLでなければ、データ抽出の処理速度が話にならないからです。例えば、サービスのバックエンドにMySQLを使っているものがあり、そこから行動データにアクセスするために、データベースに直接クエリをしたことがありますが1処理に1時間かかることもざらです。メモリエラーも良く出るし。単純につらい。あと、データサイエンティストを1時間も待たせていていると作業が給与に見合いません。経営的にもつらい。
※他社だとAWS S3に格納されていることがあります。Azureはまだ見たことが無い。
Pythonが必要かと言われると・・・初学者にはそこまで必要がないです。実際の案件で、大量のエクセルファイルをまとめて読み込んで前処理することはありますが、あくまでDWHでのデータ抽出経験者がそのノウハウを使って応用的に行っているだけです。それを行うには、集計条件設定や分析設計ができないと全く任せられません。初学者に任せると、要件に合わない変なデータが出てくるの分かっているので自社ではきっちりとしたSQL研修があります。あとは、その大量のデータ、DWHに入れたほうが取り扱いしやすくない?なんで一元管理されてないの?という、普通管理しやすい方法が取られているハズのところが抜けもれている環境が意味することとは・・・?
Pythonはアドホック(その場限り)に対応するために必要ですが、その技術背景を知らないような方に必要ではないです(辛辣ゥ…)。Pythonで注目されている機械学習も、初学者が担当するよりAutoML(PycaretやDataRobot)に任せた方が強くて品質が担保できます。ならPythonの使い道とは・・・?
そんな話でした。
さいごに
今の会社で3年近く、新卒から7年間社会に出て仕事をしてきました。ルーチンワークもあり、プロジェクトワークもありました。
今の世の流れだと、プロジェクトは仕事の比率としてより増えます。
そのためにあなたに何ができるのでしょうか?何がしたいでしょうか。そのヒントとしてこの記事があります。
人は知覚できる範囲でしか行動を変えられません。だからこそ、よく知っておいて欲しいのです。失敗しないために。