会社には色々な仕事がある。ソフト会社では、顧客から依頼されて開発、あるいは自社製品を開発する。開発の規模は様々で、1人で数日もあれば済むものから、何十人もの人が何年もかかる仕事まである。
まとまった仕事の塊を「プロジェクト」と呼んでいて、複数人でやらねばならぬ規模になると、リーダーを立てる。このリーダーをプロジェクトマネージャと呼ぶ。プロジェクトの指揮者、責任者である。ただし、呼び方、決め方は企業により微妙に異なる。
たいていのプロジェクトは顧客から依頼されて開発する訳で、どういうものを作れば良いのか、いつまでに作れば良いのか、予算はいくらまで掛けられるのか、その他さまざまな条件が存在する。条件の多くは、作成を依頼した顧客にも不明な場合がある。
しかし、それでも何とかプログラムを作り、ビジネスの強力な武器にしたいことがある。非常にハッキリしている場合は作りやすいが、そういうものは誰でも作りやすく、作っても強力な武器にならない。
仕事を実行するには、人が必要である。非常に高い技術を持った人がいて、どんどんやってくれれば問題はないが、なかなかそうはいかない。複数の人間が集まると、意見はまとまらないものだ。それでも、予定日までには完成させねばならず、調整が必要だ。
顧客の無理な要求、市場の変化、技術の進歩、メンバーの技術力、協調性、意欲など多くの要素がからまり、トラブルが発生する。病気、退職によるメンバー交代もちろん、市場の変化で開発自体が無意味になり中止することもある。
プロジェクトマネージャは、これらのトラブルと戦いながら、それでも何とか完成させ、顧客を満足させなければならない。
従順な技術者ばかりなら楽な筈だが、そういう場合は技術力に問題がある場合が多い。それより、文句も多いがハイレベルの技術者を束ねてこそ、本当に良い仕事ができるというものだ。
専門職を続けたいような技術者をぐいぐい引っ張っていくプロジェクトマネージャはいないだろうか。