Scramble! #3 FOLIO流 複雑なドメインとの戦い方 発表資料 https://folio.connpass.com/event/138324/
1明⽇からはじめられる EventStorming2019/08/14 FOLIO Scramble! #3 @yoskhdiaハッシュタグ #folioScramble
View Slide
取り組むコツ- 実践で得た最⼩限のはじめ⽅2セッション紹介核⼼- なぜその最⼩限が妥当だといえるのか
これが最⼩限!3
recognizes4書籍『Introducing EventStorming』Command/DecisionAggregateUIEventExternalSystemReadModelPolicyinvoked oninvoked ongeneratesgeneratestranslatedintotriggersinvokesinvokesIssue書籍「Introducing EventStorming」The picture that explains everything 図を加⼯して引⽤
recognizes5Flattened flowCommandAggregate UIEventExternalSystemReadModelPolicyCommand/Decisioninvoked oninvoked ongeneratesgeneratestranslatedintotriggersinvokesinvokesIssue書籍「Introducing EventStorming」The picture that explains everything 図を加⼯して引⽤
OptionalEventIssueExternal System6まずはこれだけ使ってみよう過去形で起こりうることを書く。⽂章スタイルで書くのも可読性の点で良い選択肢。疑問や懸念、困っていることを書く。体裁は気にしなくてOK。対象ドメイン外のシステムを表す。社内であってもUncontrollableなシステムは外部とする。EventIssueExternalSystem
recognizes7Flattened flowCommandAggregate UIEventExternalSystemReadModelPolicyCommand/Decisioninvoked oninvoked ongeneratesgeneratestranslatedintotriggersinvokesinvokesIssue書籍「Introducing EventStorming」The picture that explains everything 図を加⼯して引⽤
アカウントを審査した8Event と Issue だけでも⼗分そう商品を探した商品をカゴに⼊れたアカウントを作成した分類されてない商品の在庫を確認した商品マスタが無い決済⽅法を登録した&WFOUΛൃੜॱʹฒͨͷΛ/BSSBUJWFͱ͍͍·͢
• 開発者以外にもコンプライアンス、QA、 オペレーター、経理、etc が参加• Event と Issue のみ使⽤• すぐに書き始めることができた• ⼀緒に読み上げる• 論理的なつながりを⾃然に意識できた• モヤりの表明• お互いの知らなかったことが補完された• Unknown-Unknown から Unknown-Known へ素早く⾄れた• リスクの早期発⾒9FOLIOでの⼀場⾯作業⾵景写真作業⾵景写真
10Right personを集めよう?• 書籍では Right person を集めようとある• 万能のDomain expertはいない → Practitionerが頼みの綱•「People with questions」「People with answers」• はじめから Right かどうかは気にしない• 集まった⼈のもつ知識で埋められない領域も可視化される
11最⼩セット• Event と Issue からはじめよう!• Right personは「疑問のある⼈」と「なんとなく詳しそうな⼈」
直感的には良さそう…だけど12
13⽬的意識• 部署・グループに閉じた試⾏錯誤による知識の分散化• 意図的に交流を促さないとサイロ化していく• ⻑い時間を共に過ごすことによるハイコンテクスト化• ⾏間を伝える、⾏間を読み取ることは難しい複雑な時代 / 不可避なグローバリゼーション海外向けサービスを展開していなくてもFATF勧告など国際的な枠組みの中にいる以上対応せざるを得ない!新しいサービスをつくるにはあらゆる⼈の知⾒・知識を綜合して新しい知識を創り出していく必要があるㅟ ㅟ ㅟ ㅟ ㅟ直⾯する課題
解決したいことEventStorming辿り⽅マップ14分散した知識を交流させたいコンテクストの違いに気付きたい新しい 知識 を創造したいܦӦ͔ΒཧΛआΓͯ͜Α͏
Knowledge-based management15「知識」を⼿がかりに
フロー16Knowledge-based managementの2要素ストック情報技術を活⽤して、知識共有を図る 個や集団、組織が情報の意味を解釈することで知識を持続的に創造していく情報の蓄積意味づける⾏為意味を創り出す⾏為形式知 経験に基づく暗黙知
内省(暗黙知)17知識は主観の差異によってもたらされる設計物(形式知)⾏為の前後の思いの差が学習(経験による学習、Reflection in Action)アウトプットしましょうというのは、このため。理解(暗黙知)本(形式知)特に「未知」のものは偶発的にしか気づくことができない。⾃分の内だけでなく、他者との関係のなかの差異が新しい知識の源泉になる。=意図的に偶発性に向かう仕組みが必要例えば、「設計の本を読む」
共同化Socialization表出化Externalization内⾯化Internalization連結化Combination18連続した活動をモデル化(SECIモデル超訳)実際の経験によって培われる思い・知⾒・現場勘思索・対話(形式知化)によって ⾃分の暗黙知に気づく形式知を組み合わせて具体化し 新しい形式知にする⾃覚的に実践することで腑に落ちることで学習(暗黙知化)となる暗黙知 → 形式知暗黙知 ← 形式知
表出化Externalization連結化Combination19ナントカ⼿法は「形式知化」を補助するモノ表現する、声に出すツール:⽐喩、物語連結する、編集する=主観の差異に気づく• 慣れ親しんだツールであること• 対話が⽣まれること• 簡単に組み替えられること• 対話が⽣まれること暗黙知 → 形式知
解決したいことEventStorming次に話すこと20分散した知識を交流させたいコンテクストの違いに気付きたい新しい知識を創造したいKnowledge-based management→SECIモデル慣れ親しんだ簡単な表現ツールであること主観の差異に気づけること(対話が⽣まれること)簡単に連結・組み替えができること࠷খηοτϚονͯ͠Δ͔ݕূ
recognizes21著者はStoryよりもNarrativeを強調しているCommandAggregate UIEventExternalSystemReadModelPolicyCommand/Decisioninvoked oninvoked ongeneratesgeneratestranslatedintotriggersinvokesinvokesIssue書籍「Introducing EventStorming」The picture that explains everything 図を加⼯して引⽤4UPSZ͔Β$IBSBDUFSTͱ$ISPOPMPHZΛҾ͖ࢉͨ͠ͷʮ;Δ·͍ʯϑΝʔετʹߟ͑ΒΕΔ
アカウントを審査した22書き出して⼀緒に読み上げてみると…商品を探した商品をカゴに⼊れたアカウントを作成した分類されてない商品の在庫を確認した商品マスタが無い決済⽅法を登録した
アカウントを審査した23偶発的な対話が⽣まれる!商品を探した商品をカゴに⼊れたアカウントを作成した分類されてない商品の在庫を確認した商品マスタが無い͑ʂʁͦΜͳݒ೦͕͋ͬͨͷʁ͋ʙͦΕ͋Δͷ͔ʙಉ͡ݴ༿Ͱҧ͏ҙຯͩͬͨʂ決済⽅法を登録した͜ΕͬͱલʹͰ͖ͦ͏͋Εʁྫ֎έʔεͳ͍ʁ
ExternalizationCombination24物語をツールとして使う表現する、声に出すツール:⽐喩、物語連結する、編集する=主観の差異に気づく• 慣れ親しんだツールであること• 対話が⽣まれること• 簡単に組み替えられること• 対話が⽣まれること
recognizes25IssueにはモヤりレベルもあらわれるCommandAggregate UIEventExternalSystemReadModelPolicyCommand/Decisioninvoked oninvoked ongeneratesgeneratestranslatedintotriggersinvokesinvokesIssue書籍「Introducing EventStorming」The picture that explains everything 図を加⼯して引⽤ͳΜͱͳ͘ͷϞϠΓ&WFOUͱͯ͠දݱͰ͖ͳ͍ίτͦΕΒ୳ࡧϑΣʔζͰඞཁ
解決したいことEventStorming話したこと26分散した知識を交流させたいコンテクストの違いに気付きたい新しい知識を創造したいKnowledge-based management→SECIモデル慣れ親しんだ簡単な表現ツールであること主観の差異に気づけること(対話が⽣まれること)簡単に連結・組み替えができることEventによるNarrative読み上げ・モヤりの表明
ユーザーストーリーマッピングとの⽐較27User Story Mapping EventStorming何からはじめるか User Story Event何ファーストか ユーザー (UX) ふるまい順序 ユーザーとして体験する順 物事が起こる順思考の向き 何をさせるのか何をするのか何ができるのか表現⼒やや直列Whyを想像しやすい並列並び替えがしやすい(当たり前の話だけれど)探りたい⽬的から適した⼿法を選びましょう
28⽬的に応じてトッピングを変える• 会の⽬的を明確にしよう• 付箋フルセットを使う必要はまったくない• BigPictureレベルなのかSoftwareDesignレベルなのかエトセトラに応じて選択すればOK• 新しい凡例をつくっても良い• “Algorithm” を⾜してみた!とTweetしてる⼈もいた
“探求を始めさせる⽅法次第で、望みどおりの結果を⾼い確率で⼿に⼊れられるような思考、内省、感情、感覚を引き出せるのです。”- 書籍『Game Storming』 p.1929Eventからはじめよう
Further reading30
31少しずつ つよくなる• 発展的リソース• Game Storming• 野中郁次郎(知識創造理論)• クリストファー・アレグザンダー• アクションリサーチ• Whole system approach (Open Space Technology, etc )
32詳細な設計へのつなげ⽅このあとのセッションにて!https://t.co/dcHsQKFPFt
THANK YOUPresented by Yoshitaka OkudaYou can find me at @yoskhdiaこのスライドテーマの著作権©は FOLIO CO., Ltd にあります。
34References• https://www.eventstorming.com/• 書籍『Introducing EventStorming』 - Alberto Brandolini• https://www.slideshare.net/ziobrando/50000-orange-stickies-later• https://yoskhdia.hatenablog.com/entry/2018/11/09/200556• https://www.slideshare.net/yugolf/eventstorming-145123949• 書籍『異⽂化理解⼒』 - エリン・メイヤー(英治出版)• https://www.ogis-ri.co.jp/otc/hiroba/Report/EnterpriseAgileGathering2018/ost.html• https://www.beemgee.com/blog/story-vs-narrative/• https://en.wikipedia.org/wiki/Narrative• https://hbr.org/1986/01/the-new-new-product-development-game• https://www.slideshare.net/hiranabe/phronetic-leadership-and-agile-scrum-gathering-tokyo-2013