概要
ソフトウェアアプリケーションを提供していると、しばしば「このアプリケーションは◯◯という環境での利用をサポートしていますか?」といった質問を受ける。
しかし、関係者の「サポート」という言葉の認識がずれていた場合、「サポートするって言ったのに、問題が起きても解決してくれない」のような、トラブルが発生しかねないリスクを抱えている。
この認識の相違による問題を未然に防ぐため、アプリケーションの「サポート」という言葉の意味をあらためて定義する。
なお、記事の内容は筆者の個人的な見解であり、特定の企業・団体などを代表するものではない。
サポートのレベル
「◯◯という環境をサポートしていますか?」という質問を受けたときには、下記の4段階のどれに当てはまるのかを回答するのがよい。
- Level -1: 利用不可
- その組み合わせで使ってはいけない。絶対にできない、ダメ。
- Level 0: 提供元では責任を取れない(own risk)
- 動作するかどうかは不明。何か問題があっても助けられないこともある。
- Level 1: 対応する、未検証
- その組み合わせでの検証実績はないが、対応する機能はある。何か問題があったらできる限り助けられる。
-
Level 2: 対応する、検証済
- 事前または定期的に、その組み合わせで正常利用できることを検証している。
組み合わせの「動作保証」はできない
なぜ、上記のような段階にわけて説明する必要があるのか。
この疑問に回答するためには、前提として、アプリケーションの「サポート」と、一般的な「保証」の違いを説明する必要がある。
アプリケーションは動作環境、つまり動作するハードウェア・OS・ミドルウェア・共存するソフトウェアやそのバージョンがバラバラである。このため、何かしらの問題が起きたときに「対応≒サポート」することはできるが、事前に「故障が起きないこと=欠陥がないこと」の保証はできない。
このため、現実的には、その組み合わせについて「対応する機能を提供しているか(動作することを想定しているか)」「検証済か」という事実が存在しているだけだからだ。
「サポート」という言葉を使って質問するのをやめよう
そもそも、認識の相違が発生してしまうのは、日本語の「サポート」という言葉が曖昧であることが原因である。このため、「サポート」という言葉を使って質問をするのをやめよう。
その代わりに、具体的に「対応する機能があるか」「検証済みかどうか」を質問しよう。