導入
ここで言う機能は、データ、理論、ソフトウェア、ハードウェア、サービス、ルールなどの種別を問いません。対象によっては全てがそのままは当て嵌まらないですが、何らかの機能を有するモノを作成・運用・提供する上での、その有効性を支える発見性、正確性、健常性、活用性の4本柱についての解説です。
基本的に、提供者視点主体での解説になりますが、適宜、提供者に代わり利用者がカバーする事となる内容でもあります。
発見性
発見できなければ存在しないのと同じです。
この為、受動的な検出可能性の確保、一覧表示、検索などにより発見ができる様にする必要があります。表示される項目の量が多い場合、一覧表示では発見性を確保できた事にはなりません、その場合は、受動的な検出可能性の確保や、検索で発見性を実現する必要があります。
発見性の確保は、貧困な発想から採用される強制的なチュートリアルやポップアップで利用者を煩わしていい理由にはなりません。「発見できる事」は「強制的に見せる事」や「利用者を煩わせる事」ではありません。
どうしても発見性を上手く確保できない要素は、多くの場合、いっそ削り落とした方がマシです。
正確性
間違いをなんらかの形で検出する仕組みがなかったり、正確である事がなんらかの形で担保されてなければ、その時点で間違ってるのと同じです。
「一度も動作確認してないコードには必ずバグがある」、そういう認識やスタンスである必要があります。
可能ならば提供者は利用者に対して、どの様に正確性を担保しているのか示すべきです。そうする事によって、利用者はろくな根拠もなく盲信するのではなく、信ずるに値する証によって信用する事ができる様になります。
発見性と同様、どうしても正確性を上手く担保できない要素は、多くの場合、いっそ削り落とした方がマシです。
正確性を担保できずとも、正確度を明示可能な場合、正確度を明示する事で正確性の代わりとなり得ます。同じ 70% の正確度でも、「明日は晴れ」では 30% の確率でハズレる不正確な情報であるのに対して、「明日は70%の確率で晴れ」なら間違いの無い正確な情報となります。
健常性
メンテナンスされてなければその時点で壊れてるのと同じです。
サポート切れのソフトウェアはその時点で壊れてるのと同じです。
メンテナンスを継続しないなら、提供(利用)やサポートの打ち切りを検討・実施しましょう。
活用性
それを利用する為の練習・訓練が行われてなければ、使えないのと同じです。
提供者は利用者の為に、練習・訓練がやり易い環境も合わせて提供する事を検討・実施してください。
まとめ
- 💡 発見性: 発見できなけば存在しないのと同じ
- 💡 正確性: 検証あるいは担保されてなければ間違ってるのと同じ
- 💡 健常性: メンテナンスされてなれば壊れているのと同じ
- 💡 活用性: 練習・訓練されてなけば使えないのと同じ
この記事の転載元URL: https://wraith13.github.io/writing/?programming%2Feffectiveness.pillars.md