🐡

曖昧な品質を捉えるために 第一章-品質とは何か

に公開

導入部で品質の重要性について説きました。
プロダクト開発における、「品質」という言葉そのものの抽象度が高いので、考え方を落とし込みます。

品質とは何か

品質とは、プロダクトやシステムがユーザーの期待を安定して満たし続けられる状態を指します。多くの場合、

  • バグが少ない
  • パフォーマンスが安定している
  • セキュリティに問題がない

などの要素が挙げられますが、実際にはそれだけではありません。
品質についての定義について、ISO/IEC 25010の考えが参考になります。

ISO/IEC 25010では、品質を以下のような8つの特性に分類しています[1]

  • 機能適合性(要求された機能が提供されているか)
  • 性能効率性(応答時間、処理能力)
  • 使用性(使いやすさ、直感的な操作性)
  • 信頼性(障害発生時の耐久性や復旧性)
  • 保守性(改修・拡張のしやすさ)
  • 互換性(他システムとの連携)
  • セキュリティ(不正アクセスやデータ漏洩への対策)
  • 移植性(環境の変化に対応できる柔軟性)

参照:ISO/IEC 25010

このような分類は、品質を構造的に理解するうえでの指針になりますが、
実務においては

  • 「ユーザーがどこで困っているか」
  • 「どの部門が何を見ているか」

といった文脈と結びつけて捉える必要があります。

品質とは一定のしきい値で達成できるものではなく、プロダクトのライフサイクルを通じて育てていくものです。

  • 運用・保守フェーズでの障害対応
  • ユーザーからの声
  • ログからの傾向分析
    など現場の情報が品質の真の姿を表します。

エンジニアが品質に向き合うとき、それは仕様書やテストレポートの中だけでなく、日々の開発と運用の中にある「現場感覚」として扱われるべきです。

脚注
  1. 公式ポータル(iso25000.com)では「インタラクションキャパビリティ」など9つ目の特性が提示されることもありますが、これは可視化の都合上の補完的な扱いと解されます。 ↩︎

Discussion