ホームページ目次前の話次の話

プログラム集中治療室で行う緊急処置(1)見積り

2008年3月20日

プログラム、それも自分のではないプログラムに止むを得ず手を加えないといけないことがある。 そして、そのプログラムが普通ならともかく、 とんでもないプログラムであることがときどきある。

仕事で、誰かが作ったプログラムに手を加えることになったとき、 多くの場合に、見積りを要求されることがある。 要するに、期間と金額を知りたがる。 これに、うかつに通常の場合を想定して見積りを出すとひどい目に合うことが少くない。

まず、自分で作っておいて、改造を他にたのむ場合は、危険な場合が多い。 すでに作った人が逃げてしまった場合が考えられる。 でも、これはまだましな方である。

作った本人が居るのに、本人あるいはその周囲が改造、機能アップを実施しない場合である。 多くの場合、作った本人も機能アップが不可能なプログラムになっている場合が少くない。

請求すると、ドキュメントが出てくることがあるが、あまり宛にしてはいけない。 そもそも、ドキュメントと実際のプログラムが一致するとは限らない。

このような瀕死の状態にも、いくつかのパターンがある。 まず、そのプログラムはちゃんと動いたことがあるかどうかが重要だ。 一度も動いたことのないプログラムを何とか動かして欲しいと言う場合は、 まあ、プログラムを見ずにお断わりするのが一番正しい。 少くとも、簡単な修正で何とかなることはまずない。

ただ1つだけあるのは、極めて優秀なハッカーが、 面倒臭いという理由で投げ出した場合である。 この場合に限り成功することがある。 誰が途中までプログラムを作っていたかが、その人の能力も分っていて、 なおかつ本人は有名な横着者の場合には、うまくいくことが多い。 実際、そういうめったにない条件がぴったりあって引き受けたことが一度だけある。 そして、仕事は簡単だった。

既存プログラムに手を加えてなんとか使い物にするための見積りは、 必ずソースプログラムを入手し、分析してからにするのが正しい。 もちろん、分析には手間がかかる。 それに、たのむ位だから、プログラムは一般に非常に汚く、 ぐちゃぐちゃになっているのが普通である。

もちろん、こういう仕事には手を出さないに限る。 しかし、プログラマをやっていると、どうしてもシガラミというのがあって、 対応せざるを得ないことがある。

この手の集中治療が普通の開発と全然違うのは、 非常に高い集中力を要することだ。 作った本人すら諦めているプログラムが、どういう構造になっていて、 どういう風に手を入れれば良いかを考えなければならない。

部分的な修正で終らせるように工夫をするのだが、 それでも大幅なプログラムの手術を伴うことが極めて多い。 あまりにもぐちゃぐちゃになっていると、手も入れられないので、 ぐちゃぐちゃになっている機能の代替ができるプログラムを作る羽目になる。

長期的な観点に立てば、ほとんどの場合、ゼロから作るべきである。 しかし、短期間で、とりあえず何とか発表、公開、サービスを始めるなどが必要なことがあり、 プログラムの開発技法のどの本にも書いていなような無茶なことを実施しなければならない。

ということで、集中治療が必要な場合は、病院のICUでの治療と同じで、高額であるべきだと思う。 少くとも、通常の2倍、普通なら5倍以上が妥当な金額だろう。 でも、残念なことに、こういう状態に陥る段階で金をドブに捨てて、 相談に来たときには金がないことが多い。

もうすこし、早く相談してくれていたら、と思うことがいつもである。 医療は、早期治療に限る。

今回は、集中治療に対する見積りについてだけ書いた。 次回からは、もっと治療そのものについて書こうと思う。 それは、私のところでなくてもプログラムの集中治療が可能になるようになって欲しいからだ。

美しいパズルとは

ナンプレ問題
自動生成


これで、今日から
貴方もパズル作家


稲葉のパズル研究室

Cパズル
プログラミング
〜再帰編〜


ホームページ目次前の話次の話