ふつーのプログラマです。主に企業内Webシステムの要件定義から保守まで何でもやってる、ふつーのプログラマです。

高慢と偏見(11) 現実は映画じゃない

»

 レビューは三浦マネージャを完膚なきまでに打ちのめした。

 若槻さんと私は、手際よく各クラスとメソッドの説明を行った。最初はバカにしたような態度だった三浦マネージャも、次第にオブジェクト指向の利点に気が付いてきたようで、こっそりメモを取っているのが見えた。

 それでも何とか理屈をつけてはAチームの有利さを強調しようとしたが、それらの主張は私たちの的確な反論によって、次々と粉砕されていった。Aチームの新人くんたちでさえ、自分たちの書いたコードの欠点をつぶやき始める始末だった。

 レビューの途中から、偉そうな顔をしたシステム部の部長が入ってきて、私たちの説明に賛意を示すように、いちいち頷いていた。そして、両チームのレビューが終わると、つかつかと進み出て、三浦マネージャに指をつきつけたのだ。

 「君はいままで何をやっていたんだね? スケジュールの遅れが、君がとってきた方針にあることは明確ではないか!これからは、Bチームと同じ方法で進めたまえ!」

 三浦マネージャはうなだれた。部長さんは全員に向かって頭を下げた。

 「皆さん、すみませんでした。これからは、みなさんの思いどおりにやってください」

 私たちは歓声をあげた。大逆転だ!

 平良さんもアツコさんも富永さんも飛び上がって喜んでいる。はからずも対立することになった新人くんたちも、手を取り合って同期の友情を回復させている。

 私と若槻さんはハイタッチしたあと、思わず抱き合った。そのあと、周囲からのヒューヒューというヤジに慌てて離れる。自分の顔が熱くなっているのが分かる。若槻さんの顔も紅潮している。それは勝利したためだけではなさそうだった……。

 

 

 

 

 

 

 ……ってなことは、もちろん何1つ起こらなかった。

 結論から言うと、三浦マネージャは、Bチームの成果を一切認めなかった。

 レビューは例によって紛糾した。三浦マネージャは、Aチームのコーディングを褒めそやし、Bチームのコーディングをこき下ろした。

 発案者である平良さんが三浦マネージャに反撃するのを、誰もがひそかに期待していたにちがいないが、平良さんは何も発言しようとしなかった。

 半ばムダと知りつつも、若槻さんと私は最善を尽くして、Bチームのコーディングの利点を細かく説明した。だが、三浦マネージャの「結論は決まっているけど、まあ一応退屈しのぎにでも聞いてやるよ」と言わんばかりの態度に、だんだんやる気をなくしてしまった。もともと寡黙な若槻さんなどは、途中から説明を放棄してしまい、私がほとんどの内容を三浦マネージャに理解させようと無益な努力を続けることになった。

 三浦マネージャの主張は、

  • 結局、Bチームのアドバンテージは、わずか1日半にすぎない。これは誤差の範囲だ
  • 同じぐらいの工数でできるのなら、Aチーム方式の方が、後からメンテナンスしやすい
  • なぜなら、1つのアクションの中で全部完結していて、あちこちの別メソッドを追う必要がない。ましてや、別のクラスを追いかける手間がない

の3点に集約されるものだった。

 私はあらためて、三浦マネージャとは別の世界に住んでいることを実感させられてしまった。それは他のメンバーも同じだったにちがいない。

 レビューは三浦マネージャただ1人の大満足とともに終了した。全員の無記名投票など、明確な勝敗の判定方法を決めておかなかったため、三浦マネージャの、

 「まあ、やるまでもなく結果は明白だね」

という一言で決着が付いてしまった。

 こうなることは、レビューの開始時にだいたい予想がついてしまったとはいえ、努力が泡のように消えてしまうのを見るのは悲しかった。若槻さんは軽蔑したような視線を三浦マネージャに向けただけだったが、レビューに使ったプリントアウトの全面に無意味な抽象画を落書きしていたところを見ると、内心はやはり悔しかったのではないだろうか。

 しかし、何と言っても、一番落胆していたのは、Bチームの新人くんたち3名だった。ここ数日だけで、彼らにとっては目から鱗が落ちっぱなしだったようだから。これまで自分たちが書いてきたコードより何倍も効率がいいコードの実例に触れ、プログラミングのおもしろさを発見し始めた矢先に、それを頭から否定されてしまったのだから。社会人としての厳しさ、という言葉だけで片付けてしまうにはしのびない。

 私たちは何事もなかったかのように開発作業を再開した。これまでとまったく変わらないやり方で。

 新しいスケジューリング方式は、早速実施され、私たちにムダな作業を増やすことになった。しかも、スケジュールは相変わらず遅れたままで、改善する見込みはない。ひょっとすると、このチーム戦が唯一の望みだったのかもしれないが、三浦マネージャ自らがその芽を踏みつぶしてしまったのだから。

 レビューが終わったあとも、Bチームの新人くんたちは、どことなく釈然としない顔をしてた。無理もない。

 釈然としないのは私も同じだ。いまだに、こんな結果の見えているチーム戦を提案した平良さんの意図が分からない。

 その平良さんは特に気落ちした様子もなく、いつも通り、黙々と設計と実装をこなしていた。

◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

 数日後の昼休み、私は例によってアツコさんとランチを取りながら、不可解なチーム戦のことを話題にした。

 「結局、何の意味があったんですかねえ」

 「うん」

 アツコさんはきれいなキツネ色の白身魚のフライをモグモグやりながら、何か考え込んでいるようだった。

 「平良さんらしくない無駄な行動でしたよね」

 「うん」

 「考えてみれば、あの三浦さんがこれぐらいで考えを変えるわけはないんですよね」

 「うん」

 「あの……聞いてますか?」

 「ちゃんと聞いてるよ」アツコさんはお茶を一口飲んだ。「あたしにも平良さんの意図はよく分からないわね」

 「ですよね」私はサンドイッチをかじった。砂のような味だった。

 「でも何となく想像はつくような気がするのよね」

 「へえ?」それはすごい。「どんなですか?」

 「たぶんだけどね、平良さんはあの『証明』なんか、実はどーでもよかったんじゃないかと思う」

 ――は?

 「どーでもよかった?」

 「他に目的があったんじゃないかってこと」

 「すいません」私はアツコさんの顔をまじまじと見つめた。「意味がよく……」

 「最初からミナっちのチームが勝てるとは思ってなかったんじゃないかなあ」

 「???」

 「というか勝つことが目的じゃなかったというか」

 アツコさんもあまり確信があるわけではないのか、歯切れが悪い。

 「じゃあ、何が目的だったんでしょう?」

 「聞きたいんだけどさ」アツコさんは私の質問に質問を返した。「三浦さんが、ミナっちのチームが勝ったって認めるとしたら、どういう状況だったと思う?」

 「そりゃあ、3日ぐらい早くできるとか、コード量が半分になるとか……」

 そう答えたものの、私は違和感をおぼえた。そんなことぐらいで、あの三浦マネージャが負けを認める? いやいや、ありえない。絶対にそういうキャラじゃない。

 「なんかさ、たとえ3日早く完成したって『誤差の範囲だ』って言いそうじゃない?」

 「……確かに」

 「コード量が半分になったとしても、『コードを追いにくい』って言いそうな気がするのよね」

 「……言いそうですね」

 アツコさんはお茶を飲み終わると、手際よくお弁当箱を片付け始めた。

 「これはあたしの想像なんだけどね」

 「ええ」

 「平良さんの本当の目的は、新人くんたちに正しいオブジェクト指向プログラミングの知識を植え付けることだったんじゃないかと思う」アツコさんは言いにくそうに続けた。「そのためにあんな茶番をやったんじゃないかなあ」

 私は絶句した。

 「ミナっちチームの新人くんたち、明らかに前と態度が変わってるのよね。まあ、表面的には今までと変わらないんだけど、重複してるロジックをインターフェイスと具象クラスで切り出してみたり、三浦さんが来る前にあたしたちがコーディングしたソースを追ってみたりしてるの。もちろん、コミットしたりしないで、こっそりとだけどね」

 「え、えーと、つまり……」

 「部品として再利用するってことを、見よう見まねながらも、自分たちで実践してみてるんじゃないかなあ」

 そういえば、Bチームの新人くんたちが、三浦マネージャの目の届かないところで、何かこそこそやってるなあとは思っていたけど。

 ――ん? え? ちょっと待てよ。

 「じゃあ、私は、というか私と若槻さんは平良さんに利用されたってことですか?」

 「まあ、結果的にそういうことになるのかな」

 アツコさんは乾いた声でアハハと笑ったが、私は笑うような気分ではなかった。

 「で、でも、でもですよ」私は疑問をぶつけた。「新人くんは6人いるんですよ? 残りの3人については見捨てたってことですか?」

 「ううん。新人くんたちって、固まってご飯食べてるでしょ? このまえ、6人で議論してたよ。デザインパターンとかね。分かったような口ぶりで、それとなく聞いてて、ほほえましくて笑っちゃったけどさ」アツコさんの顔に思い出し笑いが浮かんだ。「まあ、今はまだ分かったような気になってるだけだと思うよ。でも……」

 「新人くんたちが、三浦さんの方法に疑問を抱くようになったってことが重要」私は言った。「ってことですか?」

 「あくまでもあたしの想像だけどね」

 確かにアツコさん仮説だと、いろいろなことに説明がつく気がする。

 どうして、あんなムダな「証明」をやることになったのか。平良さんにどんな利益があったのか。単に三浦マネージャに対する嫌がらせだけで、あんな手間をかけるわけはないし、そんな陰険な人でもない。

 これが映画やドラマやマンガなら、今まで表に出てこなかった「話の分かる部長」とかが登場して、Bチームのコーディングを絶賛することになるんだろう。三浦マネージャは敗北に打ちひしがれて退場し、私たちはハイタッチした後、抱き合ってるところだ。ついでに私と若槻さんの間にロマンスが芽生えたりする。

 でも、現実はそんなに単純じゃないし甘くもない。三浦マネージャは相変わらず根拠のないオブジェクト指向不要論を吠え、プロジェクトの方針は何1つ変化がなく、部長も社長も登場したりしない。もちろん、私と若槻さんが意識し合うこともない。
