今日では、すべての開発チームにソフトウェアエンジニアと製品マネージャーの両方がいるようです。私はソフトウェア業界の初心者ですが、何が違うのでしょうか。
私の経験では、最高の機能を備えたチームは、ライフサイクルのさまざまな役割の間で多少のスキルのオーバーラップを持っています。これにより、「壁越し」ではなく、各ステージ間のスムーズな移行が確実になります。
製品(または製品内の機能/ストーリー)の開発中、製品マネージャーとエンジニアは定義(PM)と実装の2つのステージの過半数所有者として調整されます。 (エンジニア)。
プロダクトマネージャー —プロダクトマネージャーは基本的に「機能デザイナー」であり、デザイナーでない場合はオーナーです。それらの入力は顧客/ビジネス要件であり、それらの出力はエンジニアが作業するための製品仕様です。
プロダクトマネージャーは通常、必要な機能の初期調査を行い(より大きなグループでは、ビジネスアナリストがこのステップを支援します)、それを大まかな要件と製品提案に編成します。ある時点で、エンジニアまたはアーキテクトが関与して、プロダクトマネージャーが何が実行可能であるかを認識し、それに応じて調整する必要があります。
仕様が提供された後、プロダクトマネージャーは多くの場合、本質的にスクラムプロセスの「プロダクトオーナー」、つまり「完了」を定義して最終作業を受け入れる責任者になります。
製品が完成したら、製品マネージャーはカスタマーサービス、マーケティング、さらには営業部門でさえ、開発されたものや最も魅力的な機能を理解するのを助ける責任があります。
Engineer —上記のように、エンジニアは、要件の定義を支援するためにプロセスに早期に参加することができます。しかし、エンジニアの仕事の主要部分は、製品仕様が定義され、作業が承認されたときに始まります。エンジニアは、仕様に従ってソフトウェアを実装するとともに、仕様で明らかになった問題を製品マネージャーに持ち帰って検討します。
通常、製品が十分に開発されると、エンジニアがQAプロセスにもっと関与する可能性がある一方で、製品マネージャーはバックグラウンドに少し入ります。
オーバーラップについては、前述したように、PMとエンジニアの間で前後します。この進化の間、プロダクトマネージャーが技術的に理解していれば、必要なエンジニアの時間を最小限に抑えることができます。エンジニアが製品のニーズをよりよく理解するほど、彼らの助言はより役立つでしょう。
プロダクトマネージャーの役割は、会社によって大きく異なります。
最悪の場合(そして残念ながら一般的なケース)、製品マネージャーは技術リーダーであり、仕様とリリースの職務が彼に課されます。
最良の場合、製品マネージャーは、開発者とクライアントおよびマネージャー間の連絡係として機能し、開発者が高品質の配信に必要な時間を確保できるようにします。通常、開発者をその地位に転任させるのではなく、専門の製品管理スキルを持つ人を雇うのが最善です。理想的には、製品マネージャーは少なくとも開発中のテクノロジーについて表面的に理解していることが望まれますが、深い技術的知識は確かに必要ありません。
私は、製品の宣伝や販売の方法など、さまざまなことを担当している製品マネージャーがいると思います。一方、エンジニアは製品の品質を四つん這いにする傾向があります。
免責事項:これは厳密にはプログラミングではないジョブの観点からのものです(私たちは必ずしもソフトウェアを出荷するわけではありません)
私が働いている会社では、ほとんどのプロダクトマネージャーがエンジニアです。彼らはいつも低レベルの仕事をするわけではないかもしれませんが、彼らは何が起こっているのかを明確に知っており、その一部を自分で行うことができます。プロジェクトマネージャーの役割は、顧客(複数の場合もある)、他のチーム(存在する場合)とやり取りし、下位管理職と上位管理職の間の連絡係として機能し、チームを全体的な目標に導くことです。彼らが正確に何をするか、わかりません。私はプロダクトマネージャーではありません。
ただし、会社によって異なります。
PMは開発マネージャーです。開発マネージャーは技術的なことをするかもしれませんが、常にではありません。PMには、開発者が直面している問題を理解するための技術的背景があります(これ以上、「画面ごとに30分以上かかるとはどういう意味ですか!」).
実を言うと、ソフトウェア分野への適用に関しては、「製品マネージャー」という用語が2つのうちの唯一の有効なものです。ソフトウェアの「エンジニアリング」のようにリモートで何かをする人はほとんどいない。 「ソフトウェアエンジニア」は、基本的には不適切な用語ですが、「コードモンキー」のポジションに応募しないため、見た目が良く、誤って使用されています。