QAが目標にするべきなのはソフトウェアの品質かサービスの品質か

はじめに

ソフトウェアの品質の話をする際には、まずはソフトウェア品質特性や狩野モデルの話になると思います。

ソフトウェア品質特性とは以下のように説明されています(6つの特性それぞれについての説明は省きます)。

システムの利用者が、最初に触れる品質が「利用時の品質」です。
この利用時の品質に直接影響を与えるのが「外部品質」です。
外部品質とは、システムが実行されるときの品質のことを指し、実行時のプログラムの振る舞いなどが対象になります。
一般的に「品質」というと、この外部品質のことを指す場合が多いです。
ソフトウェア品質特性には、機能性、信頼性、使用性、効率性、保守性、移植性があり、この6つの特性から、外部品質、内部品質を評価していきます。

それに対して狩野モデルは品質を以下の様に定義しています。

魅力的品質要素:それが充足されれば満足を与えるが、不充足であっても仕方がないと受けとられる品質要素。
一元的品質要素:それが充足されれば満足、不充足であれば不満を引き起こす品質要素。
当たり前品質要素:それが充足されれば当たり前と受け止められるが、不充足であれば不満を引き起こす品質要素。
無関心品質要素:充足でも不充足でも、満足も与えず不満も引き起こさない品質要素。
逆品質要素:充足されているのに不満を引き起こしたり、不充足であるのに満足を与えたりする品質要素。

私見

ソフトウェア品質について考える時に6つの品質特性を考えることはもちろん大切なことです。しかしながら、狩野モデルの考え方が以下に述べるように大切なことを示唆しているとも思いました。

それは狩野モデルの品質をソフトウェアの品質に当てはめて考える時に大切なのは、ソフトウェアそれ自体の品質に限られた話なのか?という点だと思います。

ソフトウェアがゲームであれば、欠陥が少ないことと、ゲーム自体が面白いかどうかという観点は別の話で、いくら欠陥を無くしてもゲーム自体が面白くなければ品質が高いとは言えないという意味で狩野モデルを当てはまめることは比較的わかりやすいと思います。

しかし、例えば、国際的に展開しているUberやAirbnbの様なC to Cサービスの場合はどうでしょうか?Uberであれば車を配車してもらって好きな場所に比較的安い値段で行くことができるということが品質であるとすれば、アメリカ国内であればアプリで配車してもらいやすいですが、日本だと比較的配車してもらいにくいと思います。また、同じ日本国内でもUber Eatsなどは東京の都心であれば配達してもらえる選択肢は多いかもしれませんが地方ではそうではないかもしれません。

サービスを提供する側(Uberならドライバー、Airbnbなら宿泊施設を提供する人)の事情に品質が大きく左右されることになります。つまり、サービスを提供する側が少なければ利用者側のサービスの満足度は低くなるでしょうし、また、サービスを提供する側のモラルが低くて清掃状況が悪いとか急にキャンセルされたとかがあってもサービスの満足度は低くなるでしょう。また、C to Cサービスであれば顧客同士のトラブルもありえますので、カスタマーサポートの体制もサービスの品質の一部だと言えます。

すなわち特にC to Cサービスの場合はソフトウェア自体がが同じでも、条件によっては狩野モデルで言うところの魅力的品質が低くなるだけではなく、当たり前品質が損なわれることすらありえます。

C to Cサービスに限らずネットワークを使ったサービスを運営する開発チームにとって大事な品質とはソフトウェアの品質に限られた話では無いという部分で私は狩野モデルは大切なことを教えてくれていると思います。

サービスの品質に対してそもそもソフトウェアの問題ではなければ、QAの領域で解決できることでは無い場合ももちろん多くあると思います。しかし、C to Cサービスではトラブルを未然に防ぐためにもユーザーのレビューが大事な意味を持ちます。サービス利用前にレビューを確認して正しく理解してサービスを利用してもらうことはソフトウェアの改善が求められる部分でもあります。

QAとして開発チームの一員として働くのであれば、ソフトウェアそれ自体の品質の問題に限らず広い視野をもってサービス全体の品質の改善に貢献することがQAにも求められてくるのではないでしょうか。その中でどうすれば品質の専門家として、より良い提案をすることができるか考えていきたいと思っています。

いただいたサポートは生活費にあてます