一度走り出してしまった列車は、簡単には止められないということだ。特に、狂信的な思想が燃料になっている場合は。

 私に分かるぐらいだから、平良さんは、それぐらいのことは正確に予想していたに違いない。だから、もともと三浦マネージャを納得させようなんて思っていなかったんだ。

 もっと言えば、平良さんはすでにこのプロジェクトで三浦マネージャ方式を覆すことを、そんなことにムダな労力を費やすことを、とっくにあきらめていたんだろう。それより、今後、自分が付き合っていくことになる新人くんたちの成長を優先させた。この次のプロジェクトのときに、少しでも正しい方法で進めることができるように。それはK自動車ICTシステム部の貴重な資産になるはずだし、平良さん自身の会社にとっても有益なことであるはずだ。

 私たちは利用されたということになるが、どうせ、期間限定の常駐の身だ。それほど腹が立つということもない。事前に言っておいてくれればよかったのに、とは思う。でも、最初からそういう意図を知っていたら、新人くんたちの知識向上を優先して、機能を完成させることがおろそかになってしまったかもしれない。そうなれば三浦マネージャも平良さんの意図に気付き、新人くんたちの洗脳を徹底的に強化してしまったかもしれない。

 ――策士だなあ、平良さん。

 私は思わず苦笑いした。

 ただ一方で、そううまくいくかな、という思いもある。

 「でも、新人くんたちは、しょせん新人ですよね」私は疑問を口に出した。「何の実績もない彼らが、三浦さんに対してまともな意見を言えるとは思えないんですけど。結局、いつまでも三浦さん方式のままなんじゃないですかね?」

 「そうなんだよねえ。そこがちょっと釈然としないところなんだよね」アツコさんも同意してくれた。「まあ、三浦マネージャだって永遠にいるわけじゃないから、そのときに備えて……」

 「……種を播いたってわけですか」

 「たぶんね」アツコさんは曖昧に笑った。「あとは彼ら次第ってことなんだろうね」

◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

 私たちは再び、多忙な開発作業の日々に没入していった。プロジェクトの遅れを取り戻すべく、ムダなドキュメントを書き、効率の悪いコーディングを行い、バグ数をでっちあげる日々が果てしなく続いた。あの「証明」については、口にするメンバーもほとんどいなくなり、当事者の1人だった私でさえ、思い出すこともなくなっていった。やらなければならないことが多すぎて、そんな余裕がなかったと言ってもいい。

 そうこうするうちに数カ月があっという間に経過し、残暑の厳しい9月がやってきた。新人くんたちも、個人差はあるものの、ようやく戦力として活用できるようになってきていた。私の契約期間も、今月いっぱいでめでたく終了となる。

 その小さな事件が起こったのは、9月の最後の週のことだった。

 (続く)

 この物語はフィクションです。実在する団体名、個人とは一切関係ありません。また、特定の技術・製品の優位性などを主張するものではありません。

Comment(5)

コメント

EarlGrey

この苦さとすっぱさとかすかな(本当にかすかな)甘さ、
現実世界の縮図を見るようだわ・・・実にいいバランスですわ。
上手いなあ・・・

よみこ

面白い~!続きが待ち遠しいです

ひろし

> その小さな事件が起こったのは、9月の最後の週のことだった。

うーん、引っ張るなあ。よくある手とはいえ、続きが待ち遠しい。

ふる蔵

おもしろいです!
毎週月曜日(?)が楽しみです。
勧善懲悪とはいかないと思いますが期待してしまう。

haseboo

面白いです!!続き楽しみにしてます!!

コメントを投稿する