適材適所って言葉の意味を企業はもっと理解するべきだと思う ~ピーターの法則への問題提起
仮にあなたが仕事で何かしら成功をしたとしよう。成功したのだから、企業はその業績を評価し、あなたを出世させるだろう。がしかし、出世をすれば仕事内容が変わる。その変わった仕事内容があなたに合っているとは限らない。仮に運良くその仕事内容もあなたに合っていたとしても、良い業績を上げれば、再びあなたは出世をさせられて仕事内容が変わるだろう。これはあなたがあなたに適していない仕事に就き、結果が出せなくなるまで続く。そしてその段階で、あなたの出世は止まってしまう。
結果として、あなたはあなたに適していない仕事をし続けなくてはならない事になり、企業は適さない職場に労働者を就かせている事になる。
幅広い仕事をそつなくこなせる万能タイプの人間にはこのような事は起こらないかもしれないが、そんな人間はもちろん滅多にいない。
……これは『良い業績を出した者を出世させる』という人事制度を執っていれば、どんな組織でも起こり得る現象で、“ピーターの法則”と呼ばれている。
このような現象が起こる事は、個人にとっても不幸だし企業にとっても不幸だ。が、多くの人の問題意識は希薄だと言わざるを得ない。
「そんなものだろう」
と考えて、特に疑問には思っていない人の方が多いのではないだろうか? ある文化社会だけで生きて来た人達が、外の世界を知らないが為に自分達の社会の無意味な風習を“当たり前”と疑わないように。
「――えっ? 僕がプロジェクトリーダーですか?」
ある日、村上アキは上司から呼び出されて、新規プロジェクトのリーダに任命された。
任命された時、彼は思わず驚いてしまったが、それは充分に予想できた事でもあった。何故なら彼は入社してシステムの運行部署に配属されてから、それなりに優秀に仕事をこなして高い評価を受けていたからだ。
彼は学生時代にほとんど情報技術関連のスキルを身に付けて来なかった。だから、情報技術が必要な部署に配属されるとは思っておらず、配属が決まって業務内容を聞いた時も“やっていけるだろうか?”と不安感に苛まれた。
ただ、そこが運行部署で、そこまで多忙な部署ではなかった点が幸いした。
運行部署は当り前だが、開発部が開発したシステムを引き取ってシステムの管理や運行を行う。つまり、手本となるかなりの量のソースが集まって来るのだ。だからどんな機能をその画面やバッチが持っているのかを把握した上で、それに対応するソースが分かりさえすれば仕組みが学習ができる。更にネットを探せばプログラミングの説明をしてくれているサイトには事欠かない。つまりは真面目に時間をかけて学び続けさえすれば、ある程度のスキルは身に付けられるのだ。
彼は懸命に学習をし続け、簡単な仕様変更や機能の追加くらいなら独力でこなせるようになった。運行部署の社員達はそれをとても喜んでくれた。
「温かい会社だなぁ」
などと彼はそれで思ったのだが、後で真相を知ってしょっぱい気持ちになった。
実は、ほとんどの自分のグループの正社員はプログラミングができないらしいのだ。行っているのはユーザーとの交渉、問い合わせの受付けや管理業務ばかりで、実業務は外注社員に任せてしまっているのだという。システム的な仕事で行うのは、簡単なマスタ設定くらいなのだとか。
もちろん、そんな現状を会社側が由とするはずがない。だからなんとか社員に実力を身に付けさせようと学習計画などを立てさせたり、身に付けたスキルを発表させたりしているのだが、あまり芳しい結果は得られていないのが現状だ。
だから村上がプログラミング技術を身に付けられた事を正社員達は喜んだのだ。
因みに、緊急時の連絡先は正社員になっているのだが、そんな状態だから正社員では対応ができない。システム的なトラブルが起こると、正社員は外注社員に連絡をするから、実質的にはトラブル対応要員は外注社員になっている。
が、名目上は正社員が対応する事になっているので契約上にも記述がない。その為、外注社員にはその分の賃金を支払ってもいないのだとか。
つまり、その分の業務に関しては、外注社員達はボランティアなのだ。
「ちょっと、流石に、会社の体制としてどうなのか?」とその話を聞いた時に村上は思ってしまった。
会社の方針としては、出来る限り外注社員依存度を下げる事を目標にしていた。これは当然の話だろう。
だから村上が情報技術を身に付けられたと分かると、グループ内では彼に情報技術が必要な仕事が集中するようになった。仕事をこなせばそれだけスキルが上がる。スキルが上がれば、また更に仕事が増える。そんな事が繰り返された。
結果として、村上アキはめきめきと実力を身に付けていった。三年目になると、かなり難しい仕事も独力で行え、他人に教える事すらもできるようになっていた。当然ながら、彼の評価は上がる。その為「いずれはもっと大きな仕事を任せられるのではないか?」と社内で噂になっていたのだった。
そして、そんなある日に彼は上司から「新規プロジェクトのリーダをやってくれ」と任命されたという訳だ。
村上の部署は運行部署ではあるが、予算の都合や、開発チームの人員不足などで稀に新規開発の仕事も請け負う事があるのだ。
村上アキが任されたその新規プロジェクトは、経営計画策定用の新しい業務用アプリの開発で、フォーマット用のファイルに情報を入力してアップロードすると、それがデータベースに取り込まれ、他システムとの連携や分析が行えるようになるという内容だった。
ただ、初動の要件はハードルを下げて始める方針らしく、要件定義書の内容を読む限りではそれほど難しいようには思えなかった。
アップロードするファイルにはデータの書き込みは必要なく、ただフォーマットをダウンロードすれば良いだけなので、単純にサーバーにファイルを置いておくだけで良いし、読み取った内容のデータベースへの書き込みもシンプルだ。心配なのは入力チェックくらいだが、共通部品化してしまえば、それほどのコストにはならない。これなら標準レベルのプログラミング技術さえあれば誰でも実装可能だろう。
問題はその実装を誰が担当するか、だった。村上はリーダーだから、多少は手伝うだろうが、プログラミングをメインにする訳にはいかない。予定している実装の必要工数は3人月。開発期間は1ヵ月だから、プログラマーを3人用意しなくてはならない。
「社内にいるエンジニアは、他の業務があるから使えないんだよ。だから、臨時で外から二人雇う事にする」
会議の席で上司がそう言った。リーダーに任命されたとはいえ、マネジメント業務は初めての村上には人事の決定権はほとんどなかった。上からの指示に従うしかない。もっともそれに不満がある訳ではなかったのだが。
「二人はそれで良いとして、残りの一人はどうするのです?」
村上が疑問を口にすると、同席していた課長が言った。
「野崎に任せようと思う」
「野崎ですか? まだ1年目の新人じゃないですか。大丈夫なんですか?」
同じ課内ではあるが、別グループに所属しているので、村上は新人の野崎とは仕事をした事がなかった。どんなスキルを持っているのかまるで知らない。ただ性格はある程度は知っている。お調子者でムードメーカーだ。
課長は何度も頷きながら、村上の疑問に答えた。
「実は彼は学生時代にプログラミングをやっているらしいんだよ。だから基礎はできていると思うし、学習結果も良好という報告を受けている」
村上はそれを聞いて安心をした。
まだ軽く話した事がある程度だが、野崎は物怖じするタイプではない。恐らく、何か問題があったなら直ぐに言って来るだろう。ちゃんと相談してくれるのなら、いくらでもサポートができる。
村上は力強く頷いた。
「分かりました。では、実装のメンバーはそれでいくことにしましょう」
全ての人事が決定されると直ぐに開発が始まった。
まずは仕様設計書の作成からで、村上はそれぞれの設計者から上がって来る設計書のレビューと共に、共通機能の洗い出しを行っていった。
それぞれの設計で、同じ機能だと思える箇所を外出しにし、共通化することでプログラミングを効率化する為だ。
設計書の作成が半分まで来たあたりで、臨時で雇うプログラマー二人の受け入れを行った。パソコンの準備や環境設定はもちろん、この会社独自のフレームワークやコーディングルールを覚えてもらう。
この辺りのスケジュール管理は少々村上が計算を間違ってしまっていて比較的直ぐに準備が終わりプログラマーが暇になってしまった。が、「設計途中」と断りつつ設計内容を把握してもらう時間にする事でフォローができた。ミスではあるが、むしろ却って仕事がスムーズに進むかもしれない。
ここまではほぼスケジュール通りだった。大きな問題は何もないし、リスクも少ない。少なくとも村上はそう判断していた。それほど難しい仕事でないとはいえ、初めてのリーダー業務にしては中々の出来ではないかと彼は浮かれていた。
そうしていよいよ実装が始まった。
プロジェクトの土台部分は村上が用意した。と言っても、既にあるプロジェクトをコピーして不要な部分を削り、変えるべき部分を変えただけだが。そのプロジェクトをCVSサーバーからチェックアウトしてもらい、プログラマー達に実装を開始してもらう。
そこで、それまで別の仕事をしていた野崎が合流して来た。彼に関してはパソコンの環境設定は当然できているし、フレームワークの知識もあるはずだった。前準備はほとんど必要ないだろう。プロジェクトのパスを教えるくらいで事足りるはず……
と、そう村上は考えていたのだが。
「あの…… パスワードを教えてくれませんか?」
野崎がそう質問をして来た。彼はそれに目を丸くする。
「パスワード? もう知っているんじゃないの? 他のプロジェクトのソースはもう見ているのでしょう?」
新規プロジェクトは、既にあるCVSサーバーに加えてあるのだ。彼はそのサーバーには既に入れているはずだった。
試しにリポジトリを確認してみると、やはり接続設定があった。
「ほら、これだよ。ここに新規プロジェクトが追加されてあるから、チェックアウトしてくれれば良い」
彼と一緒に画面を見ながら操作して示してやると「あ、あ~」などと彼は声を上げた。思い出したかのように振舞っているが、誤魔化しているように見える。
“プログラミングの経験があるはずなのになぁ……”
と、その様子を見て村上は思ったが、口には出さなかった。
実際のプログラミングとソースコード管理は違う。経験の少ない彼が仕組みを知らなくても不思議ではない。初めてCVSサーバーに繋げた時は、恐らく手順書の指示の通りに機械的に作業をしただけで、内容を理解した訳ではなかったのだろう。納得できなくはない。
「既に他の人達が実装を始めているからさ。それを見つつ、イメージを固めて作業をし始めてよ。分からない事があったら直ぐに質問してね。分かっているとは思うけど、僕は厳しいタイプではないから気軽に。
悩むからこそ身に付く事もあるけど、今回はスケジュールにそれほど余裕がないんだ。工数がもったいないから悩んでいる時間があったら直ぐに質問して欲しい」
それに彼は「分かりました」と返して、ぎこちない手つきでプロジェクトの階層の確認を始めた。“そんなの確認しなくても他のプロジェクトに揃えてあるのだけどなぁ……”と思いつつ、村上はやはり何も言わなかった。あまり注意し過ぎてプライドを傷つけてもいけないと思ったし、それくらい教えなくてもどうせ直ぐに分かるとも思っていたからだ。
それからしばらくプロジェクトは順調に進んだ。実装メンバーからの進捗報告は何の問題もなかった。村上は手が空いたので、共通部品のプログラミングをして実装メンバーを助けたりしていた。
ただ、この時点で彼は気が付くべきだったのかもしれない。あまりに順調過ぎるという点に。設計にも仕様にも何のミスもないプロジェクトなど皆無と言って良い。だからもし、プログラマーから何の問題点の指摘もないとするのなら、それは単に“誰も気が付いていないだけ”である可能性が高い。
だから、ヒアリングを熱心に行うか、それとも彼自身が仕様や設計と実際のソースを精査し、何かしら矛盾点や齟齬や勘違いがないかを確認しておくべきだったのだ。
しかし、リーダーという立場に不慣れな彼は、あまりにメンバーを信頼し過ぎてしまっていた。いや、単に気が回らなかっただけかもしれない。
もちろん、部下を信頼し、部下に全てを任せるというスタンスもリーダーに必要な資質の一つではある。
が、それはある程度信頼がおける部下である場合において有効なのだ。臨時で雇ったプログラマーがどんな人間なのかを彼は知らないし、新人の野崎に関しては初めてのプログラミング業務だ。決して安心をし、油断をしてはいけなかった。
現実は、プログラミング通りに動いてくれるコンピューターとは違って、人間がイメージした通りに動いてはくれないのだから。
「あのー…… 村上君?」
ある日、設計担当の麻倉さんが申し訳なさそうな顔でそう彼に訴えて来た。
なんだろう?と思いつつ、彼は今日彼女が出来上がった画面を叩いてみると言っていたのを思い出していた。
臨時で雇ったプログラマーの一人が画面を一つ単体テストまで終わらせたと言うので、テスト系に上げてもらっていたのだ。
「アップロード画面だけどさ。なんか思っていたのと動きが違うのよね」
その麻倉さんの言葉を聞いても彼は特に不安は覚えなかった。
「はぁ、具体的な内容を教えてはくれませんか?」
多少の齟齬はあってもリカバリは可能だと思っていたのだ。ところが、話を聞いてみて顔を青くする。
「それって、データを更新するテーブルがまるっきり違うって事ですか?」
「そうなるかしらねぇ」
それが本当だとするのなら、プログラミングにはそれほど時間がかからないとしても、単体テストはほぼ全てやり直しだ。スケジュールが狂ってしまう。
驚いた彼は直ぐに担当のプログラマーを呼んで問いただしたのだが、彼は「設計書通りに実装している」と答えるだけだった。
「そんなはずはない」と村上は麻倉さんと共に設計書を確認してみて原因が分かった。設計書に記述されているテーブルの物理名が間違っているのだ。村上は日本語名にばかり注意して設計書を確認していたからそのミスには気が付けなかった……
この件で落ち度があるとするのなら、明らかにこちら側だろう。ただ、村上は納得をしていなかった。データベースのテーブルの日本語名と物理名が違っていることくらいプログラマーだったら気が付いているはずだ。その時点で質問に来るべきだろうし、そもそも業務上、そんな仕様は有り得ないのだ。業務を理解して作っているのなら絶対に設計書のミス通りに作ったりはしない。むしろミスを指摘してくれるはずだ。
設計書は人間が作っている。人間はミスをするものだ。プログラミングと違って、細かい検証もし難い。
だからこそ、プログラミングの担当者が設計書のデバッカーとなる事が求められる。少なくとも村上はそう思っていた。
正直、「職務怠慢だ!」と彼はそのプログラマーを罵ってやりたかった。
「――それはさ、仕方ないよ、村上君」
ところが、それを浦田というベテランにたしなめれてしまったのだった。
彼はそれでも納得がいかない。
「なんでですか? うちにいる外注社員の人達はそれくらいやってくれるじゃないですか?」
困ったような顔で浦田は返す。
「それは、うちで常駐している外注社員のプログラマー達が優秀だからさ。だからこそ、こうして囲っている訳だけどね」
「契約単価、そう変わらないですよね?」
「変わらないよ。物欲が高くないうちの外注社員達に感謝しないとね。だから彼らはここで働いてくれている」
どうも浦田にとってそれは当然の事だったらしい。経験の少ない村上は、世間はそう甘くないとそれで思い知ったのだった。
その事件を機に、設計書とソースの総チェックが行われた。似たようなミスがないか、調査したのだ。それだけ予定外の工数がかかってしまうが、もし致命的なミスがあったら更に工数が膨らんでしまう。リスクを考えるのなら、必要な工数だった。結果、わずかなミスはあったが、その他に大きな問題は見つからなかった。
村上はホッと安心したのだが、スケジュールは遅れてしまった。それでリスケを行って、工程を一週間ほど遅らせた。そもそも厳密にリリース日を守らなくてはいけない仕事ではないので、その程度ならば大きな問題はなかったのだ。
……もっとも、ユーザーの印象は悪くなってしまうだろうが。
「これ以上のスケジュール遅れは許されないからな。そもそもハードルを低くして始めたプロジェクトなんだから」
リスケをユーザーに認めてもらうのには上司の力も借りたのだが、その時に彼は上司からそう釘を刺されてしまった。
ただ、彼はそれほどの不安を抱いてはいなかった。想定外の設計書のミスで遅れが出てしまったが、それさえなければそもそもそれほど難易度が高いプログラミングではないのだ。プログラミングの初心者でもなければ、容易にこなせるレベルである。
――が、ある日、最近野崎が遅刻して来るようになったという話を聞いて、ふと彼に不安が過った。
“ん? そう言えば、野崎君の進捗状況ってどうなっているんだっけ?”
野崎はプログラミングの初心者なのだ。
進捗報告は定期的に受けている。が、「問題はありません」と言うだけで、野崎は具体的な成果物を一切見せて来ないのだった。しかもほとんど質問もして来ない。初心者なのだから、もっと質問が来ても良いはずなのに。プログラミングはネットで調べるだけで解決できるほど甘くはない(時折、なんとかしてしまうセンスと才能のある人間もいることはいるが)。
設計書ミス関連のゴタゴタで気にしている余裕がなかったし、野崎に任せているのはたったの一画面だったので彼は大丈夫だろうと高を括っていたのだが、冷静に考えてみれば少々不自然である。
もしかしたら、仕事が一向に進まないプレッシャーから遅刻をするようになってしまったのかもしれない。
「あのさ、仕事はどんな感じ?」
それでその次の日の朝、村上はやはり遅れて出勤して来た野崎にそう質問をしたのだった。野崎はそれにビクッと反応をした。怪しいと村上は思う。彼は、「まぁ、良い感じっすよ」などと曖昧な返事をして来る。
「良い感じなの? なら、そろそろ単体テストに入っていても良い頃だよね?」
初めての本格的なプログラミングなので、野崎のスケジュールはかなり甘めにしてある。普通のプログラマーなら、既に実装を終わらせて単体テストをやっている頃だろう。多少、仕事が遅くても単体テスト仕様書くらいは作っていなくてはおかしい。
ところが野崎はそれを聞くと目を大きくして、「いえ、流石にそこまではいってないです」などと返して来るのだった。
村上は俄かに強い不安を覚えた。
「じゃ、どこまでいってるの?」
「まぁまぁっすかね?」
「まぁまぁ? “まぁまぁ”って具体的には?」
野崎はその村上の追及に言葉を濁し、くどくどとした言い訳を始めた。が、さっぱり何が言いたのか要領を得ない。そこで彼は「よく分からないから。実際にローカルで動かしてみてよ」と指示を出した。野崎は渋々ローカルのサーバーを起動させて画面を動かした。
ログインして、アップロード画面の一つに遷移する。彼の制作担当はそのアップロード画面なのだ。アップロードしたファイルに書かれたデータに対して、サーバー側で入力チェックをし、問題がなければデータベース登録用のオブジェクトに情報をコピーして登録処理を行って、画面に登録成功のメッセージを表示させるまでが一連の流れである。
が、そうはならなかった。テスト用のファイルをアップロードした瞬間、画面に『予期せぬエラーが発生しまた。システム管理者に問い合わせてください』というメッセージが表示されてしまったのだ。
野崎は上目遣いの怯えた顔で、村上の様子を窺う。
「うん」と村上。
「どんなエラーが発生したのかログを見てみようか?」
それからコンソールに表示されたログを見てみる。“ClassCastException”の表示。クリックして、該当のソースにジャンプする。内容を確認して、村上は呆れつつ「あ~、これはあれだね。String型をBigDecimal型で受け取ろうとしてエラーが起きているね」と指摘した。
初歩の実力でクリアできる程度の問題だ。
「もしかして、これが解決できなくてずっとつまってたの?」
彼としては責めているつもりはなかった。が、無意識の内に怒った顔になってしまっていたかもしれない。野崎は狼狽えた表情で返す。
「いえ、だって、前に他で見たやつは確かそのままBigDecimalで受け取っていて……」
「それは特殊なメソッドでデータを取得した場合だね。普通はStringなんだよ」
「すいません。記憶と違っていて、何でなのか分からなくて……」
村上は腕を組む。
「うん。それは仕方ないと思う。でも、進捗の確認はしたいな。データの取得でつまづいていたってことは、そこから先はまったくできていないの?」
言い難そうにしながら「はい」と、それに野崎は返す。
「そうかぁ…… 取り敢えず、君はこのまま仕事を進めておいて」
村上は頭を抱えたい気持ちを我慢しつつ、自分の席に戻った。
村上は席に着くとチャットで課長と連絡を取り合って現状を報告した。野崎のプログラミング技術が仕事のできるレベルに達していないようだ、と。野崎は別のグループだから、上司は彼のスキルを把握していないだろうと判断したのだ。課長は直ぐに野崎の学習成果の内容ついて調べてくれた。すると、どうやらペーパーテストの結果が良かっただけらしいと分かった。
それに、村上は「ええぇー」と思わず漏らしてしまう。
プログラミングのペーパーテストは、ものにもよるが、実戦的でない場合が多い。高得点を取れてもプログラミングができるとは限らないし、逆に高得点を取れなくてもプログラミングができないとは限らない。
だから、参考程度にしかならないのだ。
これはそもそもペーパーテスト全般に言える事だが、ペーパーテストは人間の能力のほんの一部しか計測ができない。ちょっと考えても様々な条件が仕事とは違うと分かる。
まず、ペーパーテストには時間制限があるが、仕事は短い時間で結果を出す必要がない場合が多い。更に、問題にぶつかったらペーパーテストでは許されないが、仕事においては調べたり誰かに分からない箇所を聞くのだって有りだ。むしろ、そうするべきだろう。
ただし、現実の仕事にはペーパーテストのように便利な問題集もないし、そもそも“問題”を出してくれるとも限らない。だから、自分で問題がそこにある事に気が付けなければいけない。
つまり、機械的に用意された問題集を解くような作業ではなく“自分の頭で考える”能力が必要なのである。
ペーパーテストでは高得点を取れる人間が、仕事はあまりできなかったりする事もままあるが、このようなペーパーテストと現実の仕事の差を考えるのなら、当然と言えるかもしれない。
『――状況は分かった。これからは、彼のサポートを重点的にお願いしたい』
しばらくチャットで会話をすると、課長はそのように村上に指示を出した。
『分かりました』
と、彼は返した。
ただ、物凄く不安だったのだが。
野崎をサポートするに当たって、まず村上は彼に「どうして、分からないのに質問しに来なかったの?」と尋ねてみた。サポートするのにはコミュニケーションが円滑に取れなくては難しいだろうと判断したからだ。
すると彼は「いえ、期待されていると思ったら裏切れなくて……」と言い訳をする。本人がどれだけの事を言ったのかは分からないが“学生時代からのプログラミング経験者”と思われている以上、こなせなければ嘘つきという汚名がつくことになるとどうやら彼は心配してしまっていたようだ。
そういう類のプレッシャーは理解できる。
ただ、まだ他にも要因はありそうだった。
これは村上の推察なのだが、“頭の良い自分なら、教わらなくてもプログラミングができる”と思っていた節もある。だから独力で解決しようとしたのだが、一向に解決できず、前もって村上が「直ぐに質問に来るように」と言っていた事もあって、今度は“直ぐに質問しに行かなかった事”が負い目となり質問し辛くなってしまっていたのだろう。
これについては村上も多少は反省した。“気楽に質問できる”雰囲気づくりにリーダーである自分が失敗をしたと思ったのだ。
「オーケー。じゃ、仕事を進めようか。分かっているとは思うけど、そんなに時間がないからさっさと行こう。大丈夫、ペーパーテストで高得点を取れたって事は地頭が良いって事だ。慣れさえすれば、スムーズに進むよ」
ヒアリングが終わると、村上はそう言って野崎の隣でコーチをし始めた。「はい」と野崎は言って作業をし始める。
この時点では、まだ村上にはコーチングの意欲があった。付きっきりでがっつり教えればきっと順調に進むだろう、と。
が、甘かった。
「いや、だからね。ファイルから取得できるのはコードだけだから、マスタを検索しないとそのデータは取って来られないんだよ」
野崎の作業は遅々として進まなかったのだ。村上が当たり前だと思う事を説明しても通じない。
頭は良い。そのはずだった。彼は高学歴なのだから。しかも理系だ。もちろん、前述した通り、ペーパーテストで分かる人間の能力は極わずかだし、“頭が良い”と一口に言っても様々な頭の良さがあるから、一概には高学歴だからといって“プログラミングができる”とは言えないのだが、それでも並の理解力さえあれば乗り越えられる程度の壁だと村上は思っていた。
村上はそこで“プログラミングに適している人間を見つけるのは難しい”という内容のアメリカの有名なエンジニアが書いたエッセイを思い出していた。そのエッセイによれば、適合試験の類はほとんど役に立たないらしい。プログラミングに関して言えば、実際にやらせてみてできるかどうかを試してみるしかないのだとか。
“プログラミングができる”というのは、或いは特殊技能と言ってしまっても良いのかもしれない。
ただ、野崎に関してはモチベーションも影響しているのではないかと彼は考えた。独力で解決しようと努力して足掻き続けた間で、彼はプログラミングを嫌悪してしまって、無意識の内に脳が拒絶してしまっている可能性もある。ならば、まずはその嫌悪感を取り除いてやらないといけないだろう。もちろん、一朝一夕ではいかないだろうが。
いずれにしろ、このままではスケジュール通りには進みそうにもなかった。
雇った外注のプログラマー達は仕事の凡そを終わらせていて、進捗に問題があるのはもう野崎だけだった。ただ、彼の担当分が終わらなければ結合テストには入れない。野崎一人の遅れだから大丈夫だとは言えなかった。
「うーん どうするかなぁ?」
進捗状況の管理表を見ながら、村上は頭を抱えていた。
今、他のメンバーには結合テスト仕様書を作成してもらっているのだが、それが終わったなら仕事がなくなる。彼自身の仕事もかかった工数の割り振りと進捗資料の更新程度しかない。しかも、その仕事は単調でつまらないものだった。はっきり言って誰にでもできる。野崎にだってできるだろう。そう考えた時、村上はふと思いついた。
――あれ? なら、僕がプログラミングをやって、僕の仕事は野崎に任せちゃえば良いのじゃないの?
それから村上はこのままでは野崎がスケジュール通りに仕事を終わらせられそうにない点、また、野崎の遅れだけが原因で、結合テストが始められなくなるだろう点を上司と課長に相談した。
「野崎君に関して言えば、いきなり開発の仕事はハードルが高過ぎたように思います。これは彼の実力を見極めずに始めた僕のミスでもありますが、初めは簡単な保全業務から任せるべきでした」
人事を決めたのは彼ではなかったが、一応彼はそう二人に謝罪した。それから本題を切り出す。
「そこで、彼の仕事を僕の方で引き継ごうと思うのです。途中までですが、実装ができたのは彼にとっては良い経験になったと思いますし」
野崎に任せることを決めたのは実質的にはこの二人なので、村上の提案を多少は嫌がっていたが、このままスケジュールが遅れたなら責任はこの二人も追及される。最終的には、「野崎の勉強の為に始めた事だから、そこまで拘るつもりはない。後で君が書いたソースを見せて彼に説明してやてくれ」とだけ言って、彼らは村上の提案を受け入れた。
村上は心の中でガッツポーズを取る。
自分がやれば絶対に終わるという自信が彼にはあったし、何よりプログラムに触れられる事が嬉しかったのだ。
「野崎君には僕の分の仕事を任せようと思います。工数の割り振りと進捗管理資料の更新だけなので、簡単にできるはずです」
そう彼が言うと、上司が野崎に代理権限を与えてくれた。これで野崎に彼の仕事が行えるようになったはずだ。
彼はその後で、早速、野崎に説明しに行った。プライドを傷つけられて悔しそうな顔を見せるのではないかと彼は思っていたのだが、意外にも明るい表情を見せた。やはりプログラミングの仕事は野崎にとって苦痛になっていたのだろう。解放感を味わっているのだ。
彼は野崎に任せる仕事内容を説明すると、早速、自分の席に戻って野崎の仕事の続きを始めた。これでマネジメント業務を忘れられると、彼は嬉々としてコードを読んでいる。その時まで彼自身にも自覚がなかったのだが、どうやら彼はプログラミングが好きであるらしい。そして、マネジメント業務は嫌いとは言わないが、決して好きではない。少なくとも熱中できる程面白いとは感じていなかった。
“こっちの方が、やっぱ自分には向いているなぁ”
集中してプログラミングをしていると彼は時間を忘れた。一日が早く感じた。残業すらも苦痛ではない。作業は快調に進んだ。そのペースならば余裕でスケジュール通りに終わりそうだった。
次の日も相変わらずに村上はプログラミングに夢中になっていた。その日はユーザーへの進捗報告の会議だったのだが、彼は自分の作業の邪魔をされたくはなかった。しかも、ユーザーとの会議と言っても、全く重要な会議ではないのだ。
野崎の席を見やると、彼は暇そうにしていた。かかった工数の割り振りや進捗管理資料の更新の他には、一応、単体テスト仕様書の作成も任せてはあるが、大したボリュームではない。時間に余裕ができたのだろう。
“ユーザーとの会議、あいつに任せちゃっても良いかなぁ?”
と、それで彼は思ってしまった。課長にも上司にも話を通していないが、自分の分の仕事を任せるとは言ってある。進捗資料の更新をやっているのだから、進捗状況も把握しているはずだ。報告くらいはできるはずである。
それで村上は「野崎君。今日のユーザーとの会議、君にお願いしたいのだけど」と野崎に頼んだ。彼は多少は驚いた様子を見せていたが、特に不満そうな様子も不安がる様子も見せず了承してくれた。
“よし”と、それに気を良くした村上は気合いを入れる。
“これでプログラミングに集中できる!”
そのまま熱心に作業に集中し、村上は一気にスケジュールの遅れを取り戻した。一時はどうなる事かと思ったが、どうやら無事に終わりそうだった……
――が、その次の日に事件は起こってしまったのだった。
「すいません。ユーザーから仕様変更が入りました」
屈託のないにこにこ顔で、野崎が村上にそう告げた。
はい?
と、それに村上。
「あの…… 何を言っているの?」
野崎はそんな彼の反応を不思議そうにしながら、「ですから、仕様変更です」と言うのだった。悪びれた様子がない。
何故、ほとんど進捗報告しかないユーザーとの会議で仕様変更が決まるのかが彼にはまず分からなかったが、「画面の色を変えてくれ」といった類の簡単な内容なのかもしれない。取り敢えずは、話を聞いてみるべきだろう。どんな内容なのか尋ねると、野崎はこう言うのだった。
「ほら。ダウンロードするファイルって、今、何にもデータが入ってない状態じゃないですか? そこにデータを入れて欲しいらしいんですよ」
それを聞いて、村上の頭は爆発しそうになった。ドカーン、と。
いかにも簡単そうに軽く野崎は言ったが、はっきり言ってかなりの工数が必要だからだ。
「あのね、野崎君」と、村上は言う。
「工数っていうのはね。要件定義があって、それを基に決めるのね。それって要件定義からひっくり返るレベルの仕様変更だから、当然、工数をつけ直さなくちゃいけないんだよ。分かる?」
それを聞いてもやはり野崎はまるで悪びれた様子を見せない。
「でも、僕らは既に一週間もスケジュールを遅らせてもらっているのですから、それくらいのサービスはやらないと駄目だと思いまして」
そんな事を言う。
多分、ユーザーからそう言われたのだろう。
「スケジュールを遅らせても、仕事内容を増やしていたら、何の意味もないじゃん!」
と、村上は彼にツッコミを入れた。が、どうも彼は何が悪いのかまったく分かっていない様子だった。
その騒ぎを聞いたからか、そこにベテランの浦田がやって来た。村上は事情を説明する。聞き終えると困ったような顔で彼は言った。
「これはやられちゃったねぇ、村上君」
「“やらてた”って、何がですか?」
「新人が責任者扱いで会議に来るとさ、“圧せば行ける”って考えて、無理を言って来るユーザーが時々いるんだよ。多分、新人の野崎君を見て、チャンスだと思ったのじゃないかな?」
それを聞いて、村上は青くなった。
「ちょっと待ってください。その口振りだと、この仕様変更は、もう覆らないって事ですか?」
「うーん…… どうだろう? 課長次第じゃない? 協力してもらいなよ。野崎君をユーザーとの会議に行かせたのって課長に話を通しているのでしょう?」
その浦田の言葉で、益々村上は顔を青くした。
「……通していません」
それを聞くと、浦田は困ったような顔で、「アハハハ…… それはやっちゃったねぇ」などと返す。
「多分、“なんとかしろ”って言われるよ、それ」
同情の視線を、浦田は村上に送っていた。
「なんとかしろ」
機嫌の悪そうな厳つい表情で課長がそう言った。
村上はそれに何も返せなかった。無断で野崎をユーザーとの会議に向かわせたのは明らかに彼の落ち度だったからだ。自分が悪い。
“なんとかするしかない”
そう覚悟を決めた。
ファイルのダウンロード画面は、外注プログラマー達の担当だ。が、彼らは後少しで契約期間が終わってしまう。期間も伸ばせない。これ以上の仕事を頼む訳にはいかなかった。ならば手段は一つしかなかった。
そう。
村上が、全ての仕様変更分のプログラミングを担当すれば良いのだ。
「こんちくしょおぉぉぉ!」
村上アキは鬼の形相でキーボードを叩いていた。深夜残業。課長も上司も野崎も帰っている。プロジェクトのメンバーどころか、同じ課で残っているのは彼一人だけだった。他のフロアに灯りが点いているから、まだ仕事をやっている人間はいるのだろうが、いずれにしろ過酷な仕事を背負わされている点は変わりない。
自業自得とはいえ、理不尽な気がする。
が、村上は余計な事は一切考えずに作業に没頭した。そうしなければ、仕事が終わりそうにないということもあったが、考えると余計に辛くなって心が折れそうになってしまうからだ。
いくらプログラミングが好きとは言っても、流石にその状況は楽しめなかった。
「なんだー やればできるじゃないですか、村上さん」
屈託のない無邪気な顔で、野崎が笑っている。
進捗管理表の更新の為に、野崎が村上に作業の進捗具合を聞きに来たのだ。結合テストを開始しなくてはならないギリギリの日、なんとか実装を終わらせた村上は燃え尽きた表情でそれを聞いていた。
野崎に軽い殺意を覚え、殴ってやろうかと思ったが、彼にはその気力すらなかった。
「課長に良い報告ができそうですよ。きっと喜ぶぞ~」
そう言った野崎に「そーだね」とだけ彼は返した。無表情で。
結合テストに入ってからは、プロジェクトは何の問題もなく進んだ。ユーザー検証もなんとか合格し、そのままリリース。なんだかんだと色々と問題はあったが、ユーザーからの評判はそれなりに良かった。リーダー業務は初めてだったが、これなら及第点と言えるのではないだろうか?
村上はそのように考えていたのだが、運行が始まってしばらくが経った辺りで、そんな彼の評価に物言いが入った。
「リーダー業務をやっていたのは、野崎君の方で村上君じゃないよ」
どうやらユーザーの一人がそんな事を言ったらしいのだ。
確かにユーザーの我儘を受けて来たのは野崎で、傍から見れば野崎がユーザーの満足度を上げるのに貢献をしたように思えなくもない。その期間に限って言えば、楽な内容ではあったが、野崎が代わりにリーダー業務を行っていたのだし。
しかし、それまでプロジェクトを取り仕切って来たのも村上ならば、実際にユーザーの我儘を実現したのも村上なのだ。野崎は我儘を承諾してしまっただけ。それは明らかに不当な評価だった。
が、組織の評価はそのような仕組みにはなっていない。本当の功労者がプログラマーでも、それを指示しただけのリーダーが高く評価される仕組みになっている。
――だから、
「いやぁ、まさか僕がリーダーになるなんて思っていなかったですよー」
そうにこにこ顔で野崎が言った。
プロジェクトを成功させたとして、野崎は人事部から高く評価され、リーダー業務を任される事に決まったのだ。
村上は相変わらずプログラミングをやっている。もっとも、それに不満がある訳ではなかったのだが。
「あのね、野崎君」
と、そんな野崎に向って村上は言った。
「ユーザーからの要望に簡単に応えて、プログラマー達の負担を考えないような方法でプロジェクトを回したら大問題になるからね。前のプロジェクトは、偶々僕が負担を被ったからなんとかなったけどさ」
それに野崎は明るく笑って返した。
「大丈夫ですよ、村上さん。分かっていますから」
そう言った後で野崎は「僕ってプログラマーよりもリーダーの方が向いていると思うのですよねぇ」などと続ける。
“これ、本当に分かっているのかなぁ?”
と、そんな彼を見て村上は不安になった。
それから数か月後、案の定、野崎がプロジェクトを炎上させたとして大問題になっていた。しかも、その尻ぬぐいに村上が駆り出される事がどうやら決まりそうだった。
「あ~あ」
と、それに村上。
頭を抱える。
どうやらリーダーに野崎は向いていなかったようだ。多分、営業なんかが向いているのじゃないだろうか?
もっとも、彼は自分がリーダーに向いているとも少しも思えなかったのだが。
“出世はしなくて良いから、給料だけ上がってくれないかなぁ?”
そして、ぼんやりとそんな不満を想った。
仕事の質も向上していて、リーダーではなくても重要な仕事もこなしているのだから、給料は上がるべきであるはずだ。
この融通の利かない人事システムは、なんとかならないものなのだろうか?
村上は「はぁぁ」と大きく溜息を漏らした。