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

人形つかい(12) 増殖する作業、減少する時間

»

 カレンダーが最後の1枚になり、カットオーバーまで2カ月を切った。この時期になると、さすがにオンスケとはいかず、数日程度だが遅れが出るようになってきた。テスト部門からのフィードバックによって、いくつかの機能を追加したり、作成済みの機能に修正が発生したためだ。橋本さんは毎日のように必死で設計書を修正し、申し訳なさそうにぼくたちに渡しに来るようになった。

 東海林さんもぼくも、20:00過ぎまでエースシステムで作業し、自社に戻って続きを終電ぎりぎりまで行う、という日々が続いた。土日もどちらか1日、または両方とも出勤して実装を進め、何とか進ちょくの遅れを取り戻そうと努力していた。今年のクリスマスイブは金曜日なので、ぼくは年休を取得して、彼女と2人でゆっくり3日間のクリスマスデートを楽しむつもりだったのだが、このままでは25日、26日に休めるかどうかさえ怪しくなってきた。

 ある日、自社で進ちょくを報告したとき、黒野さんは心配そうな顔で東海林さんに言った。

 「一時的にでも人を増やした方がよくはないですか?」

 同席していた斉藤さんも、2週間ほどなら2人ほどアサインできると言ってくれたのだが、東海林さんは少し考えて、首を横に振って断った。ぼくたちの作業を手伝ってもらうには、まずAフレの使い方を理解してもらう必要があり、それだけで1週間ぐらいは過ぎてしまうだろうから、というのが理由だった。これについては、Aフレで苦労したぼくも同意見だ。

 「そうか」斉藤さんも納得した。「そういう意味だとAフレって厄介だな」

 実はスケジュールが遅れはじめている理由の1つは、Aフレにもあった。テストが進むにつれて、Aフレに追加の機能が必要になり、頻繁にバージョンアップを繰り返している。その結果、過去に作成してテストも通っていた機能が、いきなり例外を吐いて止まってしまうという現象がしばしば起こっていたのだ。

 しかも、そういう現象に限って、再現が難しかったりする。再現できなければ、Aフレ開発チームは調査すらしてくれない。やむを得ず実装を続けていると、忘れたころにまた発生し、作業が止まる。次のバージョンアップで修正されたと思ったら、別の部分で発生することもしばしばだった。

 これには実装チームの全員がイライラさせられた。ミーティングで訴えてみても、高杉さんは顔色1つ変えずに「橋本くん、Aフレ開発チームに言っておいて」と命じるだけだった。それで高杉さんの脳内では「処理済み」フラグが立ってしまうらしく、「その後、どうなった?」と確認することさえしない。

 橋本さんも頼りにならないことでは、高杉さんに負けていなかった。開発初期のころこそ、Aフレ開発チームやテスト部門との関係も良好だったが、高杉さんが登場したとたんに、それらのメンバーに軽く扱われるようになってしまったようだ。なかなか情報が降りてこなかったり、連絡の遅延が目立つようになった。どうやら、エースシステム社内では、隙あらば他人の足を引っ張ることが習慣になっているのではないか、というぼくの推測は、それほど的外れでもないようだった。

◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

 実装の残作業や、進行中の進ちょくは、橋本さんが毎日夕方に確認しに来ていた。その結果をまとめた進ちょく表は、エースシステム社内の専用サイトにアップされる。これによって、自分の担当分があとどれだけ残っているのか、全体ではどれだけの実装が残っているのか、といったことが一目で分かるようになっていた。

 12月第2週の月曜日の朝、エースシステムの開発室に入ったぼくは、いつものように進ちょく表ページを開いて驚いた。金曜日の時点で「未実装機能数:2」だったはずが、「未実装機能数:8」に増えているのだ。

 一足先に来ていた東海林さんも同じページを凝視している。東海林さんの未実装機能数は1だったはずが、7に増えていた。

 ぼくは「未実装機能数:8」をクリックして、詳細を表示した。最初の2つは、先月から予定されていた機能で、すでに設計書も受け取っている。残りの6つは、聞いたこともない機能だった。しかも、登録日付は昨日になっている。

 唖然となってモニターを見つめていると、ライズの石川さんが険しい顔で歩み寄ってきた。普段は礼儀正しい人だが、今日はあいさつすることさえ忘れているようだった。

 「そっちも増えてますか?」

 「増えてますね」東海林さんが答えた。「ライズさんも?」

 「ええ」石川さんはちらりと後ろを振り返った。「1人当たり、大体5から6ぐらいの機能が追加になってますね」

 開発室のドアが開き、橋本さんが入ってきた。東海林さんは勢いよく立ち上がると橋本さんに詰め寄ったが、憔悴しきった表情を見て言葉を飲み込んだ。

 「すみません」橋本さんの声は弱々しかった。「金曜日に、エンドユーザーから仕様追加要望が上がってしまいました。何とかカットオーバー後に回してもらおうとしたらしいですが、最終的には受けざるを得ませんでした」

 橋本さんはエースシステムとして話しているのだろうが、主語を正確に付けるなら、おそらく「高杉さんが安請け合いしてしまい、橋本さんに押しつけた」というところだろう。

 東海林さんもそのあたりの事情を察したらしく、同情するような表情すら浮かべたが、問い詰めるような口調になったのは仕方がなかった。

 「それにしても、今の時期になって、これだけの機能追加はどう考えてもおかしいでしょう。本当にカットオーバーに必須なんですか?」

 「エンドユーザーは必要としているようです」

 そう言われても、橋本さん自身がエンドユーザーに確認したわけではないだろうから説得力はなかった。

 「高杉さんと話をさせてもらっていいですか?」

 「すみません」橋本さんは苦しそうに言った。「高杉は本日休暇をいただいています」

