Slide 1

Slide 1 text

2024/01/17
 1 薬局組織の内部を探る
 BIツールを通じたドメイン理解
 株式会社 カケハシ
 横田 直彦


Slide 2

Slide 2 text

Copyright © KAKEHASHI Inc. All Rights Reserved. 
 2 自己紹介
 ● 横田 直彦
 ○ ソフトウェアエンジニア経験10年 
 ● 経験
 ○ 現職で、初めて薬局業界に関わる 
 ○ 薬局向けBIツールのSaaSの開発 
 ● 会社
 ○ 株式会社カケハシ
 ○ 薬局向けのSaaS開発や、患者さん向けのお薬手帳の開発などを行う 
 ○ テックブログ
 ■ https://kakehashi-dev.hatenablog.com/ 
 ● X
 ○ https://twitter.com/HikoMSP 
 ○ 日々の気づき・技術ブログ・登壇などを呟いています 


Slide 3

Slide 3 text

Copyright © KAKEHASHI Inc. All Rights Reserved. 
 3 Mission 日本の医療体験を、しなやかに。 Vision 明日の医療の基盤となる、エコシステムの実現。

Slide 4

Slide 4 text

Copyright © KAKEHASHI Inc. All Rights Reserved. 
 4

Slide 5

Slide 5 text

Copyright © KAKEHASHI Inc. All Rights Reserved. 
 5 引用: プロダクトエンジニアとは何者か この辺の話をします

Slide 6

Slide 6 text

6 なんでドメイン知識は必要なの?


Slide 7

Slide 7 text

Copyright © KAKEHASHI Inc. All Rights Reserved. 
 7 ChatGPT 4さんの回答
 Q: ソフトウェア開発において、ドメイン知識が必要な理由を教えてください 
 
 A:
 ソフトウェア開発においてドメイン知識が重要な理由はいくつかあります。 
 
 ・・・・中略・・・・
 
 総じて、ドメイン知識はソフトウェア開発プロセス全体を通じて、より効果的な意思決定、コミュニケーション、イノ ベーションを促進し、最終製品の成功に大きく寄与します。 
 
 これにより、ソフトウェアはユーザーの実際のニーズに合ったものとなり、より効率的かつ効果的なソリューショ ンとなるのです。


Slide 8

Slide 8 text

8 開発フェーズごとに整理してみた


Slide 9

Slide 9 text

Copyright © KAKEHASHI Inc. All Rights Reserved. 
 9 機能開発の三つのフェーズごとに、ドメイン知識の理解の 目的は変わる
 
 
 
 
 
 
 
 
 
 ここでいうドメイン知識とは? 
 ● 業界の専門知識・暗黙知・慣習・価値観・組織構造などを対象とする 
 ● より良い運用体制の構築や、 
 開発した機能の
 フィードバックの意味を 
 理解するため 機能開発のフェーズ別のドメイン理解
 機能開発 フェーズ 運用 フェーズ 要件定義 フェーズ ● 機能がなぜ必要かの 
 背景を明確にするため 
 ● 使いやすい機能を
 設計・開発するため

Slide 10

Slide 10 text

Copyright © KAKEHASHI Inc. All Rights Reserved. 
 10 機能・非機能要件を明確にするためには、ドメインの理解が必要 
 
 例
 要件定義フェーズのドメイン理解
 ドメイン知識がないとき ドメイン知識があるとき BIツールで、処方箋枚数の折 れ線グラフを見たい という要望があった リアルタイムに反映する システムを作るぞ! 閲覧頻度は低いから 日次更新で十分だな 目標達成度の通知機能 が欲しいと要望があった メールで送ればいいよね! FAX文化があるから FAXが効果的!

Slide 11

Slide 11 text

Copyright © KAKEHASHI Inc. All Rights Reserved. 
 11 使いやすい機能を開発するためには、ドメインの理解が必要 
 
 例
 
 開発フェーズのドメイン理解
 ドメイン知識がないとき ドメイン知識があるとき 文字の大きさどうする? 我々が見やすい大きさ にしよう! 薬剤師さんにはご高齢の方 もいるので大きめにしよう 薬名の表記どうする? medicineテーブルの nameを使おう! 薬剤師さんは`一般名`を 使うのが通例だから `一般名`テーブルから取って こないと・・!

