全5859文字
PR

 人月商売のITベンダーの2大ビジネスと言えば、システムの開発と保守運用だ。もちろん、この2つは別個に存在するものではない。彼らにとって美しい商売のサイクルは、客からシステムの開発に加えて保守運用も請け負い、数年後にやってくるシステム刷新における開発の受注までつなげることだ。ITベンダーの経営者があの気色悪いフレーズ「お客さまに寄り添う」を連呼するのも、この美しいサイクルを回したいからだ。

 このサイクルの内実について、思いっきり皮肉を込めて書くと次のようになる。基幹系システムなどの開発は基本的に再構築だ。で、客が本気で業務改革でもしない限り、その要件は「現行通りプラスα」となる。現行通りでシステムをつくるというのは、機能を変えずにプログラムコードをきれいにする訳だから、いわば壮大なリファクタリングである。そして、きれいにしたコードを汚くしていくプロセスが、日々の保守作業である。

 基幹系システムなどの再構築を現行通りで済まそうとする客は十中八九、保守作業の依頼も場当たり的なものになる。しかも、当初の料金からして値切ってくるし、毎年のように理不尽な値下げ要求もしてくる。ITベンダーは先ほどの美しい商売のサイクルを回したいので、客のむちゃな要求を受け入れてしまう。すると保守運用の現場は最低限の人員で回すことになり、作業の属人化が進む。まあ、そんなこんなで、せっかくリファクタリングしたコードは、あっという間にぐちゃぐちゃになってしまう。

 そんな訳なのでITベンダーの技術者のうち、システム開発を担当する技術者は新規開発でなければリファクタリング担当、つまりプログラムコードをきれいにするのが仕事である。逆にシステム保守を担当する技術者は、きれいにしたコードを再びぐちゃぐちゃに汚くしていくのが仕事だ。期間で言えば、コードをきれいにするのは1年以内、長くて2年ほどだ。一方、コードを汚くするほうは短くて4~5年、場合によっては10年、20年の長きにわたる。

 前置きが長くなったので「木村はいったい何を言いたいのか」と不審に思っている読者もいるだろうが、私の言いたいことは至ってシンプルだ。「だから技術者は、人月商売のITベンダーで保守運用の仕事なんてやるもんじゃない」である。下手をすると10年、20年の長期にわたり新技術にも触れることなく、特定の客のご用を聞いて、ひたすら属人的なやり方でコードを汚くしていく作業を続けていたら、技術者としてのキャリアの展望は開けなくなってしまう。

 まあ、この「極言暴論」で何度も主張している話だ。ところが、である。ある人と話をして、こんな反論を受けた。「そうは言っても、ITベンダーの社長には、若い頃に特定のユーザー企業にずっと張り付いてSEをやっていた人が多いじゃないですか」。なるほど。確かに興味深い指摘だ。大手ITベンダーの現役の社長にも誰とは言わないが、何人かそんな人がいる。今回の極言暴論では、この点を中心にシステムの保守運用業務の「闇」を深掘りしてみよう。