見出し画像

「オンラインプロジェクトマネジメント(OPM)」のテクニックに関する一考察

##こんな人に読んでほしい

・完全フルリモートのプロジェクトや、「大人数」「短納期」「メンバーのことをよく知らない」プロジェクトでマネジメントが上手くいかず悩んでいるPM
・チーム開発で失敗・炎上したくないと思っているエンジニア
・ハッカソン未経験者・初心者、チーム開発を避けているハッカソン常連者

##筆者の普段の立ち位置

1.ソフトウェアエンジニア(2007〜現在)
2.プロジェクトマネージャー(2012〜現在)
3.ハッカソン企画・運営者(2017〜現在)

今回は「2.プロジェクトマネージャー」(以下、PM)としての振る舞いに関するお話です。

#まえがき

新型コロナウィルス感染拡大が進行するこの数ヶ月で、「完全フルリモートの状況における開発プロジェクトの進め方すなわち「オンラインプロジェクトマネジメント(OPM)」の需要が以前にも増して高まっているように感じる今日この頃。

ちなみに、よくあるプロジェクトマネジメントは・・・

「ToDo(タスク)を明確にして、メンバーの技術スタックやメンバーの希望に応じて割り振ろう!」
「PGの進捗確認とPOとのコミュニケーションを定期的にしよう!」
「そんなことより、とりあえずキックオフ飲み!」

というかんじですが、今後はハッカソンでも開発現場においてもオンラインが前提となると、この常識が通用しなくなる懸念があります。

そこで、私が先日参加したオンライン開催のハッカソンイベントの振り返りとして、いかに「最短時間で」かつ「お互いのことをよく知らないチームで」成果を出すかについての考察を共有します。


#どんなイベント

2020年4月18日にオンライン会議システム「Remo」上で開催された、ハッカソンイベント「ProtoOutハッカソン」です。

ざっくり説明すると、
・朝に集合してオンライン上で初めて出会う人とその場でチームを結成し
・テーマに沿って何か動くものを作り成果物を競い合う
・1日がかり(実際の開発タイムは6時間程度)のイベント
です。

成果発表会後の相互投票で、私たちのチーム「ねこしぇるじゅ」は、
12チーム中【2位タイ】という良いアウトプットを出すことができました。


##筆者のチームでの役割

1.PO - Product Owner(企画発案者)
2.PG - Programmer(開発者)
3.PM - Project Manager(要件定義、全体設計、結合テスト、進捗管理、成果物管理)

今回は「3.PM」に関するお話です。


##赤の他人同士が出会うまで
私はもともと、開催時間中の昼間の重要な2時間に仕事の打ち合わせが入っていたこともあり、他のメンバーに迷惑をかけないよう1人チーム(俗に言う「ぼっちソン」)の想定で当日の朝を迎えていました。

ところが、チームビルドでアイデア発散と収束の流れに身を任せた結果、「ねこしぇるじゅ」という6人のチームが結成されました。6人という人数は、今回のハッカソンにおいて、12チーム中最多のメンバー数でした。


##チーム開発の難しさ
一般論として、開発チームは人数が増えれば増えるほどコミュニケーションコストが増えるため開発効率が悪くなり、成果が出にくくなる傾向があります。

これはハッカソンでも同様で、俗に「チームビルドガチャ」と揶揄されることもあるほど。(作業に集中するべく、チーム開発を極力避けているハッカソン常連者も多いのではないかと推測します。)

加えて、成果発表までの残されたハックタイムは、およそ6時間。
さらに、コミュニケーションの手段はオンラインに限定されている。

こうして振り返ってみると、開発プロジェクトの失敗パターンとして取り上げられる「大人数」「短納期」「メンバーのことをよく知らない」という悪条件が見事に揃っていたことは言うまでもありません。


#考察 :悪条件でなぜ成果が出たか

-1.方向性やGOALをシンプルに言語化した
もともと「猫」という分かりやすい共通言語でチームが結成されていたため「それぞれがやりたいことを実現する」「新しい技術に触れて学びや気づきを得る」というGOALを、以下のコンセプトで一言で示して共有しました。

画像1

プロジェクトのキックオフにおいて、ある程度の方向性を共有し意識統一を図ることは、その後の作業進捗において一定の役割を果たしたのではないかと考えます。
(これは、会社で言うところの「企業理念」や「Vision」に通ずる部分かもしれません。)