――くそ、逃げたな。

 根拠もないのにぼくはそう思った。この時点で高杉さんが不在なら抗議する相手がいない。橋本さんに何の権限もない以上、ぼくたちにはどうすることもできない。せいぜい追加作業として認めてもらい、追加の見積もりを出せるように営業から交渉させるぐらいだが、ぼくたちの作業自体には何の影響も及ぼさないだろう。

 「とにかく決まったことなので」橋本さんは議論にけりをつけるように言うと、手にしていたプリントアウトの束を東海林さんと、石川さんに渡した。「追加分の設計書です。土日で何とか完成させました。大変だと思いますが、よろしくお願いします」

 橋本さんは頭を下げると、逃げるように出ていった。閉まったドアを見つめながら、ぼくはクリスマスデートの実現性が限りなく低くなってしまったのを感じていた。

 「これは危ないな」東海林さんが、ぼくにだけ聞こえる声でつぶやいた。

 「何がですか?」

 「1日から総合テスト開始の予定になってただろう」

 ぼくは開発スケジュール表を見た。確かに、12月1日から「総合テスト」の線が始まり、来年の1月11日まで伸びている。ただ総合テストは、ぼくたちには関係ないのであまり気にしていなかったが。

 「そうですね」

 「多分、総合テストを開始したとたんに、足りない機能がボロボロ出てきたんだろうな」東海林さんの声は暗かった。「それで、慌てて機能追加してるんだろう」

 「ということは……」嫌な予感がした。

 「これで終わりじゃない気がするな」東海林さんの言葉は予感ではなく、確信のようだった。

◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

 東海林さんの予言は当たり、3日後、またもや機能追加が発生した。修正された進ちょく表によれば、ぼくの「未実装機能数:8」は「未実装機能数:10」。東海林さんは7から10になっている。

 その日の午後の情報共有ミーティングで、東海林さんはさすがに怒り心頭だった。

 「こんなに急激に増やされては、対応できるわけがないじゃないですか!」

 あるいは今日も欠席か、と思われたが、高杉さんはきちんと出席していた。

 「それは申しわけないと思っています」涼やかとも言える声で、高杉さんは東海林さんの怒りを受け流した。「ただ、わたくしとしてもエンドユーザー様の要望を無視するわけにもいきませんので。これでも、かなり交渉して数を減らしたんですよ」

 「それでも絶対数が多過ぎるでしょう。零号デモを延期してもらえるんですか?」

 零号デモとは、エンドユーザーの前で「承認くん」の全機能を通して見せる最初のデモのことで、仕事納めの2日前、12月27日に予定されていた。すべての機能が実装されている必要はないが、「紙芝居」的な画面だけは用意しておく必要がある。

 「それはできませんね」高杉さんはにべもなく否定した。「デモを延期することなどは問題にもなりません。論外です」

 東海林さんは、助けてくれ、と言わんばかりに視線をさまよわせた。それに応えたわけでもないだろうが、いつもなら高杉さんと東海林さんの舌戦を黙って聞いているライズの石川さんが、助け船を出すように発言した。

 「しかし、この機能数をデモまでに実装するのは、現実問題として無理があります。全部がデモまでに必要なわけでもないでしょうから、後回しにできる機能は、除いていただけないでしょうか」

 意外なことに、高杉さんは「論外」とは言わなかった。

 「そうですね。ライズさんまでそのようにおっしゃるのなら、考えましょう」高杉さんは実装予定表のプリントアウトを見つめた。「では、ライズさんの担当分で、R03F033、R03F034、R04F011、R04F012は後回しにしましょう。R06パッケージだと……」

 高杉さんはライズさんの担当分として追加された機能から、10機能ほどを削り、同じようにうちの担当分からも、6機能を削ると言った。結果的に、ぼくの未実装機能数は5になった。これでも少しきついが、何とかなるレベルではある。

 ぼくはホッと一息ついたが、高杉さんの話はまだ終わっていなかった。

 「……ただし、今言った機能を後回しにする代わりに、残りの機能の実装完了を1週間、前倒しにさせてもらいますね」

 しばし沈黙が室内を支配した。ぼくも何を言われたのか意味がつかめず、微笑む高杉さんの顔をぽかんと口を開けて見ていた。

