「つくったものが使われない」はもう嫌だ！回避するためのデータ活用術


開発したものがユーザに使われてると、エンジニア冥利につきますよね。
逆に開発したものが使われないと、寂しさや無駄な仕事への憤りを感じることもあるかもしれません。
では、**「使われるものだけを作る」ために何かできることはあるのでしょうか？**
僕のチームでは、立ち上げ期こそ大変な時期もありましたが、それを経て学んだ工夫について書きます。
**「せっかく開発するんだから、多くの人に使ってもらえるものにしたい」**と思っている方、是非読んでご意見をいただきたいです。
この記事は[リンクアンドモチベーションアドベントカレンダー2021](https://qiita.com/advent-calendar/2021/mcs)の19日目の記事です。

# ソフトウェアの3分の2の機能は使われていない。なぜ？
よく引用されているアメリカでの調査結果よると、そう言われています。
自分自身がよく使うサービスでも、使っていない機能ってある気がしますよね。
![graph](https://i1.wp.com/risingsun-system.biz/wp-content/uploads/947a04b6e5339967c11462759ea56a80.png?ssl=1)
>この調査結果は、アメリカの調査機関であるスタンディッシュグループが発表したもので、様々なレポートでも引用されている非常に信頼性が高く、そして何よりショッキングな調査結果です。[^参考1]

では、なぜこのようなことが起きてしまうのでしょうか。ざっと考えるだけでも、以下のような理由がありそうです。

1. 解決する課題の設定に不備があるから
    1. 主観的に課題を設定してしまうから
2. 開発物では、設定した課題を解決できないから
    1. 要件の不備
    2. 開発能力の不備
    3. 改善不足
3. 開発物が、顧客に浸透しないから
    1. 認知不足
    2. タイミングが良くない
    3. 使いづらい（UI/UX）

他にも理由はあるかもしれませんが、僕はこのうち、**「1-1. 主観的に課題を設定してしまうから」**について考えてみました。
プロダクト開発における意思決定で、「ユーザーストーリーの優先順位づけに客観性を持たせることが重要だ」みたいなことはよく言われていますよね。過去の僕のチームの場合も、主観的に「解決する課題」を設定してしまっていたことがありました。

# なんで主観的な課題設定じゃだめなの？

何となく、だめそう！って感じはあるのですが、改めて、なにがどのようによくないのでしょうか。
実は人間の認知・判断には常に**バイアス**が影響を与えます。**情報を認識し課題を設定する際に、何らかの情報を過大評価してしまっている可能性**があります。特に、以下の4パターンには注意した方が良さそうです。[^参考2]

| No. | 名前        | 概要（意訳です） |
|:-:|:------------:|:-|
| 1 | 現状維持バイアス | 「これまでに置いた前提や過去の慣習」に関する情報を過大評価してしまうこと  |
| 2 | 近視眼バイアス | 「直近・目先で起きた物事」に関する情報を過大評価してしまうこと |
| 3 | 参照点バイアス | 積み上げ思考的に、「自身の経験や勘」に基づく情報を過大評価してしまうこと |
| 4 | 同調性バイアス | 「周囲の人・集団の考え」に関する情報を過大評価してしまうこと（類似:  権限バイアス） |

# バイアスを防ぐためには？
結論、**バイアスを完全に排除することは難しい**です。ただ、その前提の上で、**「立ち止まるきっかけを作っておく」**ことはできると思っています。
そのきっかけづくりに役に立つのが、**データ活用**です。
開発フローの中にあえて「不都合な事実をデータにつきつけてもらい、立ち止まるステップ」を埋め込むことで、立ち止まるきっかけを作ってみました。

## ありがちな開発フロー
一例ですが、無意識のうちに以下のような開発フローになってしまうことはあるのではないでしょうか。
![ありがちな開発フロー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/542786/4527430c-2be8-cc7d-4173-8fd73ef5de73.png)
もちろん、上記のような開発フローにしたくないと考えている人が多いとは思うのですが、かなり意識的に開発を進めていかないと、いつの間にか特定の人物の主観で開発物が決まってしまっていることはあると思います。

## バイアスに気づくための開発フロー
一方、意識的にバイアスに気づき、向き合うために、なにをすべきでしょうか。
僕のチームでは、以下のようにして各バイアスに気づくきっかけをつくることにしました。
![バイアスへの対応3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/542786/9c59ff7d-107b-fc1c-9784-0bb5d5cbaa5a.png)

### 関係部署へのヒアリング
想定ユーザが社内か社外かを問わず、開発チームが得ている情報は断片的である可能性が非常に高く、さらに近視眼バイアスが作用し「直近起きたことの方がインパクトが残り、優先度が上がりやすい」という傾向があります。
では、想定ユーザにインタビューをすれば全ての謎が解けるかというと、実は心理学的にはそうでもないです。[^参考3]
そこで、想定ユーザやその周囲の人物なども巻き込みながら、**イベントストーミング**を実施しました。

`【おすすめのインプット】`

- [ミニマムにはじめるイベントストーミング](https://cyberagent.ai/practical-introduction-to-your-first-event-storming)[^参考4]
- もう少し学びたい人は合わせて
    - [DDD(ドメイン駆動設計)](https://qiita.com/little_hand_s/items/721afcbc555444663247)

### 分析方針策定
イベントストーミングなどのヒアリングや、ビジネス上の課題整理を踏まえて、取り組む課題を設定できたとします。次は、その課題を解決するための仮説検証です。
ここで一気に開発物を考え始めると、どうしても過去の自身の体験などの思い込みに引っ張られてしまいます。

このステップは、問いや仮説ありきで進めた方が効果的です。理由は、探索的に検証を進めると、検証の完了基準を明確に定義できないためです。なので、
①問いまたは仮説
②検証方法（データを活用し定量的に検証する場合は、データの抽出・集計方法や、指標の取り方まで）
③検証結果に基づくネクストアクション
を事前に決めておきます。

`【おすすめのインプット】`

- [「仮説探索型分析」と「仮説検証型分析」：分析のアプローチは2つだけ](https://www.gixo.jp/blog/4450/)
- もう少し学びたい人は合わせて
    - [1000人受講、大阪ガス「ビッグデータ研修」を追体験](https://www.nikkei.com/news/print-article/?R_FLG=0&bf=0&ng=DGXMZO76469370R00C14A9000000&uah=DF260220147959)

### 分析作業・結果評価
分析方針まで決まれば、あとは分析を進め、結果を評価し、事前に決めてある選択肢の中からネクストアクションを選び、実行します。
ここでのポイントは、以下2点です。
・分析作業：実行者はあえて仮説立案者ではない人で行うのも有効（Mustではないですが、よりバイアスを排除するという意味で）
・結果評価：最終的な評価の決定は、分析者のみで行うのではなく、仮説立案に携わった方を出来るだけ巻き込んだ形で判断を行います

### 開発フローへの埋め込み
そして、このきっかけを開発フローに埋め込みました。[^参考5]
![バイアスに気づくための開発フロー3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/542786/2eb7895d-4b40-9e8f-e614-36a87275885f.png)
これまでだと、開発などの施策が実施されるまでの部分（事前検証部分）を、誰かに任せっきりにしてしまったりしていたことがありました。
当然、任された人は情報を処理して課題を設定し、開発物を企画していくのですが、その過程での情報処理にバイアスがかかってしまっても、なかなか1人ではうまく気づいて立ち止まることができません。

そこで、事前検証部分にバイアスへの対応策となるようなアウトプット物とミーティングを設定しました。
また、単独プレーではなく役割を設けたチームプレーにすることで、お互いのバイアスなどに気づきやすくなるようにしています。ざっくり以下のようなイメージです。
![事前検証の進め方.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/542786/371f01c4-4c8e-fe6e-fd92-e60941c0888a.png)
この進め方の実践を通して、僕のチームでは少しずつ「つくったものが使われない問題」は解決しつつあります。



# 最後に
これが当たり前のようにできているチームもあるかもしれませんが、

- バイアスの性質上、
    - 普段は当たり前にできていても、「当たり前だ」と思ったときこそ意識したい（「自分はできてる」と思った時ほどバイアスに気づけなくなるので）
    - 当たり前にはできていない場合、慣習を変えるのは最初は相当大変
- 世の中に「使われないサービス」や「無駄な開発タスク」じゃなく、「愛されるサービス」「意味ある開発タスク」が溢れてほしいな

と思い、この機会に是非多くの人と一緒に考えてみたいと思い今回投稿してみました。

僕自身はデータチームの立ち上げ期から携わっている身なのですが、正直最初の頃の見られ方としては
「ある日突然謎のチームが立ち上がり、得体の知れないものを作っている」
といった状態でした。

当然、開発したものがなかなか思い通りに使ってもらえないこともあり、苦労しましたが、今はここに書いたことを実践し、徐々にですが使われる・愛されるものを開発できるようになってきた実感があります。
ただ、もっと良くしていきたいと思っているので、他にもやっている工夫などがあれば是非コメントください！


[^参考1]: https://risingsun-system.biz/pdca-cycle-it-investment/
[^参考2]: 最近だと[ミノ駆動さんの記事](https://qiita.com/MinoDriven/items/8e4abda43b05cd7a0200)でもバイアスに触れていましたね
[^参考3]: ここでも心理学ですが、[ジョハリの窓](https://esaura.jp/ux-blog/how-to-identify-users-potential-needs)という話があります。自分のニーズ（やりたいこと）が全て正確にわかっていて、他人にも説明できるような人は、意外と少ないのです。
[^参考4]: Qiita記事だと[こちら](https://qiita.com/tsukmr/items/91f5be9ba1004c19ec26)
[^参考5]: データ活用のタイミングや目的について、[こちら](https://school.brainpad.co.jp/about/cause)を参考にしました