電脳春秋 – 〈第 19 回〉 プログラム駆け込み寺は業界の縮図だった


電脳春秋

執筆:H.F

〈第 19 回〉 プログラム駆け込み寺は業界の縮図だった

プログラム開発は、関係者以外から見るとかなり分かりにくいと思う。できあがったプログラムは、動かしてみれば働きは分かるが、いったいどういう仕掛けで動いているのか、そしてその仕掛けはどうやって作られているのかは理解しづらいであろう。

ソフト開発現場では、皆コンピュータの画面を見ながら、延々とキーを叩いているようにしか見えない。うまく行っていると、楽しそうな顔をしたり、周囲にできあがったところを見せびらかしたりしている。うんうんうなっていたりするのは、何らかの原因でうまく行っていない場合である。

プログラムは、このようにして延々と作られるのだが、ときにはどうしても自分では解決できない問題にぶち当たる。通常は周囲に聞いたり、今ならインターネットで情報収拾してだいたい解決する。あまりに困難なことを実現しようとしてたことに気がついて、開発内容自体を変更することも稀にはある。

プログラム経験をだいぶ積んだ頃、なぜか開発チーム自体が開発に行き詰まったものを持ち込まれて、 「何とかできませんか?」という相談を受けるようになってしまった。他の会社から仕事として正式に持ち込まれるくらいだから、プログラムもそれなりのサイズがあって、普通 10 万行以上ある。

こういう仕事は、なかなか大変である。開発者が居なくなったのではなく、開発中に自分達では手も足も出なくなったものを、何とか動くように直そうというのだから、大きな問題点が必ずある。

余りにも大きな問題があると、すべて捨てて作り直した方が短期間にできて、コストも下がることが多い。そのため、直す約束をする前に、プログラムを何日か見せてもらうことにしていた。設計書、そのほか色々な資料が用意されていても、コンピュータはプログラムに従って動いているだけなので、直接プログラムを見るのが一番だ。プログラム以外の資料には嘘が多い。

プログラムを数分眺めていると、だいたい様子が分かってくる。書類上、あるいは口頭説明でいくらまともな事を言っていても、プログラムはまったく正直で、技術者のレベルやクセまで教えてくれる。それだけではなく、どのくらい努力して書いたか、どのくらい悩んでいたか、複数人で開発していたときのメンバーの意思統一状態、などなどさまざまなことが分かってくる。

基本がしっかりできている場合には、ちょっとした手直しで直ってしまう場合もあるが、稀である。あちこちに問題点がぎっしり詰め込まれていて、直しても直しても無駄かなと思うこともある。中には、努力に努力を重ねて作った部分らしいが、その部分が存在するために正しく動いていなかったので、削除することによって動かしたこともある。

全体を一から作り直したいという衝動にかられることもあるが、それでは時間がかかって仕方がない。要求を満たすためには直さなければならない部分と、今回は悪くても無視する部分に分けてから仕事にかかる。直さないといけない部分が少なかったらラッキーな仕事であるが、駆け込んでくるプログラムにそんなものは決してない。

一番最近持ち込まれたプログラムは、ぱらぱらっと見るなり、治療不能と判断したが、なぜこうなるまで放置されたのか不思議だった。何事も、早期治療が一番のようだ。手遅れは、やはりどうしようもない。