規約がなぜ必要なのか?
理由はいろいろある。
・メンテナンスを容易にするため。
・共通部品を切り出しやすくするため。
・工数見積もりをしやすくするため。
など、規約がなく好き勝手されるとこうはいかないのだ。
いままではこのレベルだったであろう。
いまやソフトウェアは様々な分野で利用されている。それゆえ、社会に与える影響も大きくなってきている。
先日はエレベータの制御ソフトの問題が出て、死亡事故との関連が調査されている。また、生命保険会社のソフトミスにより支払額が過少であったなどという事件もある。ソフトウェアのミスにより人命を危険にさらしたり社会的信用を失墜させることは当たり前のように起こっているのである。
つまり、品質の高いソフトウェア開発の責任や重要性は社会的要請としてある、ということになる。
世間では内部統制や説明責任という言葉がよく飛び交うようになった。もう社会的インフラの一部であるソフトウェア開発の規約作りは、内部統制や説明責任を果たすための基本の第一歩である。
もちろん、規約を「作った」だけではいけない。定義したら遵守させ、更にもっとよいものがないか探っていく必要もある。
なんだ、簡単じゃないか、と思われるだろう。実は世間で言われているCMMIだとかも、基本はそういうところなのである。本来簡単なことなのだ。
しかし、定義が陳腐化したり、規約の必要性を理解せず勝手なコードを作ってそれをレビューする場もなかったりと、現実はなかなかそうはいっていないのである。
生業としてソフトウェアを開発する人には、是非理解して欲しい部分である。