「プロダクトに求められる品質」を自分たちで定義する意味
最後の事例として、ブロッコリー氏は「ユーザーと協力して、実際にオペレーションが問題なく進行できるか確認する」を挙げた。これは実際の開発の中で、ピッキングに関する大きな新機能のリリースを行った際に、パートナーの実店舗に持ち込んで試験するという取り組みだ。
この新機能は3回に分割してリリースを行い、1回目のリリースでは、実店舗に開発したアプリを持ち込んで10Xの社員が擬似的にピッキングを実行することで、オペレーションができることを確認した。2回目のリリースではスタッフ研修に同席し、パートナー側に新機能を試してもらい、習得性や操作性に問題なく運用できるかという確度を高めていった。この2回のリリースを経て、3回目に正式リリースを行ったという流れだ。
テストにおいては、先方とのやり取りの中で「2回目のリリースまでは、たとえば計算ミスがあったとしても目をつぶってもらい、ちゃんと業務フローが回るのかを見てほしいと要望した」と回顧する。結果的に、リリースを分けたことでフィードバックをもらいながら調整でき、「この状態だと使いづらい」といったポイントを3回目の正式リリースまでに調整できたという。
ブロッコリー氏は、研修などを通じてスタッフ側の新機能に対する理解度も上げられたことも収穫として挙げる。「こうした取り組みの結果、障害も発生せず、問い合わせも数件程度と追加コストをかけずに運用できている」というから、その有効性はかなりのものだ。
ここでブロッコリー氏は、品質についても補足した。今回の分割リリースにおいては、各段階ごとに「業務遂行性」や「習得性」、「運用操作性」を満たすべき品質として定義した。ここで重要なのは、こうした定義は単に既存のモデル(品質特性や狩野モデル、当たり前品質)から引用したわけではないことである。
「プロダクトに求められる品質は何なのかを自分たちで定義できないと、結局のところ使い物にならないプロダクトになりがちだ。そのため10Xでは品質について、経営層も含めた全社で議論を行っている」とブロッコリー氏は胸を張る。
講演の締めくくりとして、再び「継続的テストモデル」へと立ち返ったブロッコリー氏は、「テストの完了をゴールとせず、さまざまな場面で仮説検証を繰り返しながら、QAやユーザーと共に開発を進めることが重要」と、今回の公演を総括する。DevOpsを実践するには、「リリースして見つかったフィードバックを次に活かすというループを意識して、テスト活動をやっていく」ことが求められると語り、講演は終了した。