Upgrade to Pro — share decks privately, control downloads, hide ads and more …

医療系スタートアップが経験した
認知負荷問題の症状分析と処方箋 チーム分割による認知負荷の軽減 / Cognitive Load Busters

Agata Naomichi
June 16, 2023
350

医療系スタートアップが経験した
認知負荷問題の症状分析と処方箋 チーム分割による認知負荷の軽減 / Cognitive Load Busters

Agata Naomichi

June 16, 2023
Tweet

More Decks by Agata Naomichi

Transcript

  1. Naomichi Agata • 2 0 2 1 . 0 4

    ~ Henry, Inc. • 医事会計システムチーム • リードエンジニア ⾃⼰紹介 @agatan / @agatan_
  2. Henry は何をつくっているのか • ざっくり「レセコン⼀体型電⼦カルテ」といわれるものをつくっています。 • 電⼦カルテ .. 医療情報を記録‧管理するソフトウェア • レセコン

    (レセプトコンピュータ) .. 診療報酬制度に基づいた会計情報を管 理するソフトウェア • ドメイン知識の難易度が⾼く、量が多い • 厳格にルールに則ることが求められる • ルール⾃体が膨⼤で複雑 • 開発チーム内にドメインエキスパートがいる
  3. なぜこうなったのか • プロダクトやチームが育つにつれ、チーム体制が現実と乖離していっていた • チームの境界が適切でないために… • Project: ひとつの機能をリリースするのに、2つのチームの進捗をみる必要がある • Engineering:

    触る必要のあるコードが散らばっている • Domain: 広い知識を理解する必要がある • Product: 仕様の認識齟齬が発⽣し、品質‧デリバリー速度が低下する • チームの認知負荷の許容量を超えていた 🤯
  4. 認知負荷 • “ワーキングメモリで利⽤される⼼理的労⼒の総量” • by ⼼理学者ジョン‧スウェラー, 1988 • ワーキングメモリの容量は限定的 •

    例えば、あるビジネスロジックを開発するときに… • 「ソフトウェアのビルドやデプロイの⽅法」には容量を割きたくない • 「ビジネスロジックそのもの」に容量を割きたい • 「ビジネスロジックをどうソフトウェアに落とし込むか」に最も容量を割きたい • 適切な割合になっていないと、ソフトウェアの進化が遅れる
  5. どういうチーム分解を⽬指したいか • 元々の体制は、ドメインが2つに割れてしまっていた • あるドメインについての開発が、1チームで完結する状態を⽬指したい • これによって以下のような状態になることを期待する • Project: チーム内の進捗が⾒えていればOK

    • Engineering: チームの所有物を変更するだけで開発できる(チームを変えただけで変わらないが) • Domain: 全体を知る必要がなくなり、範囲を絞って理解を深められる • Product: チームで品質‧デリバリーに責任を持てる
  6. まずはドメインの⾒直し • AsIs をもとに ToBe を作る • 細分化しすぎても意味がないので、まとめる • チーム体制に反映できない

    • 考えたToBeが真の正解かはわからない • サービスとしても発展途上 • 我々の練度‧理解度も恐らく不⾜している • → 将来的な発展‧修正の余地を折り込む
  7. 現実的な移⾏プランに落とし込む • 単純な理想系は 1チーム = 1ドメイン = 1コードベース • 移⾏を現実的にするために解きたい課題は以下の2つ

    • ドメインの数だけチームを分けられるほどのリソースがない • 既存のコードベースが理想形と⼤きく乖離している
  8. チーム分割の結果 • それぞれのメンバーのワーキングメモリを効率的に使えるようになった 🎉 • 当初の⽬論⾒は概ね達成できた 🎉 • Project: チーム内の進捗が⾒えていればOK

    👍 • Engineering: ⽅向性は⽰せたので理想に向けて動ける状態に 🏃 • Domain: 全体を知る必要がなくなり、範囲を絞って理解を深められる 👍 • Product: チームで品質‧デリバリーに責任を持てる 👍
  9. 他にもいろいろな取り組みをやっています! • Design Document / ADR (Architecture Decision Record) •

    内部設計の意図や決定の経緯を記すドキュメント • ⼩さいTipsレベルの気配り • protoに設計の意図を表明する • 無理な英語変数名を避ける • 有志による医療事務資格勉強会