新卒2年目で開発PMに挑戦して得られた学びと成長
株式会社ココナラ、Web開発グループのフロントエンドチームでエンジニアをしているのんちゃんと申します!
新卒で入社して2年目。社会人としての基礎を学びながら、少しずつ仕事にも慣れてきた頃、開発PM(テクニカルプロジェクトマネージャー、TPMとも呼ばれます)を任されることになりました。右も左も分からない状態からのスタートでしたが、この経験は私にとって大きな成長の機会となりました。
この記事では、私が新卒2年目で開発PMを経験した中で得られた学びや壁、そして成長についてお話しします。
開発PMとは?
まず、開発PMとは何かについて簡単にご説明します。
開発PMとは、プロダクト開発の効率化と品質向上を目指し、エンジニアリングの知見を活かしてプロダクト開発を推進する役割です。
具体的には、ロードマップに基づいたプロジェクト計画の策定、各タスクの優先順位付け、進捗管理、リスク管理、そして関係者間のコミュニケーション円滑化などを担います。また、仕様変更やデザイン調整が発生した場合には、PM(プロダクトマネージャー)と連携し、エンジニアとの間に立って適切な調整を行うことで、プロジェクトを成功に導きます。
プロジェクト概要
開発PMの業務の詳細について触れる前に、前提として私が担当したプロジェクトの規模は、以下になります。
- 開発期間:2024年7月1日~12月9日
- メンバー構成:
- PM:3名
- デザイナー:1名
- フロントエンド:5名
- バックエンド:4名
- iOS:3名
- Android:2名
- DevOps:1名
開発期間は約半年、19名のメンバーでプロジェクトを進めました。
では、本プロジェクトにおける開発PMとしての私の役割を、以下に詳しく説明します。
開発スケジュール管理
1.実装前の管理
PMと密に連携して詳細なスケジュールを作成し、マイルストーンを設定します。このマイルストーンをプロジェクトメンバー全員に周知し、意識を高めることで、プロジェクト全体の目標を共有します。「スケジュールを守ること」を最優先とし、あらゆる手段を考慮し期限内の達成を目指します。
各領域の設計やタスクの洗い出しを基に、全体の作業スケジュールを調整します。各分野のメンバーのストーリーポイントからプロジェクト全体のクリティカルパスを考慮し、スケジュールを立てます。スケジュールにムダがないか、タスクの優先順位に誤りがないかを常に確認し、効率的なプロジェクト進行を心がけます。
2.開発時の管理
実装段階においても、スケジュール管理は徹底します。そして、週次開発定例会議を設定し、円滑なコミュニケーションと情報共有を促進します。開発中に発生する可能性のあるさまざまな問題に対し、迅速かつ適切な調整を行います。
- 仕様や設計の考慮漏れ
- 開発スケジュールの遅延
- その他の現場の混乱
これらの問題に対応し、プロジェクトの進行を円滑に保ちます。
QA(品質保証)タスクの管理(内容、担当者の割り当て状況、進捗確認)を行い、修正作業のスケジュール管理も行います。これにより、品質の高いプロダクトを計画通りにユーザーへ提供できるように努めます。
非エンジニア領域とエンジニアとの調整
1.仕様変更・調整が発生した場合
まず、PMと適切に連携し、変更内容の詳細、影響範囲、スケジュールへの影響などを話し合います。その際、エンジニアとの間に立ち、技術的な実現可能性や懸念点を正確にPMに伝えることで、的確な判断をサポートします。また、変更内容が確定した後も、エンジニアから定期的に情報収集を行い、スムーズな実装が行えているかの現状確認を常に行います。
2.デザイン調整が発生した場合
デザイン調整が必要になった場合も、PMと連携し、デザインの把握、技術的な実現可能性、スケジュールへの影響などを話し合います。デザイナーとエンジニアの間で認識の齟齬がないように、綿密にコミュニケーションを取り、調整を円滑に進めることが重要です。デザイン変更による影響を最小限に抑えつつ、プロジェクト全体の目標達成を目指します。
PMのサポート
1.要件定義のサポート
要件定義段階から技術的な視点で積極的に関わり、実現可能性や概算の工数感に関するアドバイスを提供します。これにより、現実的かつ効率的なプロジェクト計画の策定をサポートします。
2.テストケース作成のサポート
テストケースの作成に関する相談に応じ、レビューには積極的に顔を出します。技術的な知識を活かし、網羅的で効果的なテストケースの作成に携わることで、品質の高いプロダクトを目指します。
3.PMとの役割分担の明確化
PMとプロジェクト内での役割分担について綿密にすり合わせを行います。責任範囲を明確にすることで、スムーズな連携と効率的なプロジェクト運営に繋げます。
4.PMへの包括的なサポート
上記以外にも、PMが困った際には柔軟に対応し、さまざまなサポートを行います。技術的な課題解決はもちろん、プロジェクト運営に関するアドバイスや情報提供など、PMが抱えるさまざまな問題解決をサポートします。
各種ドキュメントの進捗管理
1.ドキュメントレビューの実施と管理
プロジェクト内で作成された開発ドキュメント(機能要件、非機能要件、基本・詳細設計など)に対して、プロジェクト関係者のエンジニア間でレビューを実施します。技術的な正確性や可読性などを確認し、品質向上に貢献します。また、最終的な承認者によるレビューが完了しているかどうかの進捗管理を行い、レビュー全体の円滑な進行を管理します。
2.会議への参加とサポート
プロジェクトにおいて、必要に応じて設定される会議に参加し、技術的な視点から決定事項の促進をサポートします。特に、技術的な側面からの意見が求められる場合には、積極的に発言し、プロジェクトの成功に貢献します。
リリースの進捗管理
1.リリース手順書の作成と管理
リリース作業を円滑に進めるための手順書を作成し、関係者間で共有します。手順書には、各作業の担当者、作業内容、所要時間、確認事項などを明確に記載します。また、手順書の進捗状況を常に把握し、必要に応じて修正や更新を行います。
2.リリース当日の進捗管理
リリース当日には、リアルタイムで進捗状況を把握し、問題が発生した場合には迅速に対応できるように進捗管理を行います。各作業の担当者からの報告を受け、全体の進捗状況を常に把握します。また、遅延や問題が発生した場合には、関係者と連携して迅速に解決策を見つけ、リリース作業を円滑に進めます。
直面した壁と乗り越え方
開発PMの仕事は、思っていたよりも壁がありました。特に、コミュニケーション、時間管理、そして常にあったプレッシャーという3つの点で苦労しました。
それぞれの乗り越え方と一緒にご紹介します。
1.コミュニケーション
コミュニケーションの壁
ビジネスサイドとエンジニアサイドの橋渡し役としてのコミュニケーションは難しかったポイントです。ビジネスサイドは、専門用語を使わずに分かりやすく説明することを求めます。一方、エンジニアサイドは、技術的な詳細を正確に伝えることを重視します。両サイドに均等に伝わるように、適切な言葉を選び、分かりやすく説明する必要があるのですが、それは難しかったです。特に、技術的な内容をビジネスサイドに理解してもらうためには、専門用語を避け、具体的な例えを用いたりなどの工夫が必要でした。
乗り越え方
コミュニケーションを円滑に進めるために、会議前には議題を把握することでスムーズな議論を促し、積極的に質問することで相手の意図を正確に理解するよう努め、さらに報告・連絡・相談を正確に行うことで情報共有を徹底しました。
2.時間管理
時間管理の壁
複数の業務を同時進行する必要があり、時間管理は特に工夫が必要でした。複数の会議への参加、議事録作成、進捗管理、課題対応など、日々発生するタスクをこなしながら、プロジェクト全体のスケジュール管理も行わなければなりません。限られた時間の中で、どのタスクを優先すべきか、どのように時間配分をするべきか、判断に悩むことは多かったです。
乗り越え方
限られた時間の中で最大限の成果を出すために、作業時間を区切って集中力を高め、必要に応じてタスクを断る勇気を持つことで、重要な業務に注力できるようにしました。
3.プレッシャー
プレッシャーの壁
半年間という限られた期間でプロジェクトを成功させなければならないというプレッシャーは大きかったです。スケジュール遅延や予期せぬトラブルが発生した場合には、関係各所への報告や調整、対策の検討など、迅速な対応が求められます。そのような状況下で、冷静さを保ち、適切な判断を下すのは難しかったです。
乗り越え方
プレッシャーを感じた時には、上司や同僚に相談して負担を軽減し、常にポジティブ思考を心がけることで、困難な状況にも前向きに対処できるようにしました。
得られた学びと成長
開発PMの経験を通じて、私は多くのことを学び、大きく成長することができました。
1.プロジェクト管理スキル
実際にプロジェクトを動かす中で、計画、進捗管理、リスク管理など、実践的なスキルを身につけました。計画通りに進まない時や、トラブルが起きた時の対応力が鍛えられたと思います。
2.コミュニケーション能力
さまざまな人と関わる中で、分かりやすく説明する力、意見をまとめる力、そして信頼関係を作る力が向上しました。特に、技術的なことを分かりやすく伝えるのは難しかったですが、良い経験になりました。
3.リーダーシップ
チームをまとめ、目標達成に導くリーダーシップを学びました。メンバーのやる気を引き出し、それぞれの力を最大限に活かすことの大切さを実感しました。
4.問題解決能力
プロジェクトを進める中で、さまざまな問題に直面しました。その度に、解決策を考え、実行することで、問題解決能力が向上しました。
5.責任感
「プロジェクトの成功」という責任を果たす中で、責任感がより一層強くなりました。
新卒2年目で開発PMを経験するメリット
新卒2年目で開発PMを経験することは、若いうちから責任のある仕事を任されることで成長スピードが加速し、その後のキャリアアップに大きく貢献するプロジェクト管理経験を得られます。
さらに、プロジェクト管理スキルは多くの企業で求められるため、市場価値向上にもつながります。
開発PMに挑戦する上で大切なことは、経験不足を恐れずにまず挑戦すること、常に学び続ける姿勢を持つこと、一人で抱え込まず周りの人に積極的に頼ること、関係者との密なコミュニケーションを通して信頼関係を築くこと、そして失敗を恐れずに学びの機会と捉え次に活かすことです。
これらの心構えが、これから開発PMに挑戦する方々の参考になれば幸いです。
おわりに
新卒2年目で開発PMを経験することは、決して簡単なことではありませんでしたが、私にとって非常に貴重な経験となりました。この経験を通じて得られた学びや成長は、今後のキャリアに大きく役立つと感じています。
もし、私と同じように若いうちから開発PMに挑戦する機会があれば、ぜひ積極的に挑戦してみてください。
さいごに
ココナラではフロントエンド領域に限らず、各領域のエンジニアを募集しています。
よろしければぜひ以下のページもご覧ください。
フロントエンドの求人はこちらです。ご応募お待ちしております!
Discussion