見出し画像

SESクソ体験(2) ばね製造工場

僕が呼ばれた現場は、たいてい炎上してから人を呼んでました。
今日話すのは、その中でも最たる炎上案件でした。
記録が間違ってなければ2006年くらいの話です。

「納期11ヶ月遅れてます」

現場面接に行って、そう言われました。
単純な話、そんなことあるの?って思いました。
だって11ヶ月ですよ。SEの単価ってのは安くないので、1人確保するのに1ヶ月50〜100万はかかります。掛ける人数、掛ける月数で、湯水のようにお金が飛んでいきます。銀行保険もクソだなって思ってましたが、システム使用開始日は決まってたので、納期だけは守ってました。11ヶ月遅延というのはいったいどれだけの赤字になるのか想像もつかなかったです。
よくよく聞くと、自社のシステムなので、遅れたところで社員が我慢して旧システムを使えばいいって話でした。デッドエンドが無いと、人はどこまでも怠けられるんですね。お金がある会社っていいなぁと思いました。

「VB.NETで作りたいんです」

目的と手段が逆転しているいい例でした。
なぜだかわかりませんが、PMは「VB.NETで作りたい」の一点張りでした。たぶん、会社の方針なので、それは業務委託の僕がとやかく言うことではないです。当時、VB6.0からVB.NETへの移行が流行っていたので、「うちもやってみたい」くらいのノリだったのでしょうか。
しかし、客先社内では、誰もVB.NETでプロダクトを作ったことが無いという問題がありました。じゃあできないじゃん、って僕は思ったのですが、そこをなんとか!とお願いされました。既に11ヶ月「遅れている」ので、注ぎ込んだ時間はそれよりもっと長く、今更降りられなかったらしいです。こういうのをコンコルド効果って言うらしいですよね。

ぶっちゃけ僕も、当時はVB6.0しか使ったことがありませんでした。僕は正直に「VB6.0までのノウハウならあります。どうしてもVB.NETで組みたいというなら調査から入ることになりますが、それでもいいんですか?」と面接で伝え、自社営業にあとで怒られました(※)が、藁にもすがる思いだったのか採用OKになりました。

※ SES営業は、自社でアイドル(待機)している社員を、一日でも早く現場に出したがっています。なので「てめぇどこでもいいから働きに出ろよタダ飯食らい」と思っています。面接で採用NGになりそうなことを口走るエンジニアを快く思うはずがありません。

イカれた仲間を紹介するぜ

僕と同時期に、業務委託が2名採用されていました。
チームはPM、PL、業務委託3名(ニューカマー)の5名体制です。

この時点でおかしいんですよね。それまでのプロジェクトメンバーどこいったんですか?って素直に聞きました。
どうも、もう一人いて、その人がすべて仕様を組んだそうです。そして製造は中国の下請けにオフショアしてたそうです。そして紆余曲折あって、仕様を組んだ人は休職し、下請けとは契約が終了したとのこと。
手掛かりは、休職した人の残した外部設計書と、中国人が残した作りかけのプログラムだけです。こっちゃ探偵や考古学者じゃねえんだぞ。なんで手掛かりを解読するところから始めなきゃならないんだよ。

そして、PMとPLを除くと、3人とも業務委託なんですよね。
一人は40代の温和そうなおじさん、一人は30歳前後のちょっとホスト風なイケメンでした。
僕はもう、恥ずかしいけど自己紹介しましたよ。「今までCOBOLで仕事してました。VB6.0なら使ってたので、VB.NETも使えると思います」って。何しに来たんだこの若造って思われるのも覚悟してました。
そしたら他の二人が、「自分はVB組めません」「自分もです」って言ったので目ん玉飛び出ました。何を基準に選ばれたんだ、このメンバー。VB.NET組める人がいないからここまで頓挫したのに、なんでそのスキルを持った人を一人も連れてこないのか。

モックを50個作ってきた

幸い、設計書はちゃんとしてました。なるほど、これなら環境を理解すれば、プログラムは書けそうだと思いました。
そしてもう一つの遺産は、中国人が残した作りかけのプログラムです。これがとんでもない代物でした。

ソースを見ましたが、「空」なんです。
外部設計書どおりテキストボックスやコンボボックスが並んでいますが、それを操作したところで何もイベントが発生しないプログラムでした。フォームは大量にありますが、コンボボックスには選択肢が何も表示されませんし、ボタンを押したところで画面遷移しません。これは、なんなん?

