2009年11月25日

システムの仕様・システム開発

もう20年近く前の話、まだオフコンシステムが主流で、いまから見ればおもちゃのようなものでシステムを動かしていた。

当時、とある部品工場において経営者のご縁戚のK氏が責任者として、生産管理システムの刷新に着手した。
システム開発は順調に進みBOM・受注・計画・手配・実績などの連結テストもほぼ終了し、いざ本稼動となった時に、K氏からとんでもない要望が飛び出した。
「工程への製造指示は日別ではなく、時間別にしてほしい。」いわゆる工程スケジューリングをやれ、とのことである。
もちろんそのような機能は約束した覚えもなく、約束したくてもそう簡単にはできないことだ。
すったもんだの交渉を行ったが、スケジューリングの条件をK氏が書面で提示してくれるなら、試行してみるということになった。
これが地獄の一丁目。

K氏から細かく部品毎に様々な条件が提示される。
プロトタイプを作り、結果を出す。思ったように行かない。また条件を追加変更する、
プロトタイプを作り、結果を出す。思ったように行かない・・・・・。
業務の終わった夕方から始めて深夜まで、こんなことを2ケ月ほど繰り返した。
最初は、お客様と業者といった関係で、K氏の言われることを素直に聞いていた。
2週間ほどにたったら、もういい加減にしてくれよ・・・・・、といった感じ。
条件に誤りがあったり(当然である)、行き違いがあったり、プログラムミスがあったり。
事務所の机でK氏は前回に出した結果を調べながら、条件を考えている。
こっちはマシンの前で必死にプログラミングして、実行して結果を出す。
コンパイル・実行のワンサイクルだけでも一時間ほどかかる。
お互いに必死になっている。お互いに、降参と言えよ、と意地を張っている。

そのうちにお互いに、お互いの領分に立ち入って、2名で一緒に考えるようになってきた。
結果、完成したかと言うと、まあ未完で終わり、最後は人間操作に頼るという結論になった。

システムの仕様(条件)を考えるというのは、事象を帰納しようとしている。
そして、その仕様に基づいてプログラムは作られ、その実行が演繹とも言うべきか。
システム開発とはこのサイクルの永遠の繰返しであると思っている。
うまくゆくプロジェクトは、この事象を帰納しようとする作業において如何にユーザーと一体になれるかが鍵のようだ、もちろんプログラム品質もあるが、先に立つのは仕様であろう。

K氏との仕事の繋がりはとっくに消滅しているが、今でも3ヶ月に一度ほどのペースで酒を片手に語り合う仲が続いている。
酒席での話も、「こんなことがあった・なぜだろう、アイツはこうだから・あんなことになるんだ・・・・。」
K氏とのプロジェクトは果てしなく続くのである・・・。
posted by メールマガジン事務局 at 11:50| 生産管理戦士のつぶやき