JaSST Review'20 事例紹介1

刺激語カードを用いたソフトウェアレビューの実践についてアイデアを刺激し意識外から観点を得る

エムスリー株式会社 中塚裕美子
1今日お話すること●背景●

刺激語法について○○○●刺激語法とは
刺激語法をレビューに使うことのメリット、成果の事例
刺激語法を使ったレビューでの制限

ソフトウェアレビューで利用するにあたっての工夫○○○

ソフトウェアレビューのための刺激語選定
他手法との使い分けや組み合わせ方
大人数での利用時の工夫

●

今後の課題

●

まとめ
2

自己紹介
中塚 裕美子
エムスリー株式会社 QAエンジニア●

第三者検証企業でECサイトのQAを5.5年●

エムスリーで医療相談サービスを主にコンシューマ向けサービスのQAを2年

3こんなことありませんか？

4新規機能を開発することになった

新規機能

5

新規機能の要点を洗い出して・・・

新規機能

6

影響を受けそうな周辺機能を洗い出して・・・

新規機能

7

非機能要件やビジネス観点についても検討し・・・

新規機能

8

網羅的に確認できるテストケースを用意し・・・

新規機能

9

重要箇所は念入りにテストして・・・

新規機能

10

これだけ確認すればもう大丈夫！リリースだ！

新規機能

11

・・・と思ったら想定外の箇所で障害が発生

😭

新規機能

12

背景
主にQAを担当しているWebサービス「AskDoctors」
・2005年から続き、今も改修が頻繁に行われているサービス→あまり改修が入らない古い機能は忘れられ、影響範囲の考慮から漏れがち13

背景
主にQAを担当しているWebサービス「AskDoctors」
・高速PDCAが求められている→エムスリーは、細かい改修のABテストを繰り返しながら小さい改善を積み重ねてビジネスを成長させていくスタイル。
→開発にスピード感が求められる

14

背景
ソフトウェアレビューに使っている手法●

チェックリスト●マインドマップを用いた連想法

15

背景
ソフトウェアレビューに使っている手法●

チェックリスト【メリット】
・網羅的に確認ができる
・プロダクトに適した固有の観点を蓄積できる【デメリット】
・網羅するのに時間がかかる
・仕様に変更があった時のメンテナンスが大変・多すぎるリストはその内形骸化する
16

背景
ソフトウェアレビューに使っている手法●

マインドマップを用いた連想法【メリット】
・要件や機能仕様からアイデアを広げて気付きを得られる
・プロダクトマネージャや開発エンジニアと一緒に実施すれば広い視点で検討できる【デメリット】
・要件や機能を元に連想を広げるので、要件や機能自体とは関連性の薄い観点に気付きにくい

17

背景
その他
●

私は複数のサービスを担当している→他サービスでも汎用的に利用できるアプローチが望ましい●

レビューアとなるチームメンバーは古い機能について知見を持っている→各人の気付きが高い効果を生む

18

時間をかけても検出できない観点を拾えて手間をかけずにすぐ実施できていろいろなプロダクトのQAにも使える
そんなソフトウェアレビューのやり方はないかな・・・

🤔
19

「刺激語法」とは？

20

刺激語法
自分の発想を刺激しそうな言葉を書いたカードを作ります。
そのカードをランダムに引き、書かれている言葉から連想を広げていく。
その連想から、新しいアイデアを発想していく方法を、刺激語法といいます。

石井守. 『「誰でもアイデアを量産できる」発想する技術』. エムズクリエイト社, 2016, 第4章7 より引用

21

刺激語法
（例）

トイレ

22

刺激語法
（例）

トイレ

「トイレ」という刺激語から自由に連想する

23

刺激語法
（例）
トイレ休憩

トイレ
トイレット
ペーパー

水を流し、次の人と入
れ替わる

24

刺激語法
（例）

・トイレ休憩の短い間に急いで操作したらどうな
る？
・トイレ休憩で 15分ほど放置した後操作を再開で
きる？

