今やっている開発ではプロセスがやたらと重い。
生産物が多く、機能仕様書はいいとしても、モジュール設計書として関数ごとに変数一覧やフローチャートのようなものも書いていたりする。(組み込み系でないソフト開発でフローチャートを書いている所はないのでは?詳細設計はjavadocなどで済ませてしまうだろう。そのほうがソースとドキュメントが一致していていい。)処理時間や使用メモリの確認など各種品質確認ドキュメントも多い。色々と様々なドキュメントを作成し、各種のチェックをする中で、一つでもバグを検出しようという方向性なのだろう。
これに日本的(?)な失敗を恐れる文化があいまって、なかなか軽快にスピーディに開発とはいかないようになっている。なんとか萎縮しないでやれる方法はないものか。
一つには、マスクROMのマスクにソフトを焼いてしまうと取り返しがつかないという点がある。フラッシュメモリを使っていればまだいいのかもしれないが、それでも製品が市場に出てしまえばプログラム書き換えのコストはかなりのものになるだろう。
そのため、出荷までにとにかく不具合をつぶそうとするのだが、人間がやることだからどうしてもミスや見逃しはある。
ソフトウェアが全然ソフトでない。焼いてしまえばそれはハードだ。