Slide 12

Slide 12 text

Copyright © KAKEHASHI Inc. All Rights Reserved. 
 12 フィードバックの解釈や運用体制の改善のためには、ドメインの理解が必要 
 
 例
 
 運用フェーズのドメイン理解
 ドメイン知識がないとき ドメイン知識があるとき 月末の日次ログイン数が増 えた 急にログイン数が増えた やった! ユーザーは月末にレポート を作成するので、いつものこ とだな MySQLのバージョンアップ 対応、いつリリースする? 来週やりましょう! 来週は月末でアクセスが増え るので、障害発生時の リスクを下げるために、 翌月の半ばにしましょう!

Slide 13

Slide 13 text

13 ドメイン知識はどうやって学ぶ?


Slide 14

Slide 14 text

Copyright © KAKEHASHI Inc. All Rights Reserved. 
 14 フェーズ別のドメイン理解の手段
 ● 要件定義フェーズ
 ○ 社内のドメインエキスパートに聞く 
 ○ 現場に出てみる
 ○ 社内勉強会
 
 ● 機能開発フェーズ
 ○ 社内メンバーに使ってもらう(CSなど、ユーザーの気持ちを知っているメンバー) 
 ○ PdMに定期的に顧客接点を作っておいてもらい、デモを見てもらう 
 
 ● 運用フェーズ
 ○ ユーザーからの問い合わせ 
 ○ 顧客理解ツールを使う(KARTE・Announce Kit・Google Analyticsなど) 
 ○ アンケートでNPS(顧客ロイヤルティ)やCES(顧客努力)について回答してもらう 
 ○ フィードバックを受けてチームで振り返り 


Slide 15

Slide 15 text

Copyright © KAKEHASHI Inc. All Rights Reserved. 
 15 おすすめ1: 現場に出てみる
 ● おすすめポイント
 ○ 文化などを肌で感じられる 
 ○ ユーザーさんとの対話を通して、課題の温度感を知ることができる 
 ○ 課題を解決してやろうというモチベーションが湧く 
 ● 実例
 ○ ドメイン知識の獲得のために、在宅医療の現場に同行させてもらった 
 ■ 学んだこと
 ● 薬局ではディスプレイにパスワードを貼っていることもある 
 ● 在宅医療の場合、車移動になるので強いネットワークがない 
 ● 薬局にはたくさんの機器があるので弊社のシステムの理解だけに時間を使えない 
 ● など・・


Slide 16

Slide 16 text

Copyright © KAKEHASHI Inc. All Rights Reserved. 
 16 おすすめ2: PdMに定期的に顧客接点を作っておいてもらう
 ● おすすめポイント
 ○ 失敗を早く検知できる 
 ■ モック段階・開発途中・ベータ版などでフィードバックをもらえる 
 ○ エンジニアは顧客との対話は必須ではない 
 ■ 在宅ワークでスーツとか着たくない 
 ● 実例
 ○ エンジニアとデザイナーでUXについて意見が対立した。一旦モックを作ってユーザーさんのフィード バックを受けた結果、第三の案で進めることになった。 
 ○ BIツールの新しい指標を作りたいという話になった。フロントエンド実装は行わずデータだけ作り CSVで顧客にみてもらったところ、データの使い方がわからないというフィードバックがあり、設計か ら見直しになった。


Slide 17

Slide 17 text

Copyright © KAKEHASHI Inc. All Rights Reserved. 
 17 おすすめ3: フィードバックを受けて振り返り
 ● 振り返りで何をするの? 
 ○ PV数やSLOなどのメトリクスについてチーム全員で見て振り返る 
 ○ PdMやドメインエキスパートにも参加してもらい、数値の解釈について意見を出し合う 
 ● おすすめポイント
 ○ 簡単に実施できる
 ○ チームビルディングにもなる 
 ● 実例
 ○ 月末にログイン数が伸びる理由をドメインエキスパートに聞いたところ、月末には薬局の成果の報 告のために情報を集める必要があるということがわかった 
 ○ 顧客からの問い合わせ内容を集計したところ、指標に関する質問が多いということがわかった。あ る単語が薬局では別の意味で使われていることがわかり、ミスリードしないように別の単語での表 記に置き換えることになった 