どうやら、休職してしまったSEが外部設計書を元に、モックを1つ作ったらしいです。これを参考にして、画面を作ってきてほしいと、中国のオフショア部隊にお願いしたそうです。
そしたら、中国人がモックを50個作ってきたそうです。

違う、そうじゃない、これはモックであって設計書にある機能を実現してほしいんだ。そう説明しても、「今更そんなこと言われても」と言われて、無理矢理納品されてしまったそうです。

この件、会社間で相当揉めたらしいです。これじゃ全く動かないからお金は払えないと主張する日本親会社、馬鹿野郎これを作るためにうちの社員が何日徹夜したと思ってんだと主張する中国子会社、という図だったようです。すると交渉に出た日本親会社側の人が「何っ、そんなにがんばったのか、それじゃあお金払ってあげないと可哀想だろ」という沙汰を下し、現場には目出たくモック50個が納品されたという流れです。
そりゃ担当者も休職するわ。

そのモックも、外部設計書どおり完璧に作ってあればまだしも、微妙にコントロールのサイズが不揃いだったり、足りなかったり、フォントがおかしかったりで、使い物になりませんでした。僕は「作り直した方が絶対早いです。こればっかりは本当に」と強く主張し、PMも多少ガッカリしながら「そうだよねぇ…」と賛同しました。

納期に追われる

納期が11ヶ月遅れていることは既に書いたとおりです。
赤字は膨らみ続け、PMは部長っぽい偉い人から「これ以上はホント…困るよ本当に!」みたいなボンヤリとした叱責を週イチで受けていました。本当のところ、怒ってる方も、解決方法わかってないんだろうなぁと思って見てました。

もう正直誰にも工数は読めない状況でしたが、逆算気味に3ヶ月という期限をつけられました。PMやPLはすっかり参ってしまって、計画も何もあったもんじゃなく、僕ら業務委託に「なんとかお願い」と手を合わせる毎日でした。メンバーは全員、守衛が「そろそろ施錠したいんだけど」と言ってくるまで働いてました。

とにかく稼働を上げなきゃ終わらないので、ゴールデンウィークもフルスタメンでした。この、どうやったら終わるのかわからないけどとにかくやり続けなくてはならない感じ、まさにデスマーチという感じです。

意外と居心地のいい案件だった

炎上案件の特徴として、多少の失敗は怒られないというものがあります。これは頷く方も多いのではないでしょうか。とっくに炎上して、プロジェクトは混乱の真っ只中なので、炎上した後に参画した業務委託が多少やらかしたところで「そりゃそうだよね」となりますし、少しでも鎮火に貢献すると褒めが発生します。場自体がマイナスなので、常に加点評価になるのです。

僕ら業務委託は最初から「VB.NETやったことないです」と言ってあったので、VB.NETの勉強しながら、実際に製造しながら、PMに随時報告していました。「DBから取り出したデータがコンボボックスに表示できましたよ」とか言って。取り返しのつかないくらい炎上して頓挫しているプロジェクトでしたから、そんな低レベルな進捗報告にもPMは大喜びしていました。

そんな職場だったので、業務委託3人は歳も経験もバラバラでしたが、割と仲良くやってました。「見てください、動きましたよ!これコピペしてください!」「天才だ!VSSに上げてください!」そんな感じで和気藹々とやってました。
後半はVB.NETの扱いにもすっかり慣れ、僕だけがVC++のDLLを呼び出す方法をわかっていたり、メンバー内で一番年下だったこともあり、特攻隊長みたいな呼ばれ方をして可愛がられていました。

結局、なんとか動くものが作成できました。やりゃできるもんです。
僕らが作ったプログラムで、ばねの機械が動いたらしいですが、管理の厳しい区画に置いてあったので業務委託メンバーは実際のものは見てません。PMやPLの喜びっぷりを見る限り、動いたんだろうなぁという感じです。
「あとは社員でやれそうです」というところまで製造できたので、プロジェクトは解散しました。
紛うことなきクソ案件でしたが、最後はお礼を言われて終わったので、今思えば良い体験だったのかもしれませんね。

よろしければサポートお願いします!いただいたサポートは食費として使わせていただきます!