Findy Engineer Lab

エンジニアの"ちょい先"を考えるメディア

【イベントレポート】『LEADING QUALITY』品質文化の醸成 お悩み解消会

品質を重視する声が大きくなる一方で、その大切さを組織に広めて品質文化を醸成する方法については情報が不足していました。手探りで進めるしかない状況が続いていたなかで、品質文化の醸成に関する情報がまとめられた書籍『LEADING QUALITY』が登場。すると、発売2日後にAmazonでベストセラー1位を獲得し、読者からは「個人的2023ベスト本」「全人類に推せる」と絶賛する声が挙がるなど、大きな話題となりました。

そこでファインディでは、同書の翻訳を担当した河原田政典さんをはじめ、株式会社グロービスの末永昌也さん、株式会社10Xの風間裕也さんをお招きし、品質文化の醸成について語っていただくイベントを開催しました。本記事では、品質文化を醸成する上で知っておきたいポイントや注意点など、イベントで発表された内容をまとめています。

■パネリスト
河原田 政典(Mark)さん / @mkwrd
株式会社グロービス QAエンジニア
グロービス経営大学院経営学修士課程修了。ソフトウェア品質保証とアジャイル開発を主領域とするエンジニア。現在は株式会社グロービス法人プロダクト開発スクラムチーム開発者。個人事業主として複数の企業で品質アドバイザリー・社内講演・記事執筆・書籍翻訳などを手掛ける。品質界隈では英名のMark Wardとして知られている。品質文化研究会Markin' Quality主宰。ロナルド・カミングス=ジョンほか[著]『LEADING QUALITY』(KADOKAWA・2023)を翻訳出版したほか、共訳書にカトリーナ・クロッキー[著]風間裕也ほか[訳]『A Practical Guide to Testing in DevOps Japanese Edition』(LeanPub)がある。

末永 昌也さん / @sue738
株式会社グロービス CTO
東京工業大学大学院情報理工学研究科修了。グロービス経営大学院経営学修士課程修了。Startup Weekend世界大会入賞を機にEdTechサービスを手がける株式会社LOUPE(現ARROWS)を共同創業。CTOとしてプロダクトの新規立ち上げ、技術リードを行う。グロービスに入社後は「GLOBIS 学び放題」等の立ち上げに携わり、現在はグロービス・デジタル・プラットフォームにおける開発全般の統括を行う。

風間 裕也(ブロッコリー)さん / @nihonbuson
株式会社10X / B-Testing 品質管理部
電気通信大学大学院修士課程修了。株式会社10X品質管理部所属。 またB-Testingを開業し、「どのようにテストを考えればよいか」を社内外問わずエンジニアに日々お伝えしている。

社外コミュニティ活動
WACATE(ソフトウェアテストをテーマとしたワークショップ)実行委員長
JaSST Review(ソフトウェアレビューシンポジウム)実行委員長
翻訳活動
Agile Testing Condensed(翻訳)
A Practical Guide to Testing in DevOps(河原田さんとの共訳)
The BDD Books - Discovery(翻訳)

書籍『LEADING QUALITY』とは

2023年11月13日(月)に発売された書籍で、2年半かけて集めた事例やインタビューを元に、品質文化の醸成について解説しているビジネス書です。

ソフトウェア品質は、ビジネスの成否を左右する重要な経営課題の一つだと言えます。しかし、品質そのものを上げる情報はたくさんあるものの、品質文化を醸成する方法についてはあまり語られていませんでした。

本書では、品質の大切さをあらためて解説するとともに「組織のなかで品質文化を醸成するためには、誰がどのような方法で取り組むべきなのか」「組織と事業の成長に繋げていくためにするべきこと、その際にリーダーに求められる要素」といった、品質文化の醸成に役立つ情報がまとめられています。

QAエンジニア視点で考える品質文化とは|株式会社グロービス 河原田 政典

品質文化醸成のファーストステップは「品質について言語化する」こと

品質文化の醸成という部分で、何より重要だと思うのは「組織の中に品質に対する課題感・危機感があるのかどうか」という点です。もし、それがない組織なのであれば、品質文化を良くしようとすること自体がコストになる可能性があります。

というのも、品質の大切さを理解していても、その扱い方について言語化できていないのであれば、品質文化を醸成することはできないからです。

また品質文化を醸成する上で、誰がリードを担うのかという点も重要なポイントだと思います。エグゼクティブがリードするとなった場合、現場感から乖離してしまう可能性があるでしょう。反対に、チームリーダー級の方がリードする場合、現場の意見に偏りすぎてしまうかもしれません。そういったことを防ぐためには、メンバーそれぞれが忖度なく意見できる、心理的安全性の高い環境を構築する必要があるのではないでしょうか。

組織に興味を持つことが、品質へのアプローチの第一歩

『LEADING QUALITY』のなかでは、成長指標について「ビジネスの成長に最も寄与し、どのチームもそこに貢献して達成を目指すべき指標である」と書かれています。それを踏まえて、成長指標を定めるためには、まずは「会社がどのような価値を持っていて、何を目指しているのか」という点を正確に捉えておく必要があると考えています。