-2.情報の共有をSlackに一元化した
短期間のプロジェクト管理のためにわざわざBacklogやRedmine、Trelloなどのツールを立てる必要はないと考えます。

今回、作業に必要な情報はSlackの #general channelに共有しました。

画像2

Slackの投稿のポイントは

・長いテキストで「読ませる」投稿は控え、基本的に「一文+URL」をひたすら投下した。
・通知が都度送られないよう、Q&Aのやりとりはスレッドで行った。
・全体の進捗はSlackの#generalで共有、個別のタスクはpublic channelを作成した。

画像5

画像6

全ての情報とコミュニケーションをSlackに一元化することでツールが散らばらず、また不要な通知も送信されることなく、結果として全体の作業時間の短縮と作業効率の向上につながったのではないかと考えます。

つまり言いたいことは、Slack最高!!!!!!!


-3.メンバーの心理的安全性を担保した
心理的安全性とは、 チームのメンバーがそれぞれ不安を抱えることなく、自分の考えを自由に発言できたり、行動に移したりできる状態 をいいます。

ハッカソンや失敗プロジェクトでは、技術的に弱いメンバーの「放置プレイ」がしばしば散見されます。ただ、これは本来喜びを得られるはずの「ものづくり」という行為に恐怖感を与えてしまう、最悪の文化の1つだと思っています。

心理的安全性を担保するPMの振る舞いの事例としては

・一人では自走が不安なメンバーについては、ToDo(タスク)の役割分担を「メンター」「メンティー」の2名体制とした。
・「初めてでも大丈夫!」という根拠のない自信で振る舞った。
・プロジェクト自体を「学びを得る機会」と明確に位置付け、役割分担実施後〜開発着手前にプチハンズオンを実施した。

こうしたアクションが、結果として心理的プレッシャーを下げ、開発効率を上げることに寄与したのではないかと考えます。


#まとめ

オンラインハッカソンイベントでチーム開発を行った経験から、オンラインプロジェクトマネジメント(OPM)のエッセンスを抽出してみました。

1.方向性やGOALをシンプルに言語化した
2.情報の共有をSlackに一元化した
3.メンバーの心理的安全性を担保した

なお、良い成果を収めた要因には「素晴らしいメンバーに恵まれた」「運営の体制が安定していた」「発表順に恵まれた」という要素が含まれていることも補足しておきます。

今後オンラインハッカソンやフルリモート開発プロジェクトなど、「大人数」「短納期」「メンバーのことをよく知らない」といった悪条件下での開発が増えるということは、チームとして成果が出ず、炎上するプロジェクトが増えることを意味します。

・・・が、そんなことはもちろん誰も望んでいません。

このエントリーが助けになり、オンラインハッカソンやフルリモート開発プロジェクトのマネジメントに苦慮するPMが1人でも減ることを願っています。

#Enjoy OPM!!!

オンラインプロジェクトマネジメントを楽しもう!

#PR

このエントリーで紹介した「オンラインプロジェクトマネジメント(OPM)」のテクニックは、ハッカソンはもちろんのこと、実際のサービス開発の現場でも使えます。

直近の好例は、先端技術開発や新規事業・プロトタイプの開発を得意とする弊社「GONENGO LLC」が企画・開発・運用を行うWEBサービス「#sosmapjapan」です。

画像4

画像3


メンバー3人で設計、プロトタイプ製作、仮説検証、サービス実装、戦略立案、サービス公開までを2週間で行い、公開後4週間で10万アクセスを達成しています。

「#sosmapjapan」では、ショップのデータ登録やSNSでの拡散を行う「#おうちボランティア」の取り組みを推進しています。

お困りのショップの声が1人でも多くの方に届くよう、ぜひTwitterとInsragramのアカウントをフォロー&シェアにご協力頂けると助かります!

弊社への「リモートワーク、PM、開発に関するご相談」「採用・インターンのご希望」は、フォームからお気軽にどうぞ。

ありがとうございました。


##補足
このエントリーは「ねこしぇるじゅ・アドベントカレンダー」4日目の記事です。


いいなと思ったら応援しよう!

xinsuzuki
サポートいただければ次の記事を書く励みになるので、よろしければお願いします!