トイレ休憩

トイレ
トイレット
ペーパー

水を流し、次の人と入
れ替わる

25

刺激語法
（例）
トイレ休憩

トイレ
トイレット
ペーパー

水を流し、次の人と入れ替わる
・無いと困るものが常にある状態か？
・定期的にメンテナンスや監視が必要な要素は
無いか？

26

刺激語法
（例）
トイレ休憩
・ゴミデータが残らないだろうか？
・次の利用がスムーズにできるだろうか？

トイレ・仮にトラブルが起きて使えなくなった場合、連絡できる仕組みや代替の処理・運用はあるだろうか？
トイレットペー

水を流し、次の人と入
れ替わる

パー

27

刺激語法
（例）
トイレ休憩

トイレ
水を流し、次の人と入
れ替わる

トイレット
ペーパー

ひとつの言葉から様々な要素を連想できる
28

刺激語法
連想に繋がりそうなキーワード（以後「刺激語」と呼ぶ）を単語帳などにストックしておく。

29ソフトウェアレビューへの応用30刺激語法をレビューに使うことのメリット●

切っ掛けが無くては誰も気付き得ないような問題に気付くチャンスが生まれる●

汎用性が高い●初めての人でもすぐできる●

短時間で多くの観点が出る

31

成果の事例
事前にレビューを実施した上で刺激語法を使ったレビューを実施して・・・●

個人レビュー→1.5時間実施で新たに7件観点を検出●

多人数レビュー
→15分～20分程度の実施で新たに9～13件程度の観点を検出→短時間で多くの検出が見込める32

成果の事例
刺激語から連想できた観点の例●「嘘」→システムが嘘をついたり正確でない情報を表示してしまう例は無いか？
→改修範囲と直接関係していない機能でのアラート文言の修正忘れ●「手紙」→既存のメールに影響しないか。または情報を乗せるべきメールはないか？
→KPIを定期的にメールでレポートする機能への対応が漏れていた

33

刺激語法を使ったレビューでの制限●

事前にある程度の刺激語を用意しておく必要がある●

網羅性に欠ける●

検出される観点がレビューアの知見や関心に大きく左右される

34刺激語法を使ったレビューでの制限実装を担当した
開発エンジニア

要件定義や運用に関わる
プロダクトマネージャ

他チームのQAメンバー

35

刺激語法を使ったレビューでの制限実装を担当した
開発エンジニア

要件定義や運用に関わる
プロダクトマネージャ

・フラグ管理・タイムアウト・データの連携、解除
・他システムや古い機能に関係するデータの影響

・KPI取得機能への影
響・並行で実装が進んでいる別機能への影響

他チームのQAメンバー

・汎用的なテスト観点と仕様を組み合わせた指摘

36

刺激語法を使ったレビューでの制限実装を担当した
開発エンジニア

要件定義や運用に関わる
プロダクトマネージャ

・フラグ管理・タイムアウト・データの連携、解除
・他システムや古い機能に関係するデータの影響

・KPI取得機能への影
響・並行で実装が進んでいる別機能への影響

他チームのQAメンバー

・汎用的なテスト観点と仕様を組み合わせた指摘・検出される観点が知見・関心のある事項に偏る・レビューアの知見や関心が薄いとレアケースや考慮漏れへの連想に繋がりにくい37

ソフトウェアレビューに使うための工夫●

刺激語法を使うタイミング●

刺激語の選定●多人数でレビューする上での準備、進行上の工夫●

検出したい観点の種類に合わせてレビューアを選ぶ38

刺激語法を使うタイミング育39

刺激語法を使うタイミング

🤔

？

育

🤔

？

？

🤔
40

刺激語法を使うタイミング

新規機能

41

刺激語法を使うタイミング

育

新規機能

42

刺激語法を使うタイミング
サービスを気に入ってくれた
らどのくらい頻繁に使うのかな？

😃
😕

会員が増えたらその内メールマガジンも送りたいな。
その時対象者をすぐ抽出できる仕組みがあるか？