しかし、エンジニアのなかには「自社にあまり興味がない」という方も一定数いらっしゃいますよね。考え方は人それぞれですし、組織によって方針も異なるので、一律に全員を説得するのは難しいかもしれません。全社MTGなどで知らせることもできますが、それは必ずしも有効ではないでしょう。ただ言えることは、自分が所属している組織に興味を持つことこそが、品質へのアプローチの第一歩だということです。

またQAエンジニアとしてお話ししておきたいのは、プロダクト開発チームと同じ指標をQAチームに適用するのは難しいかもしれないということです。同じ指標にこだわるのではなく「QAチームだからこそできている貢献」という捉え方にすると、新たな発見があるかもしれませんね。

品質文化の醸成に必要なのは、忖度なく意見できる環境づくり|株式会社10X / B-Testing 風間 裕也

トップダウンではなくボトムアップで進めることが重要

品質文化を醸成するためには、経営層を含めた組織全体の動きが必要で、かつボトムアップのアプローチが非常に重要だと考えています。

極端なトップダウンで指示した場合、短期的には効果があるかもしれませんが、強制的にやってしまうと“やらされている感”が出てしまい、現場のモチベーションが下がってしまいます。中長期的に考えると、ボトムアップで進める方が得策だと言えます。

具体的にどうすればいいかというと、例えば、全員がJSTQB認定テスト技術者資格試験を取得する、といったようなルールを定めるのは悪手ですね。そのようなルールにするよりも、資格を習得するための勉強時間を確保したり、受験料の支援をしたりする方が良いのではないかと。メンバー自らが「資格を取得したい」と思えるような環境をつくることが大事だと思います。

あとはMarkさんがおっしゃっていたメンバーが忖度なく意見できる環境に加えて、一人ひとりがテストスキルを研鑽し続けることも重要なポイントですね。

“ゴール地点が異なるマラソン大会”を避けるために必要なこと

一つ目はMarkさんの話と重複するのですが「自分たちにとっての品質とは」を問い続けることがとても大事だと思います。それができていない状態で品質を追ったとしても、ゴール地点が異なるマラソン大会のようになるだけですから。ちなみに10Xで定義した品質については、ブログに詳細が書いてあるので、良ければそちらをチェックしてみてください。

次に大切なのは「GQMの考え方」を用いて指標を決定すること。つまり、指標を定めるときは、ゴールから考えようということですね。それを踏まえると、「品質特性や狩野モデル、アジャイルテストの4象限など、既知のフレームワークを穴埋め的に使う」というのはアンチパターンになるかもしれません。他社の事例をそのまま使用するのも良くないと思います。品質の考え方や目標は会社ごとに異なりますし、他社でうまくいったフレームワークが、自分たちの組織にマッチするとは限りません。

指標はあくまでツールです。他社の事例を参考にして、どのタイミングでどのようなツール(指標)を使うのかを判断すれば良いのではないかと思います。もっと言うと「自分たちの考えている品質とは」が言語化できたあとに、それを実現するためのツールを定めるのがおすすめですね。

顧客視点に向き合い、会社として品質を追求する|株式会社グロービス 末永 昌也

品質文化を醸成するポイントは、チーム全員で品質に責任を持つこと

品質を重視するようになった背景から考えると、ソフトウェア開発にかかるコストが下がり、多様なサービスが誕生しやすくなったことが大きな理由だと考えています。またDevOpsという言葉があるように、開発して終わりではなく、プロダクトを進化させ続けることが求められるようになりました。それにより、品質が重視されるようになってきたと言えるのではないでしょうか。

品質について話を戻すと、大切なのは「顧客視点に向き合うこと」だと考えています。顧客視点に向き合うためには、具体的に何をすればいいのか。私たちが実践していることを例に挙げると、Slackで顧客の声を収集する仕組みづくりやビジネスサイドからVoCを取得するといった取り組みを行っています。

品質文化の醸成については、QAチームと開発チームが別れるのではなく、スクラムのなかで一緒に開発をすることがポイントですね。テスト担当者だけでなく、チーム全員で品質に責任を持つ。そうやってチームづくりをすることで、メンバーの距離も近づきますし、ボトムアップでより良い文化がつくられていくと考えています。

品質を追求することが、会社としての強みとなる

風間さんのアンチパターンのお話、とても共感しました。

グロービスの話をすると、現在はQAチームが15ほどの開発チームを支援している状態です。toC、toBそれぞれに特性の異なる複数のサービスを抱えているため、QAチームとして統一して指標を定めるのではなく、各ユニットで指標を考えてもらうようにしています。

最近では、カスタマーサクセスの文脈でよく使用されているNPS®を活用して、開発者の皆さんに品質に関するアンケートを実施する取り組みも始めました。始めたばかりなので効果はまだわかりませんが、面白い取り組みだなと思ったのでシェアします。

