経験

経験をすることによって、解かることもある。
長期間、システムを維持していると、システムの変更に慎重になったりしている場合がある。ケースバイケースだと思うが、長期間のシステムの維持でシステムを変更することが難しくなったりする。開発時に初期要件の実現のために変更容易性を犠牲にして開発していたりすると、こんなこともおき易いと思う。
その後、変更しないシステムが出来上がる。システムの維持活動は、あくまで運用と、法改正に伴う最小限の変更になったりする。
このようにして、システムを新規で開発したことがない。
あるいは、システムの変更をしやすい/しにくいとかの判断もできないような技術者が生まれていく。

こういう人たちがシステムを開発すると前回と同様にという考えでシステムが出来上がったりするが、前回と同じ手法を使用して開発することになる。この人にとっては、実践したことのある開発方法は前回おこなった開発方法しかないのである。成功した例をそのまま使うということだ。
長年システムを維持してきて、初めてシステム開発を実践する場合にも、こういう先輩の言うことを聞いてシステムを作成するので、そう変わらないシステム開発方法がとられることだろう。

経験をするのなら、複数のやり方があることを知り、それぞれの問題点を認識できなければいけない。

こういう経験を持っていない人に雇われるときに、彼らを変えてまで自分の思った開発を行うか、あるいは、彼らの言うことにしたがって、やる気なく作業を続けていくか。人それぞれ考え方があるだろうが、その環境を選ばないですむならその環境を選ばないほうが賢明だと思う。当然、そのリスクは、自分に返ってくるだろうが。