Slide 18

Slide 18 text

18 まとめ


Slide 19

Slide 19 text

Copyright © KAKEHASHI Inc. All Rights Reserved. 
 19 ドメイン知識のキャッチアップの心得
 ドメイン知識 要件定義に必要な知識 開発に必要な知識 運用に必要な知識 機能1に必要な知識 機能2に必要な知識 全部のドメイン知識を、理解 するのは難しい 1回の機能開発で得られる ドメイン知識の量を増やせ ば、カバーできる範囲・流用 できる範囲が増えていく 良いプロダクトエンジニアに なるためには、 - 開発の全工程に関わる - 周辺の知識を取りに行く ことが大事だと思います

Slide 20

Slide 20 text

Copyright © KAKEHASHI Inc. All Rights Reserved. 
 20 ドメイン知識のキャッチアップの心得
 ドメイン知識 要件定義に必要な知識 開発に必要な知識 運用に必要な知識 機能1に必要な知識 機能2に必要な知識 全部のドメイン知識を、理解 するのは難しい 1回の機能開発で得られる ドメイン知識の量を増やせ ば、カバーできる範囲・流用 できる範囲が増えていく 良いプロダクトエンジニアに なるためには、 - 開発の全工程に関わる - 周辺の知識を取りに行く ことが大事だと思います

Slide 21

Slide 21 text

Copyright © KAKEHASHI Inc. All Rights Reserved. 
 21 まとめ
 ● 必要なドメイン知識は、機能開発のフェーズごとに異なる 
 ● ドメイン知識を得る方法を紹介 
 ● ドメインの知識を深め、良いプロダクトを作っていきましょう! 


Slide 22

Slide 22 text

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


Slide 23

Slide 23 text

23 Appendix


Slide 24

Slide 24 text

24 ドメイン知識が活きた例


Slide 25

Slide 25 text

Copyright © KAKEHASHI Inc. All Rights Reserved. 
 25 ドメイン知識が活きた例(要件定義)
 ● セキュリティ要件を減らすことで、ユーザビリティ向上 
 ○ 医療情報ガイドラインを学び、医療情報を扱う時のセキュリティ要件を理解 
 ■ 通信にmTLS(相互認証)が必要 
 ○ PdMとの検討の結果、BIツールでは患者情報を扱わないという意思決定を行った 
 ■ BIツールを閲覧する端末に、クライアント証明書が不要になる 
 ○ BIツールは顧客の様々な端末で閲覧できるようになった 
 ■ PC・タブレット


Slide 26

Slide 26 text

Copyright © KAKEHASHI Inc. All Rights Reserved. 
 26 ドメイン知識が活きた例(開発)
 ● 調剤報酬改定の開発にかかる時間が前回比30%に 
 ○ BIツールを開発した当初、薬局の収益に関わる調剤報酬のルールが変わると知らなかった 
 ○ ドメインエキスパートとの対話を経て調剤報酬は二年に一度変わることを知った 
 ■ 拡張性のあるアーキテクチャとして実装した 
 ○ 翌々年の調剤報酬改定の時には、追加開発の工数を削減できた 
 ■ さらに、2021年ごろに、コロナに伴う臨時の報酬改定にも応用できた 


Slide 27

Slide 27 text

Copyright © KAKEHASHI Inc. All Rights Reserved. 
 27 ● ユーザーからの不具合問い合わせの原因の切り分けが早くなった 
 ● ユーザーの行動ログから次の施策について考えられるようになった 
 ● 障害時の、ユーザーとのコミュニケーションプランについて考えられるようになった 
 ● ユーザー目線でのタスク優先順位をつけることができるようなった 
 ● 障害の影響を最小限にするリリース体制を整えられた 
 ドメイン知識が活きた例(運用)