システム開発に携わった人なら、システムの保守性の大切さは知っているだろう。
しかし、具体的にどのようなコーディングを行っておけばよいのか、ということを理解しているプログラマは意外と少ないようだ。VBAに限った話ではないが、現場のプログラマのコードを見れば推して知るべしである。
なぜなんだろう?
プログラマのレベルが低い、という問題もあるだろう。しかし、IT業界自体が保守に対して力をおらず、そういう教育せず、各個人の技量に任せてしまっているのではないだろうか?という気がする。特にオープン系と呼ばれる
システムになってから顕著ではないか、と感じている。
しかし、オブジェクト指向言語に限って言えば、MVCモデルがあったり、Javaデザインパターンがあったりと、開発効率と保守効率を両立される手法は発表されている。
しかしながら、それを身につけている人は意外と少ない。
これは非常にゆゆしき問題である。
もう10年くらい前に「SEクライシス」などという言葉も流行った。
しかし、本質はどうなのだろう?
ろくでもないシステムを作り、それを何とかかんとかごまかしながら使っている。だから人が足りない。それによってベンダーは潤う。こういう事ではないのか?
きちんとしたシステムであれば変更にも強い。そういうシステムが作れるのであれば、システムは金食い虫にはならないだろう。携わる人も減る。ベンダーの収益が下がるが、それは適正な状態に戻るだけである。それにより、創造的な新しい仕事に向くのではないか?
SEクライシスはSEのレベルの低さの言い訳に思えてくるのである。
ちょっと横道にそれたが、保守性を高めることは顧客にとって費用対効果が高まることになるのだ。今のようなITのあり方では、システムで企業を支えることはできないだろう。