うるう年テクノロジーの喪失

昨年、公衆電話が使用不能になった原因が「閏年」だったと報じられました。プログラムが2月29日を3月1日で処理したことでエラーとなり、停止したのです。かつて「閏年」の扱いはプログラマにとって常識でした。それは、プログラムとは様々な状況を想定するもので、4年に1回のイレギュラーも処理として組み込むという代表的なケースだったからです。

私が社会人デビューした20年前、プログラマ(SEも含む業界全体として)の間で「Y2K」はすでに常識的な課題であり、「閏年になる2000年」はトリビアとして誰もが知っていました。

西暦が4で割り切れる年は閏年だが、100で割り切れれば閏年ではなく、しかし400で割り切れるなら閏年だというものです。つまり、きたる2000年のために「400年に一回しか分岐されない処理」を、当時のプログラマはニヤリと笑いながら組み込んだものです。

ところが、誰もがそうではないところがIT業界の面白いところです。正反対とも言える行き当たりばったりでもどうにかなるのです。そこからIT業界に0.2な人は少なくありません。時代の変化の早さが彼らを0.2のままにさせているのです。

姉歯ショックによる大ショック

A社長の会社は、マンション建築用の積算シミュレーターを販売していました。パッケージソフトをベースに各社専用にカスタマイズする、きめ細やかさがセールスポイントです。その仕上がりは細かな数字を入力せずとも積算してくれます。平たくいえば「どんぶり勘定」。これは多くの建築業者が適当・・・いや、細かな計算をすることを嫌ったニーズを満たしたものでした。いわゆる「職人肌(=現場系)」の社長などは、ちまちまとした数字入力を好まず、A社長の提供する「阿吽の呼吸」で数字を作成してくれるソフトの需要は高かったのです。

激震が走りました。「姉歯ショック」です。例の耐震偽造物件の騒動以来、建築確認は厳しくなり、構造計算は正確に厳格に示さなければならなくなりました。ファジーな阿吽の呼吸は息も絶え絶えです。

機能を強化して需要に応えようとしますが建築確認が下りにくくなり、建築・不動産業界は青色吐息ですから、需要そのものがなくなってしまいました。倒れ込んで呻いているところに、リーマンショックが横っ腹を蹴っ飛ばしていきます。

デスパレードへ

利益を増やす方法は大きく分けて3つしかありません。経費を削る、単価を上げる、数を売るのどれかです。

削れる経費は削りました。社員の交通費を「日割り」にしたのは、祝日があれば定期より安くなるからです。単価を上げるのは客離れの恐れから着手できません。残るは「数を売る」です。取引先の数を従来の倍にしました。このパッケージソフトは初期の開発費を回収しており、廉価販売でばらまいても、メンテナンスで儲けるという目論見です。

数を売ることは成功しましたが、メンテナンスに対処するにはプログラマの人数は不足しており、接客担当の営業マンは一人しかいません。営業マンとはA社長、その人です。カスタマイズが売りで、そのカスタマイズに手が回らないのですからクレームとなります。

朝から晩までクレームの電話が鳴り響く状況で、しびれを切らしたクライアントが事務所に怒鳴り込んできました。しばらくして、キャリア20年のベテランが応接室に呼ばれ、ある伝票出力機能について訊ねられ困惑します。

「そんな機能は最初からない」

騙すつもりはありません。機能の「後付け」は、いつもの「カスタマイズ」だったからです。そしてA社長の口癖はこうです。

「嘘はつきません。うっかり忘れることはありますが」

技術進歩の裏表

IT系に0.2が多い理由に「技術進歩」があります。20年ほど前、私がコンビニのレジ開発に従事していた時、レシートの印刷時間を0.5秒短くしろというリクエストがありました。僅か0.5秒ですが、1000人、1万人と繰り返せば膨大な時間となるといいます。

当時のレシート印刷はインクリボンを使用したドットインパクトプリンタで、プリンタヘッドの移動速度から物理的なスピードアップは不可能です。議論を重ねた結果、「現計キー(清算キー)」を押下する前に、全ての計算を終わらせておくことで0.3秒程の短縮に成功しました。

ところが、この工夫は瞬時に全て印刷できるサーマルプリンター(熱転写)の登場で不要となります。また、処理速度を上げるためのプログラム言語の記述方法にも苦心したのですが、プロセッサの処理速度が飛躍的にアップしたことで徒労となります。裏を返せば、場当たり的に対応していても、技術進歩が問題を解決してきた歴史がIT業界にはあるのです。

適当(ファジー)積算でシェアを伸ばした積算0.2。その設計もアバウトで、求められる機能を場当たり的対応で設置していきます。どうせ技術は進歩しているのです、10年後は10年後に考えるという潔さです。そして、場当たり的に数を売ったことで「場当たり」すらできなくなり窮地に立たされたのでした。

エンタープライズ1.0への箴言


「ずさんな設計のツケは必ず支払う日が来る」