ソフトを作成するということ

ご無沙汰してます。えぇ、ずぅっと北のほうにいました。
んでとある仕事でソフト開発を担当しているんですが、
その現場の代理人に「バチっと終わらせろや」とよく怒られます。
それなりの大きさのソフトでヒューマンインターフェースが多いため、
いつまでたっても不具合が生じておこられるんです。
計器をつけるように「バチっと」終わればいいんですが、
なかなかそうもいかないところがあって、
それをその代理人に説明することができず、迷惑をかけてみます。
んで思いついたのですが、、、
 
ソフト開発をなににたとえるか?
ずぅぅっっと考えていたのですが、人が空を飛ぶみたいなもんかなと。
 
たとえば1+1=2をプログラムするのは、
その場で10cmくらいジャンプするようなものです。
誰も怪我しないし、簡単なことです。
 
メジャーなOSや、銀行のシステムなんかはジャンボジェットみたいなものです。
大容量であり、さまざまなシステムの上にその動作が成り立っています。
かなりの技術力と経験の上に成り立っているため、安全に動きますが
容量や飛行高度が大きいため、重大な不具合(バグ)があれば大惨事を引き起こします。
 
さて、自分が担当しているソフトをたとえるなら、
手作りでセスナ機を作っているようなものだと思います。
ジャンボジェットに比べればはるかに簡単なものではありますが、
いかんせんセスナ機の作成実績はこれで2機目です。
#1機目は定期的な整備が必ず必要ですが、なんとか飛んでいます。
携帯電話のソフトにように経験と技術力の上に成り立って
さらに生産ラインまでのってるようなセスナであればなかなか落ちないのでしょう。
手作りのセスナ機、、、作る人間はあらゆることを考えて安全対策をしてますが、
落ちるなといわれてもどこにどんな不具合が発生するかわかりません。
作成者はもちろん落ちるようには作っていないんです。
でも飛んでる限りは落ちることを免れません。
この手作りのセスナを「絶対に落ちない」と自分にはいえません。
「バチっと」は終わらないのです。
おそるおそる飛行を繰り返し、状態を確認しつつ
修理、改修をしながら飛行時間を延ばすしかないんです。
 
自分なりに面白い考えだなと思いつつ内勤してます。