ソフトウェアが低品質なわけ

ハードウェアの設計者の立場から見たハナシ。
ハードウェアの設計って,設計図を多人数でレビューするのが普通。また,設計内容は詳細に渡って安全係数などの確認がされる。そんなレビューを経た設計図を元に「実物」が製作される。「実物」は,設計図の通りにしか作られない。
一方ソフトウェアって,コードは「設計図」でもあり「実物」でもある。ソフトウェアの技術者が仕様書を設計図って言う場合があるけれども,アレは「要求仕様」であって設計図ではない。設計図というのは,可能な限り曖昧さを排除したものでその設計図からは同じ物しか作り得ないもの(というのが理想)。仕様書を元にコーディングしたとて,どんなコードが出来上がるかは千差万別なのに,実際のコードが白日の下にさらされレビューされることは希。
ハードウェアの設計流に品質を上げるならば,プログラマのコードの1行1行を多人数でレビュー(コードレビュー)するべきだと思う。けれども,生産性を理由に実施されることは少ない。
結局は「ちょっとぐらいのバグよりも生産性」という方針が,ソフトウェアが低品質であることの背景になっていると思う。「ソフトウェアだから低品質」ではなくて,「多くのソフトウェア技術者は品質に対する意識が低い」および「多くの利用者はソフトウェアに品質よりも生産性を求めている」というのが実態だと思う。ソフトウェア製品のバグに対する金銭的・社会的ペナルティが軽すぎるわけで。バグだらけだろうが作ったもの勝ちのような現状。
自動車関係のソフトウェア開発のハナシなんか見ていると興味深い。彼らの作っているソフトウェアにとって品質は非常に重要だから,そのへんの意識が全然違うわけで。

カテゴリー: 未分類 タグ: パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です