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

人形つかい(1) 未知との遭遇

»

 彼らには本当に知能があるのだろうか? つまり、彼ら自身の知能が? ぼくにはわからない。どうすればそれがわかるのかも、わからない。

 ぼくの名前は細川マモル。横浜市内にオフィスを構える小さなシステム開発会社に勤務しているエンジニアだ。当年とって29歳、独身。付き合い始めて2年になる彼女がいるが、結婚を意識していいのかどうか決めかねている状態。

 うちの会社は7年前に某大手SIerからスピンアウトした6人が立ち上げた、いわゆるベンチャー企業だ。最近の世界的な景気後退の大波を何とかしのいで、ここまで黒字を――かろうじて――維持してきている。もちろん危機的状況に陥ったことも少なくなく、役員の2人が給料なしでしのいだ月も何回かあったらしいが。

 社員数は20名前後。開発要員は15名で、うち半数以上はだいたい客先か、元請けの大手SIerに常駐していることが多い。最近は利益の出る受託開発の案件がほとんど取れないのだ。

 それでもIT業界全体の冷え込み具合からすると、常駐案件があるだけマシなようだ。他県にうちより大所帯のSIerに勤める友人がいるが、少し前のメールで、昇給が絶望的なうえに残業の上限が10時間になったと嘆いていたのだから。

 幸いなことに、この近辺には県内に本社を持つK自動車の工場や関連企業が多く、選ばなければ案件自体には困らない。そして、うちのような小さな会社に、仕事を選ぶなどという贅沢が許される余地はほとんどないのは言うまでもない。

 今年の8月、K自動車の港北工場でワークフローシステム開発プロジェクトが発足した。総予算は2000万円と、日本有数の大企業K自動車としては小規模な案件だが、ハードウェア/ソフトウェアともに新規導入となるので、めぼしい大手SIer数社は色めき立った。既存システムのリニューアルや改修の場合、自動的に前回のSIerが受注することになるが、新規案件の場合は入札制なので、K自動車の広大なIT世界に食い込むチャンスなのだ。

  1カ月間にわたって虚々実々の駆け引きが繰り広げられた結果、ハードウェアは外資系ベンダが受注し、ソフトウェア開発はエースシステムエンジニアリング株式会社が勝ち取った。

 ただ、エースシステムは会社の規模こそ大きいものの、要件定義などの上流工程までを担当し、実入りの少ない実装部分については下請けに出すのが通例だった。もちろん、たっぷりとマージンを取って。

 というわけで、近隣の中小SIerの営業がエースシステムに殺到することになり、規模ははるかに小さいものの、真剣さでは勝るとも劣らない受注競争を展開した。もちろん、うちの営業も早くから参戦していて、ぼくたち技術部もプレゼン資料作りなどに協力させられている。

 それまでエースシステムとは一度も取引がなかったので、あまり期待はされていなかったのだが、一体どんな手を使ったのか、ソフトウェア開発一式500万円(概算)なりを見事に受注することができたのだった。他に同業他社が参加するので独占とはいかなかったが、最近のうちの単体の案件としては、突出して高い受注額だ。

 前祝い、と称して、急遽決まった飲み会の席で、営業の黒野さんは天下でも取ったかのように得意満面だった。

 「いやあ苦労した、苦労したよ。徹夜でプレゼン資料作ったかいがあったってもんだよ」黒野さんはジョッキをぐいぐいと傾けながら、張りのある声で話し続けた。「TDCやモリグチの営業もいいのを作ってきやがったけど、うちのにはかなわなかった。エースの営業さんがな、『サードアイさん、よくK自動車さん案件やってらっしゃいますよね。なら安心ですね』って言ってくれてな。あの瞬間、勝った!って思ったんだよなあ」

 ――プレゼン資料作るのに、ぼくたちもずいぶん手伝ったんですけどね。

 ぼくは心の中で苦笑したが、ともあれめでたいことには違いない。久しぶりの景気のいい話に、社長をはじめ都合がついた10人ほどが、明るい顔で呑みまくっている。あまり酒に強くないぼくは、料理を征服することに専念していた。

 「あんたの取ってくるのは、いつも大変なやつばっかじゃない」

 そう言ったのは川嶋ミナコさんだった。先月までK自動車のシステム部に常駐――かなりハードだったらしい――していたが、今月からは社内で複数の開発案件を並行してこなしている。黒野さんとは同期なので遠慮がない。

 「まあそう言うなよ」黒野さんは空になったジョッキを高々と差し上げて、おかわりを注文した。「お前にも、またいい仕事取ってきてやるからさ」

 「この前みたいなのはやめてよね。って言うかさ、たまにはK自動車以外の案件取ってきたら?」川嶋さんは注意深く揚げ物を避けて、サラダや刺身をつついていた。「K自動車関係の依存度が高すぎるのもどうかと思うけどね」

 確かにうちの仕事の実に8割以上は、エンドユーザがK自動車か、その関連企業だ。1つの企業グループに偏りすぎているのは問題だが、一方で、K自動車が倒産したり、会社更生法を適用されるという事態は、円周率が割り切れるぐらい想像しにくいのも事実である。

 「でもなあ、現実的に県内で元気なのは、K自動車ぐらいだしなあ」と田嶋社長が言った。営業部長も兼務している社長は最年長だが40代だ。「しばらくは中小で奪い合いが続くだろうなあ」

 「K自動車に常駐になるのか?」

 真っ赤な顔で訊いたのは、役員の1人で技術部部長の斉藤さんだった。

 「いえ、どうもエースシステムさんとこに半常駐ってことになりそうですね」

 「半常駐って何よ?」と川嶋さんが突っ込んだ。

 「週に何日かエースシステムさんのとこに行って、あとはうちに持ち帰りで開発ってこと。まだ確定じゃないけどな」

 「ふうん」

 「誰が担当することになるんですか?」ぼくは訊いてみた。

 決定するのは技術部長だ。全員が斉藤さんの顔を見た。

 「さあなあ。まだアサインする人数も決まってないからな。細川、行きたいのか?」

 「いえ、そういうわけじゃ……」

 「エースシステムってあまりいい噂を聞かないよなあ」技術課課長の東海林さんがつぶやくように言った。「デスマが多いとか、離職率が高いとか」

 「あ、それ聞いたことありますねえ」と川嶋さん。

 「でも業界最大手ですよ。エースグループだし」黒野さんがちょっとムキになった口調で答えた。自分の功績に水を差されたような気分になったのだろう。

 エースシステムは、造船から家電、最近はスマートフォンや電子書籍分野にまで手を広げるエースグループの一翼に連なる大手SIerだ。K自動車に取引口座を開設してもらえるSIerは数社に限られるが、エースシステムはそのうちの1社である。

 エースシステムに関する噂は、ぼくもネットなどで読んだことがある。東海林さんが言うように、デスマーチ案件が多いというのも知っているが、これまで関わったことがないので事実かどうかは知らない。

 「ともかく久々の大口案件で、おれもひと安心だよ」社長が豪快に笑った。「今日は会社のおごりだから、みんなガンガン呑んでいいぞ」

 社長の宣言に歓声が上がり、その夜はそれ以上仕事の話が出ることはなかった。

 ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

 それから数日後の午後、東海林さんとぼくは、斉藤さんから言い渡された。

 「エースシステムさん案件ね、東海林さんと細川くんに担当してもらうことになったから」

 ――やっぱりそうか。

 だいたい想像はついていた。東海林さんは技術部のナンバー2なので、大きな案件にはだいたいリーダーとして関わることが多いし、ぼくはたまたま抱えているのが小規模な案件だけ。他の社員はすでに常駐しているか、それなりに忙しい状態だったから。

 「これを機会にエースシステムさんとのパイプをしっかり通しておきたいから、よろしく頼むよ」

 「あまりしっかり付き合わない方がいいと思いますけどね」東海林さんが答えた。冗談かと思ったが、どうやら本気で言っているようだ。

 「また、そういうことを……」斉藤さんは苦笑した。「まあ頼むよ。詳しいことは黒ちゃんから訊いてね」

 というわけで、翌日の午後、ぼくは初めてエースシステム横浜を訪問することになった。というか東海林さんと黒野さんについていった、という方が正しい。

 エースシステム横浜は、JR横浜駅から徒歩5分という好立地にあった。うちの会社がエレベータすらない古いビルの3F――もちろん賃貸――なのに対して、エースシステム横浜は、真新しい7階建ての自社ビルだ。シンプルなグレーのビルの壁面には、流麗にデザインされたAce System Engineeringのロゴが輝いている。同じSIerなのに、この差はどこからくるんだろうか。

 黒野さんが、受付のきれいなお姉さんに来意を告げると、職業的な笑みとともに「ミーティングスペース9番でお待ちください」と答えが返ってきた。黒野さんは何度か来ていて場所を知っているらしく、ぼくたちを先導して歩き出した。

 「すごいですね」

 ぼくは東海林さんに囁いた。大理石の壁も床もピカピカで、得体の知れないシミばかりの我が社のビルとは大違いだ。

 「儲かってるんだろうな」東海林さんは、それほど感動した様子でもなかった。「こういうモノの維持費用も、K自動車に請求されるんだよ、きっと」

 やがてぼくたちは、パーティションで区切られたテーブルが、ずらりと並ぶ一角に到着した。スペースのほとんどが埋まっているようで、あちらこちらから活気のある打ち合わせの声が聞こえてくる。ぼくたちは指定された9番のスペースに入り、黒野さんがテーブルに置いてある内線電話で担当者に連絡をした。

 「すぐに来るそうです」

 「このビル、タバコは?」東海林さんが訊いた。

 「もちろん全面禁煙ですが、喫煙室はちゃんとありますよ」

 「いい機会だから禁煙したらどうですか?」そう言うと、東海林さんはジロリとぼくを睨んだ。

 「うるさい」

 ぼくたちは担当者が来るのを待った。ぼくと東海林さんは、黒野さんに言われて、携帯電話をマナーモードにし、名刺入れを手に持って待ち構えていたが、そのまま何分も待たされることになった。

 「遅いな」東海林さんが囁いた。

 「まあいろいろ忙しいんでしょう」

 そう答えた黒野さんだったが、14時を15分過ぎると、さすがに遅いと思ったらしく、再び内線電話を取り上げた。

 「もしもし、サードアイの黒野ですが……はい、はい……わかりました。お待ちしてます」

 電話を切った黒野さんに、東海林さんは問いかけるような視線を投げた。

 「すぐに来るそうです」

 「さっき聞いたぞ、それは」

 「いろいろ忙しいんでしょう」

 「それも聞いた」

 さらに5分ほど過ぎたとき、小太りの男性が急いでいる様子もなく、ゆっくり歩いてスペースに入ってきた。片手に幅20センチ以上あるキングジムファイルを抱えている。

 「どうもお待たせして。第1開発室の佐々木です」全く申しわけなさが感じられないのんびりした口調だった。黒野さんが「どうも、お世話になります」と答え、ぼくたちを紹介した。

 名刺――佐々木さんの肩書きは「セールスエンジニア」となっていた――を交換し、それぞれ自己紹介した後、ぼくたちは改めて席に着いた。佐々木さんは、黒野さんと軽く世間話をした後、早速、今回のワークフローシステム開発について説明を始めた。

 エースシステムがK自動車から正式に受注したのが9月1日。すでにエースシステムのSEが上流工程を開始していて、現在は詳細設計フェイズの途中とのことだった。ぼくたちは、詳細設計書に基づいて実装とテストを行うことになる。港北工場での稼働予定は、来年の2月1日だが、結合テスト、総合テスト、K自動車ICTシステム部と港北工場による受け入れテストなどを考慮して、12月末までに実装を完了するスケジュールとなっていた。

 「設計書のサンプルは後でメールします」佐々木さんは、すでに何度も同じ説明をしているらしく、慣れた口調で続けた。「それから、まずこれを理解してください」

 ぼくたちの前に、キングジムファイルが置かれた。背表紙には、「エース・ハイパフォーマンス・フレームワーク仕様書-Ace Hi-Performance Web Application Framework Environment System」とゴシック体で印刷されている。

 「これは?」東海林さんが訊いた。

 「うちで開発した、Webアプリケーション用フレームワークです。Aフレと呼んでます」佐々木さんは誇らしげに説明した。「今回の開発を足がかりに、このフレームワークをK自動車さんの各拠点に売り込んでいこうと思っているんです。これに基づいて作成をお願いします」

 センスのないネーミングだ、と思ったが、もちろん口には出さなかった。ファイルの中を見てみたかったが、東海林さんはちらりと見ただけで手を伸ばそうとしなかったから、ぼくも動かなかった。

 「てっきりStrutsだと思っていました」

 東海林さんがそう言ったのは、過去のエースシステムのWebアプリケーションの案件は、大部分がStrutsで作られてきたと聞いたからだろう。

 「ええ、これまではStrutsがメインだったんですが、やっぱり古いフレームワークだし、XML地獄になりやすいしということで。Aフレは開発者のことを考えて作られたフレームワークです」

 「SAStrutsとか使えば、XML地獄は避けられますけどね」

 東海林さんは何気なく言ったのだろうが、とたんに佐々木さんの顔色が急変した。

 「ああいう国産オープンソースは信頼性に欠けるんですよ。よくバージョンアップも止まってしまうし」蔑んだような口調だった。「うちじゃ、そういうのは使わないことにしてるんです。サードアイさんじゃ、よく使われるんですか?」

 「いえいえ、そういうわけじゃ」黒野さんが慌てて口をはさんだ。「まあ、案件によっては、ってことですよ」

 「それならいいんですが」

 ――Strutsだってオープンソースなんだけど……

 ぼくはあっけに取られて佐々木さんの顔を見ていたが、東海林さんに脇をつつかれて我に返った。

 「それからサンプルの設計書に基づいて、工数と実開発日数の見積をください」佐々木さんは何事もなかったように続けた。「それによって、サードアイさんにどれだけ回せるのか決めますから」

 「なるほどなるほど」

 ぼくには、このとき黒野さんが何を考えたか、だいたい想像がついた。開発日数を短めに見積もれば、その分、多くの本数をうちが受けることができるだろう。ぼくたち2人で手に負えなければ、社内にいる人間をヘルプにすればいい。

 「できれば今日が水曜日ですから、金曜日中には見積もりがほしいんですが……」

 「ちょっと待ってください」東海林さんが首を傾げた。「機能によって難易度が違うと思うんですが、そのサンプルはどの程度の難易度なんですか?」

 「ああ、かなり簡単な画面ですよ。でも大丈夫です。ステップ数に応じて難易度をランク付けしますから」

 「は?」

 ――今、ステップ数って言ったか?

 「ステップ数ですか?」

 「そうです。ああ、もちろんコメント行は抜いてくださいね」

 本気で言ってるんだろうか。ステップ数によって難易度が決まると?

 東海林さんの顔が険しくなったのを見て、またもや黒野さんが割り込んだ。

 「はい、大丈夫です」そう言って、東海林さんに向かって顔をしかめてみせた。「ですね?」

 東海林さんは黒野さんを睨んだが、さすがに客前で口論するわけにもいかず、何も言わずに顔をそむけた。黒野さんは、東海林さんが余計なことを言い出さないうちにと思ったのか、ビルへの入館方法や、作業開始の時期などについて、矢継ぎ早に質問を発した。そして、ひととおりの質問が出尽くしたところで、東海林さんを飛ばして、ぼくに訊いた。

 「細川くん、何かある?」

 ――ええ、訊きたいことはたくさんありますとも。

 でも、この場で訊かない方がいいことばかりだということは、なんとなくわかった。黒野さんの目が「頼むから何も言うな!」と絶叫しているようだったから。

 「いえ、ありません」

 「それでは、今日はこれで」黒野さんはそそくさと立ち上がると、ファイルを持ち上げた。「早速、社に戻ってこれを見させてもらいます。またご連絡します」

 「はい、よろしく」

 ぼくたちは、ほとんど黒野さんに追い立てられるように、佐々木さんの前を辞した。