もう一つお伝えしたいのは、グロービスはサービスとして研修や講義を提供していて、品質に対するこだわりがとても強い会社だということです。講義を行ったあとは受講生の皆さんにアンケートをとって、改善を繰り返すというPDCAをずっと回してきています。高い品質にこだわり続けたからこそ、グロービスはこれまで続いてきていて、そこが強みになっているんです。

目先の売り上げだけを追っていると、効果が分かりづらいところだとは思うのですが、品質を追求することがユーザーからの信頼に繋がっていると感じています。

Q&Aコーナー

イベント後半では、パネリストの河原田さん、風間さん、末永さんに、参加者から届いた質問に回答していただきました。

「QAエンジニアが社内で開発の下請けにならずに品質のリードをとるために必要な考え方は?」

河原田:この問いに対する答えは、QAエンジニアの役割にとらわれるのではなく、スクラムの中で自分が一番価値を発揮できるところを常に考えて動くことが大切なのではないか、ですね。

末永さんより、グロービスではQAチームが15ほどの開発チームを支援しているとお話ししたと思います。ユニットごとに詳細は異なるのですが、私のユニットでは、QAエンジニアも開発者の一人として取り組む体制です。そのなかでテストをしたり、デザインのレビューを担当したり。自分が書いたテストコードをチームメンバーにレビューしてもらうこともあります。そういう体制で進めると、上下関係は発生しにくくなります。

風間:そもそもの話になってしまいますが、私個人としてリードをとろうとは思っていないです。QAエンジニア、もしくはQAチームが品質をリードするという考え方は、トップダウン的な発想に近いのかなと。

下請けのようになっている状況を改善するのであれば、自分たちの取り組みを周囲に示すことが必要だと思います。テストケースが終わった後に初めて見せるのではなく、開発の途中段階でも情報してみるとか。そうやって現在の状況をオープンにした上で「このままリリースすると良くないと思います」と伝えてみるのも良いのではないでしょうか。

現状の説明をせずに要望だけを言ってしまうと、周囲と適切な関係を築くことは難しくなってしまいますし、情報をオープンにすることが大切だと思います。情報をオープンにしながらコミュニケーションを重ねていくと、任せてもらうことが増えていくはず。それにより周囲を巻き込んでいくことにもつながると思います。

「ビジネスとしてやりたいことをQAチームの目標に落とし込む際に、どのような考え方をしたらいい?」

河原田:私たちの場合、QAチームは「最高のプロダクトづくりを導こう」をミッションにしています。そのミッションとビジネスとして実現したいことを紐付けて、自分たちがもたらしているプロダクトにはどのような社会的価値があるのかを考える理解する。その上で、最高のプロダクトづくりに導くためにどうするべきか決めるようにしています。

末永:補足をすると、グロービスの場合はユニットごとにプロダクトの特性が異なります。だからといって、QAチームの方針が定まっていないのも良くないだろうと。そこで、チームとしてミッションやビジョンを定義しました。それらを判断軸としながら、各担当者が開発チームやステークホルダーと話し合って、価値貢献をしているという形ですね。

風間:過去にMarkさんが「最終的にはQAチームは必要ないのでは」と話されていたことがあって、その逆説的な考え方は大事だな。この質問の答えにその考えを当てはめるなら、QAチームがない状態を想像してみるのが良さそうだなと思いました。そうすると「やっぱりQAチームは必要だな」という結論が出るかもしれないし、そう思った理由こそがQAチームの目標に近しいものだと言えるのではないでしょうか。

河原田:確かに。QAチームの存在が前提になっているけれど「本当にQAチームが要るのか?」を考えるのはいい気がします。逆に言うと、現在QAチームがあるなら、何か理由があるはず。それがその組織におけるQAチームの持つ価値なのだと思います。

「品質を作り込むために、具体的にはどのような行動をとればいい?」

風間:QAチームやテストという文脈で言うと、シフトレフトテストの話だと思っていて。例えば、スクラムのなかでリファインメントにQAチームが入るっていうのも一つの方法ですよね。そこで大切なのは、リファインメントへの参加自体は重要ではないということです。リファインメントに参加して「これをテストすることを考えると、どういうテストになるのかイメージがわかないです」という話ができると、実は仕様が固まっていなかったり、パターンが抜けていたりということに気づけるはず。そうやってテストを実行する前に改善点を見つけ出すことが、品質を作り込むということにつながるのかなと思いました。

河原田:ブロッコリーさんのおっしゃる通りで、スクラムに関わるのであればスクラムイベントに参加して、そのなかで価値を出すというマインドを持つことは大切だと思います。

数年前に、「QAエンジニアは(品質保証:Quality Assuranceだけでなく)質問をする人(Question Asker)だ」と定義されているのを聞いたことがあります。つまり、QAエンジニアは質問をすることによって、周囲に気づきをもたらす存在だと。テストを実行する前に気づいたことがあれば、その場で質問を投げかけるというのも、具体的な行動のひとつなのではないかと思います。

アーカイブ動画も公開しております。詳細はこちらもご確認ください。


イベント当日のX(旧Twitter)での実況投稿まとめはこちら togetter.com