品質が『よい』『わるい』と言うけれど
IT業界の若手へ送るメッセージ #1
ソフトウェア開発の世界に飛び込んで数年の「こんな仕事のやり方で大丈夫かな?」と、少し疑問に思い始めた若手に送るキーワード。ブレークスルーのキッカケをつかんで欲しいデス。今回のキーワードは「品質モデル」
品質とは何か?
ソフトウェア開発の世界にいると「品質は良いのは当たり前」、「バグはゼロに!」といったことがよく口にされます。
でも、品質が『よい』『わるい』と言うけれど、それはいったい、なにとくらべて、どれくらい良いことをいうのでしょう?
「日本車は品質が良い」というのは世界的に認められていることですが、具体的に挙げると
- 故障しにくい
- デザインがいい
- 低燃費
- 衝突しても壊れにくい
などでしょうか。 実はこれらは「比較可能」という点に気がついてますか?
故障しにくい
→ メーカーは「無償」保障期間で品質を担保。1年間だったり、3年間だったり
デザインがいい
→ 決められたサイズ内の居住空間などを計測できるので比べられる
低燃費
→ 達成目標が明確化されている。リッター○○キロ走る!
衝突しても壊れにくい
→ 耐久性が数値化されている。時速○○Kmでの衝撃吸収率とか
こうやってみると「品質」というのは何らかの指標で「比較可能」であることに気付けます。
ところが、なぜかソフトウェアの開発になると、上記のような指標が曖昧なまま品質が語られてしまいます。
ソフトウェアに求められる品質が「開発者」に正しく伝わらないと、まったく製品価値がないものを世に送り出すことになりかねません。
例えば、機能ばかりに着目しがちなエンジニアはこんな事を想います・・・
ソフトウェア開発エンジニアのAさん:
「この処理、多少時間がかかるけど、精密な結果をだすためには仕方がないよな」商品企画部でプロダクトリーダーのBさん:
「なんだよ、これ時間がかかるなぁ…でもこの結果がでるなら我慢できるかな。」
こんな想いを経て、どうにか世に出たソフトウェアが、
エンドユーザのCさん:
「・・・はぁ?なにこれ、処理にこんなに時間がかかるの!!
使えねー、別のソフトを買おう」
ソフトウェアは完成しリリースも出来たのに、いつの間にか「製品価値」を失っていたようです。悲しいかな、このようなケースはすごく沢山ある気がしてます。
ところで、ソフトウェアの品質は表現不可能なのでしょうか? 冒頭の例では、車に於ける品質は、なんらかの指標で比べられるという話をしました。
そう、「品質」は定義(仕様化)することが出来るのです。…ピンと来ないかもしれませんが 「品質モデル」 という考え方があります。これは先人の知恵の結晶、品質を定義するためのモデルです。しかも国際標準。
国際標準規格『ISO/IEC 25051』
これ、今まで聞いたことあります?
となりの先輩知ってます?
会社で教わったことあります?
無いというあなた。
本来はここで中身について解説すべきところですが、すでにインターネット上にはたくさんの解説があります。
書籍もたくさん出ています。
ありがたいことです。
なので、ぜひ自分で調べてみてください。
検索キーワードは
- ソフトウェア品質モデル
- ソフトウェア品質特性
- ISO/IEC 25051
- JIS-X-25051
です。
ソフトウェア品質向上への手がかりが、たくさんありますよ。たくさん勉強してほしいです☆
では、後日また別のキーワードを紹介したいと想います。
もともとhttps://taka-bow.blog.so-net.ne.jpで公開されていたものを、加筆・修正しました。