システムやアプリでは、開発が進んでいくと、幾つかの課題や想定していなかった事項などが後発的に浮き彫りになって来る事は多々ある。いま開発しているシステムでも、開発部門からこういう問題があるのでどうしましょうかという打ち合わせは、頻繁にある。あるいは、仕様提案をレビューした側から、こういう場合もあるので、こうしてくれませんかという事もある。
僕は、基本的にシンプルにシンブルにというタイプで、とにかく機能や、特殊条件を増やすしたくない。このためには、課題が本当に例外的な処置がいるものなのか、それとも既存のモデルや仕組みに網羅されるものなかを見極める事に拘る。
ところが、目の前の課題の対処のために、機能や定義を追加するタイプの人が結構多い。このため、ちょっと注意をしておかないと、いつの間にか仕事が増えていることになる。
仕様や要件定義は、仮に後発的に課題が出てきたとしても、トップダウンでそもそも論的に対処を検討することが重要だと思っている。このマクロ的な部分を忘れてしまい、仕様変更や機能追加を、ボトムアップ的に行うと、屋上屋を重ねることになるわけだ。
まぁ、開発に限らず、何かに取り組む時に、「それってそもそもどうすべきなの?」を問わずに、言われたからやりました的な仕事の仕方をする人は、結局仕事を増やしてくれるわけだ。