Comment(7)

コメント

レモンT

おひさしぶりです。新作期待してます。
 しかし今度はタイトル元ネタがハインラインのアレですか……例によって書き出しも強烈ですねえ(苦笑)。いっそコラムタイトルになってる作品を元ネタに……って、それが一番怖い話になりそうですが。
 では。

アロン

デスマの話は・・・、怖いもの見たさで読む方が多いのかな。

はじめまして。
コラムニストのあぐです。

実は前作の高慢と偏見を読んでコラムニストをやってみようかなぁ、と思いました。
今回のもデスマになりそうなお話で楽しみにしています。

ハムレット

まあ、何と気の利いたタイトルですね。

>本気で言ってるんだろうか。ステップ数によって難易度が決まると?

理想言えば、McCabeのサイクロマティック複雑度とか考えた方が良いんでしょうが、ステップ数も難易度の概要をつかむなら、まあ使えないことは無いですと思います。但し、次の条件を満たす場合のみですが。

1)対象システムを構成する機能を適切な粒度で分割して、サブシステムやモジュールへ分割・割り当て出来ていること。
2)システム全体としてコードクローンがあまり存在がしないこと。

ちなみに上記の2つの条件を満たすだけでも十分難しいのは、言わずもがな何ですが。・・・・

鈴木生徒

