自分が最初に今の会社の入社試験を受けるにあたって選んだ職種は、ソフトウェアのテストにかかわる仕事でした。
なぜ「テスト」を選んだかと言えば、こんなことを言うと怒られてしまいそうですが、実は、責任が軽そうだと思ったからです。
実際にソフトウェアを作る、コードを書く仕事、つまり「開発者」は、とにかくそれを作らなくてはならないわけで、どんなBugが報告されようとも、とにかくそれを直さなければならないわけで、極めて責任が重いことは容易に想像できます。
しかし、「テストをする」という仕事は、実際には直接そのソフトウェアのソースコードを変更するわけではないはずなので、そのソフトウェアを壊してしまったり、いわゆるセキュリティホールを世の中に送り出してしまったりというリスクからは無縁のように、当時は思っていたのです。
そんな、今にして思えば極めて不純と言うか、無知と言うか、安直な理由でテストチームを選んだのでした。
しかし、実際にテストの仕事をしてみると、極めて責任の重い仕事で、どんなにテストケースを増やしても100%のカバーということは不可能なため、どんなに仕事をしてもゴールが見えない、つらい仕事でした。
しかも、もしも製品の出荷後に問題が見つかってしまったりすると、「それはテストチームがしっかりテストしなかったからいけないのだ!」などと叱咤され、その責任の所在はテストチームであるかのような風潮になることもあります。
一方の開発者の人達は、「Bugが報告されたらそれだけ直す。報告されなければ知ったことではない」という態度が見え隠れして、なんだか楽そうにさえ見えてしまったのでした。
その後自分は、開発者側の仕事に就いて、報告されたBugを直す立場になったのですが、当然今度は思うわけです。「なんだ、テストの人達は言いたいことを言いやがって。直す方の身にもなれって言うんだ!」と。
結局、どんな仕事でも、そんな風に自分の立場だけを考えて物事を見ていると、「他人の芝生は良く見える」という状態になってしまうものなのだと思います。
現実には、テストも開発も、その他の仕事も、極めて責任が重く、大変な仕事です。
世の中、そんなに楽をして責任から逃れて生きていけるほど、甘いものではない、そんな当たり前のことを学びました。
そして今は、テストの仕事でもなければコードを書く開発者でもない、プロジェクトのマネージメントをする仕事をしているわけですが、以前はこの仕事に対して極めて悲観的でした。
なぜなら、その製品を開発するプロセスが上手く回っている限りにおいて、それをマネージする人なんていてもいなくても製品はできる、というように思っていたからです。
簡単にいえば、口うるさいオヤジがいちいち小言をいう、そんな小言は必要ない、というのと同じ感覚でした。
しかし、現実にはプロジェクトマネージメントという仕事は激務です。
もちろん、担当しているプロジェクトが小規模で、かかわっている人達全員が全体を把握できていて、問題がほとんどないような、そんな黄金でできた卵のようなプロジェクトならば、そこにプロジェクトマネージャーなどいなくてもいいのかもしれません。
しかし、そのプロジェクトにかかわる人が数千人、もしくはかかわる子会社や契約会社が複数存在するような巨大なプロジェクトでは、必ず思い通りには流れないものだと思います。
たとえ、その数千人の人達全員がやる気に充ちあふれ、きっちりとプロセスを周到しようとしていたとしても、絶対に上手くいかないもののようです。
それは、大きな体をもった生物が、全体を統率する脳なくしてきっちりと生きられないのと同じことだと思います。
さらに、プロジェクトマネージャーという仕事は、極めて自由度が高い仕事ともいえます。
悪く言えば「何でも屋」「雑用係」という見方もあるのですが、(^_^;;、少なくとも、どんなところにでも入っていけるという利点があります。
通常、自分のチームではないチームの仕事のやり方について意見を述べたりすれば、たいてい「お前部外者のくせに何意見してんだ」と言われて相手にされないものだと思いますが、プロジェクトマネージャーが、少なくともそのプロジェクトに関することで他のチームに意見を言っても、門前払いを食らうことはあまりありません。
だから、今の仕事の「自由度」を生かして、今までとは一味違ったレベルの仕事ができる可能性があります。
今、自分に何ができるのか。
もちろん、自分勝手に突っ走っても上手くいかないので、同僚や、上司や、周囲の人たちや、色々な人たちの意見を良く聞いて、シミュレーションを積んで、よりよいプロジェクトにできるように、もっと考えて見たいと思います。