最初に立ち直ったのは東海林さんだった。

 「すみません。もう一度言ってもらえませんか?」

 「実装完了日を1週間、前倒しにさせてもらいます」

 高杉さんは繰り返した。その頃になって、ようやく意味を理解したメンバーがざわめき始めていた。

 「そもそもスケジュールが遅れ気味なのはご存じだと思います」高杉さんのよく通る声が響いた。「零号デモが今月の27日、その次の初号デモが1月の12日。この日は、K自動車港北工場で受け入れテストが始まる日でもあります。それまでに全機能が完成している必要があるのは理解できますか?」

 理解していない人はこの場にいないはずだったから、これは明らかに修辞疑問だった。高杉さんは誰にも口を挟む時間を与えず、よどみない口調で続けた。

 「零号デモの場合は、全機能が完成している必要はないでしょう。このデモは通しといっても簡易的なもので、どちらかといえば、処理の流れを最終確認するために行うのですから。しかし、初号デモは違います。初号デモは実際に値を入力し、更新し、メールを送信し、帳票を出力する必要があるのです。多少のバグはいた仕方ありませんが、機能ができていないということはあってはならないのです」

 そういうことか。ぼくはスケジュール表を確認した。高杉さんが前倒しした実装完了日は、1月11日。初号デモの前日だ。

 東海林さんが発言した。

 「それは分かりましたが、今の状況でスケジュールを前倒しするのは無理でしょう。今、少し減らしてもらいましたが、それでも当初の予定より数が増えています。もともとスケジュールが押していたのに、数が増えて、開発期間が短縮されたら、こっちは困ってしまいます」

 「それを何とかするのがあなた方の役目でしょう」高杉さんは冷たく答えた。「やり方はわたくしの関知するところでありません。とにかく初号デモまでにすべての機能の実装を終えていただきます」

 「そう言われましても……」

 「あなた方には分からないかもしれませんが、上流工程を担当するわたくしたちには、あなた方の何百倍もの責任というものがあるのです。エンドユーザーに対する責任、お金を出してくれる顧客に対する責任です。間に合わなければ、エンドユーザーから非難されるのはあなた方ではなく、このわたくしなのですよ」

 「それは分かりますが……」

 「いいえ、あなたは分かっていません」高杉さんの声が少し高くなった。「たかがプログラマのあなたに分かるはずがありません。その年になっても、まだプログラムを書いているあなたに、上流の重い責任など分かるはずがないではないですか」

 空気が凍った。東海林さんの顔が強張り、燃えるような視線が高杉さんに突き刺さったが、相手は平然とそれを跳ね返した。

 「とにかくこれは絶対に必要な条件です。できないというのなら、あなた方の会社の社長にお話をさせていただきます。お金の問題も含めて」

――恐喝じゃないか。

 ぼくは憮然となったが、同時に、エースシステムが自身ではたいした技術力も持っていないのに、トップクラスのSIerとして業界に君臨している理由がわかった気がした。きっとこんな感じで、金に物を言わせて下請けを酷使し、開発実績だけ自分たちのものにしてきたのだろう。

 ミーティングは、高杉さんに押し切られた形で終了した。東海林さんは一言も言わずに喫煙ルームへ直行し、かなり長い時間戻ってこなかった。

◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

 20:30ごろ、東海林さんと自社に戻ると、普段はこんな時間まで残っていることがめったにない田嶋社長や斉藤技術部長が、営業の黒野さんと一緒に待っていた。

 「珍しいですね。今日は接待じゃないんですか?」東海林さんは笑いながら、「接待」と称して毎晩のように飲み歩いている社長を皮肉ったが、黒野さんの言葉を聞くと真顔になった。

 「実は、エースシステムの高杉さんから電話があったんです」

 「なんて?」

 「機能追加が発生したんだけど、東海林さんがやるのを渋っているということでした」黒野さんは東海林さんを見つめた。「要するに苦情です」

 東海林さんとぼくは顔を見合わせた。

 「どうなっているのか教えてくれ」苦虫を噛みつぶしたような顔で社長が言った。

 東海林さんとぼくは、順番に昼間のミーティングのことを話した。それが終わると、全員がうんざりした顔になっていた。

 「なるほど」と黒野さん。「事情は分かりましたが、どうしようもないですね」

 「大変だがやってもらうしかないなあ」社長も言った。「契約不履行なんて難癖つけられちゃかなわんし」

 「どうしようもないことは分かってますよ」東海林さんが答えた。「ただ、追加ということで見積もりを出すぐらいのことはやってほしいですね。ただ働きなんてことにならないように」

 「それはやってみます」黒野さんが請け合った。「でもまあ、受けてくれるかどうか分かりませんけどね」

 「人を増やした方がいいか?」斉藤さんが訊いた。「前はいらないってことだったが、こうなったら誰か付けた方がよくないか?」

 「そうですねえ……」

東海林さんは目を閉じて少し考えていたが、やがて首を横に振った。

 「やっぱりいいです。今から投入しても、Aフレの使い方や、コーディングルール、機能の説明なんかをする必要がありますが、こっちはその時間さえ惜しいぐらいなので」

 「大丈夫か?」

 「まあ、細川は若いから3日や4日の徹夜じゃ死にゃしませんって。だよな?」

 そんなことで同意を求めないでほしい。ぼくはあいまいに笑ってごまかした。

 3日や4日の徹夜というのは東海林さんの冗談だったが、まもなくぼくは、それに近い状態に追い込まれることになる。

(続く)

 この物語はフィクションです。実在する団体名、個人とは一切関係ありません。似たような行動や言動があったとすれば偶然の一致でしかありません。また、特定の技術・製品の優位性などを主張するものではありません。

Comment(3)

コメント

かきえもん

これ、開発現場では本当によくある話ですね。

よくある話なのですが、ほとんどは高杉さんのように強引に進める人がいて、シワ寄せはいつも実装の下請けです。
オンスケのときは仲良くやっていたのに、問題が表面化してくると責任を押し付けてくるSIerか~
思い浮かぶ人が何人かいます。
下請けの営業がしっかりして、うまくコントロールしてくれれば一番いいのですが難しいですね。

「総合テストを開始したとたんに、足りない機能がボロボロ出てきた」って、設計はひょっとして「ア○○○○○ア」じゃないですよね・・・ これフィクションですし。

東海林さんはちゃんとリスクを回避しようと努力していたのに、アホなエースシステムが見えなかったんでしょう。アホな「オ○○ル」みたいです。

結局、この話に限らず現実問題ですが、『(9)上級SEは無慈悲な夜の女王』で書かれている通り、契約に無いものはやらないことでしか策は無いように思います。しかし、下請けの営業も経営者も『契約書』は仕事をもらうための手形のようにしか思っていないので、きちんとした契約書を書くということに興味ないようです。
あいまいな契約書では、最後はエンジニアが困ります。

がんばるな、細川くん!

ヤミ

なんというかよくある話だなつつくづく読んでいて思いました。
まあ、うちの場合は、どちらかというとエンドユーザーと直接契約を結ぶので、どちらかというとエンドユーザーとどのように交渉するかが悩みどころですが。。

アラファイブ

人間にはそれぞれ個々人ごとにある複雑さ以下のものを閾値下として認識しない機能が
ある様に思います。そして、もしかするとその機能は長じてからは決して変える事の
出来ない種類のものかも知れません。

また、ソフトウェアにも(大部分がそれに属する)典型的な複雑さがあると思います。
それは、ソフトウェアという物が出来る以前の人間の営みからすると、群を抜いて単純
に属するものかも知れません。(自分はそう確信しています)

(文中に出てくる憎らしい女の様な)その人間の閾値が、ソフトウェアの典型的な複雑さ
り高いなら、その人間は、ソフトウェアをマスでしか認知できない事になります。
よくソフトウェアの分野でウィトゲンシュタインの話が出ますが、「語りえぬもの」は
「閾値下にあるもの」と読み替えてもよい様に思います。彼女は語りえないのです。

ソフトウェアをマスで認知という事になると、その人が見るのは「更新不可能なクエリ」
だけという事になり、
・他人に依存していちいち最新の「更新不可能なクエリ」を作らせる
・問題に対してマス単位で力押しで対応する。問題の寄与100のものも、1のものも
すべてかまわず50の対処をする。
のどちらかになると思います。

その様な憎らしい女が現場の責任者なのは不幸なことです。現代社会がもうちょっと
好況なら、その女ももっと上に入って、マスに対する強さを遺憾なく発揮できたの
かも知れませんが、残念です。

コメントを投稿する