新規機能後から取得情報を増やす時に対応できるようになっているだろうか？

育😒
43

刺激語の選定●

刺激語の選定→レビューに有用な連想がしやすい言葉を選ぶ■

誰でも知っている一般的な言葉■

ソフトウェアレビューに親和性のある言葉●

動きを想像できる言葉や名詞→「ポンプ」「掃除」「遅刻」 …

●状態、または状態の変化に関係する言葉→「疲れ」「維持」「傷」 …

●

関係性を表す言葉→「主従」「子」 …

●サービスのジャンルや業種に関係する言葉
44

刺激語の選定●

刺激語の選定→より多くの連想に繋げるために■刺激語は原則 1単語とする。
「大量のデータによるエラー」といった言葉ではなく「大量」または「量」だけにする。

■

刺激語が動詞の場合は活用語尾を書かない。
「捨てる」ではなく「捨」にすることでレビュー時に「捨てる」「捨てられる」の両方を発想できる。
45

刺激語の選定
古間に合わない

量

遅刻

焦り

2

間

急

気まぐれ

去

邪魔

独占

子

トイレ

ポンプ

連続

部品

捨

依存

退屈

機会

終

監視

キャパシティ

疲れ

忘れ物

心配

追加

悪化

次

迂回

傷

掃除

スイッチ

維持

主従

楽

エスカレート

嘘

旅

手紙

人気

育

共通

社交的

連

7

未

止

同じ

チーム

カーチェイス

狙い

抜

重

仮

ロールバック

広

失敗

鏡
46

多人数でレビューする上での準備、進行上の工夫●

レビューア各人が連想しやすくするために○単語は1枚ずつ提示するより並べる■ 人によって連想しやすい言葉が違うので、順番に出すより一覧で出して各自が自由に連想してもらった方が効率がよい。ただし視界もしくは 1画面に収まる程度に収めた方がよい（キーワードを網羅的に見る方に意識が持っていかれるので）○具体的な事例の発想までたどり着かなくても、連想について積極的に発言する■ 他の人の発言が新たな連想を呼ぶ○

書記役またはレコーダーを用意しておく■ 文字に起こすと連想に対する集中が途切れるため。レビューアには観点の発想に専念してもらう47検出したい観点の種類に合わせてレビューアを選ぶ●

前述のように、刺激語法を用いたレビューでは検出される観点がレビューアの知見・関心のある事項に偏る傾向がある。
○○

役割の異なる複数のメンバー
機能開発に直接関係する人物■ 企画者■ 実装担当者■ 運用者 etc...

48

今後の課題●より連想に繋がりやすい刺激語の選定○○●

連想に役立ちそうな刺激語を選定しているが、実際使ってみると連想に繋がりにくい言葉もある。
数が増えすぎると使いにくいので、レビューによって刺激語の入れ替えをする必要がある。
■ 連想に繋がりやすい刺激語の傾向■ 機能の特性に応じた刺激語の選定など

より連想しやすいレビューの進行○

現状では、各自が思いついたら自由に発言しているがもっと効率よく想起を促す進行方法はないだろうか。
49

まとめ
●

刺激語法をソフトウェアレビューに応用し、切っ掛けが無くては気付き得ないような問題に気付くことができた●

刺激語法を使ったソフトウェアレビューは、ある程度具体化した成果物と組み合わせての実施が有効●

刺激語法で連想される観点はレビューアの知見や関心に大きく左右される。直接の関係者、様々な立場のレビューアに参加してもらうと幅広く検出できる

50

まとめ
●

刺激語法をソフトウェアレビューに応用し、切っ掛けが無くては気付き得ないような問題に気付くことができた●

刺激語法を使ったソフトウェアレビューは、ある程度具体化した成果物と組み合わせての実施が有効●

刺激語法で連想される観点はレビューアの知見や関心に大きく左右される。直接の関係者、様々な立場のレビューアに参加してもらうと幅広く検出できる

ご清聴ありがとうございました！
51