おお、新連載だ。楽しみ楽しみ。
このコラムは文章力が他の小説形式コラムとは段違いなので、とても読みやすいし引き込まれる。
それに比べて、どっかのstaticおじさんのコラムは、誤字脱字が多いし、やたらと!や~を多用するなど、文章そのものが幼稚すぎる。そもそも内容がつまらないのでどうしようもないが。おそらく、小説形式ならうける、と勘違いして書き始めただけなのだろうが。編集部はチェックしてないのか?いや、おすすめコラムにあがってきたことがないところを見ると、編集部でももてあましてしまっているのかもしれないが。
それはともかく続きが楽しみだ。毎週、月曜日公開かな?

みなさま、どうも。
本当は3月にと考えていましたが、例の震災でどたばた(被災したわけではありません)。
4月にと思ったら、身内で不幸が。先日、忌が明けたので、今週公開としました。

レモンTさん>
最近だと、「攻殻機動隊」の方で有名になっちゃいましたね。

あぐさん>
モンスター先輩シリーズ、読ませていただいてます。

ハムレットさん>
私は「循環的複雑度」という名称の方がなじみが深いです。
次の次で、少しだけ触れています。

鈴木生徒さん>
例の人のことは、そっとしておいてあげましょう。
毎週、月曜日公開の予定です。

atlan

昨日のアクセスランキング2位かぁ・・
みんな新作に飢えてますね

コメントを投稿する