システム設計、という言葉があります。
製造、という言葉があります。
システムを設計するということは、作成するシステムがどういった機能を持ち、
どういった動作をするか、仕様を決定する行為、というのが一般的なのでしょうか。
定義が決まり、仕様が決まれば製造工程は大した意味は持ちません。
ただただ仕様通りのプログラムを製造すればよいのですから。
ここで最初に断っておくと、私はプログラム自体を軽視しているわけではありません。
ではなぜ、製造工程は大した意味を持たないと言ったのか。ということになるかと思います。
理由は非常にシンプルです。
定義、設計、仕様をきちんと作れば、製造工程で、考えることはほぼ何もないからです。
もし、定義がしっかり出来ていなければ、設計の段階で設計作業以上の作業が発生します。
もし、設計がしっかり出来ていなければ、製造の段階で製造作業以上の作業が発生します。
「定義が曖昧、設計も適当、でも製造はして欲しい。」
こういった職場が、もしかしたらあるかもしれません。
定義がしっかりしていなければ設計に進むべきではありません。
また、設計をきちんと出来ていないのに製造に突入し、製造担当に、
負担をかけることもまた、するべきではないのです。
これは負担面のみならず、品質の低いシステムを構築してしまう要因に
なるため、回避していくべき問題です。
そうは言っても、
「納期も短いので、うまくいかないんだ!奇麗事をいうな!」
とおっしゃる方もいらっしゃると思います。
甘えないでください。
納期が短いなら、アジャイル開発に順応できるだけのスキルを身につけるべきです。
システム開発は所謂製造業なので、予算的に妥協するところが出てきてしまうのは
仕方のないことです。
ですが、システム屋として、手抜かりのない仕事をする姿勢というのは、
崩すべきではないと考えています。
急な仕様変更によって、定義や設計が変わることと最初から
定義や設計をおざなりにすることは全く意味が異なります。
プロフェッショナルとして、恥じない仕事をするべきだと、考えます。