Slide 1

Slide 1 text

Copyright © 2023 Bitkey Inc. All right reserved. 共創するアーキテクチャ ~チーム全体で築く 持続可能な開発エコシステム~ 株式会社ビットキー 佐藤 拓人 2024/11/26

Slide 2

Slide 2 text

2 Copyright © 2023 Bitkey Inc. All right reserved. モブプロ x BDD x イベントストーミング はいいぞ!! 2. 「なに」が言いたいの? 結論

Slide 3

Slide 3 text

3 Copyright © 2023 Bitkey Inc. All right reserved. 自己紹介 佐藤 拓人 Sato Takuto 2015.04 2019.05 2020.01 大学(建築学専攻)卒業後、 株式会社ワークスアプリケーションズに入社 会計システムのソフトウェア開発を担当 特に財務会計の仕訳関連 ビットキーへ参画 ECサイトの開発 / 保守、社内システムの開発 TaKuTyの開発 今のHome事業の前身となるResidenceチームに配属 bitlockを扱う管理画面やバックエンド、appの開発に 従事 Now Homeプロダクトの技術責任者 複雑な事象を読み解いて構造化し、抽象化 / 汎用化で きるように設計し、低コストで多くの価値をだせる開 発をすることを好む

Slide 4

Slide 4 text

4 Copyright © 2023 Bitkey Inc. All right reserved. 自己紹介 佐藤 拓人 Sato Takuto

Slide 5

Slide 5 text

5 Copyright © 2023 Bitkey Inc. All right reserved. Outline 1. ソフトウェアアーキテクチャに「どう」向き合う? 2. 「なに」が言いたいの? 3. 「どのような」取り組みしたの? 4. 「なんで」いいの? 4-1. チーム外に訴求できる成果 4-2. 解決するのは「分断」だが、「分解」は大切 4-3. 対話からすべてがはじまる 5. まとめ

Slide 6

Slide 6 text

6 Copyright © 2023 Bitkey Inc. All right reserved. 1. ソフトウェアアーキテクチャに「どう」向き合う?

Slide 7

Slide 7 text

7 Copyright © 2023 Bitkey Inc. All right reserved. ■ イメージ ● クリーンアーキテクチャ ● マイクロサービス ● モジュラーモノリス ● PubSub ● Event Sourcing ● CQRS 1. ソフトウェアアーキテクチャに「どう」向き合う? ソフトウェアアーキテクチャとは?

Slide 8

Slide 8 text

8 Copyright © 2023 Bitkey Inc. All right reserved. ■ 考えてみよう! 「ソフトウェアアーキテクチャ」とはなんなのか? 「ソフトウェアアーキテクチャ」で求められるもの / 求めるべきものは? 1. ソフトウェアアーキテクチャに「どう」向き合う? ソフトウェアアーキテクチャとは?

Slide 9

Slide 9 text

9 Copyright © 2023 Bitkey Inc. All right reserved. ■ アーキテクチャとは? ● 建築物の設計や構造を指す言葉 ● 家やビルを建てる際の「設計図」 ■ 家を建てる場合 ● 間取りや部屋の配置、使用する材料、配 管や電気配線など全体の計画が必要 1. ソフトウェアアーキテクチャに「どう」向き合う? ソフトウェアアーキテクチャとは?

Slide 10

Slide 10 text

10 Copyright © 2023 Bitkey Inc. All right reserved. ■ ソフトウェアアーキテクチャとは? ● システム全体の設計図 ● どのような部品(コンポーネント)で構成 されているかを明らかにする ● 部品がどう連携して動作するのかを示す もの ■ なぜ重要か? ● アーキテクチャがしっかりしていると、 システムの性能や拡張性、保守性が向上 します。 1. ソフトウェアアーキテクチャに「どう」向き合う? ソフトウェアアーキテクチャとは?

Slide 11

Slide 11 text

11 Copyright © 2023 Bitkey Inc. All right reserved. 「ソフトウェアアーキテクチャ」の目的 = 良い「設計図」 1. ソフトウェアアーキテクチャに「どう」向き合う? ソフトウェアアーキテクチャの意義

Slide 12

Slide 12 text

12 Copyright © 2023 Bitkey Inc. All right reserved. ■ 良い「設計図」を描くことで ● 全体のビジョンや方向性が明確になる ● 技術スタックやフレームワークが適切に選定される ● インフラの知見やクリーンアーキテクチャなどの設計手法が反映される ■ 「ソフトウェアアーキテクチャ」に関するトピックとしても... ● 良い「設計図」を描くための考え方やスキルが多く話される 1. ソフトウェアアーキテクチャに「どう」向き合う? ソフトウェアアーキテクチャとは?

Slide 13

Slide 13 text

13 Copyright © 2023 Bitkey Inc. All right reserved. 「ソフトウェアアーキテクチャ」の目的 = 良い「設計図」 1. ソフトウェアアーキテクチャに「どう」向き合う? ソフトウェアアーキテクチャの意義

Slide 14

Slide 14 text

14 Copyright © 2023 Bitkey Inc. All right reserved. 「ソフトウェアアーキテクチャ」の目的 = 良い「設計図」 1. ソフトウェアアーキテクチャに「どう」向き合う? ソフトウェアアーキテクチャの意義 本当?

Slide 15

Slide 15 text

15 Copyright © 2023 Bitkey Inc. All right reserved. ■ 良い設計図があれば、良いソフトウェアが作れるのか? ● 良い設計図があれば、良い建物が建てられるわけではない ● 実際には建設員がいて、彼らのスキルや工法も非常に大切 ■ 設計図はいつ誰が作るのか? ● 設計図も一度作成して完了...とはならない ● アジャイル開発のように継続的にインクリメントし続ける開発手法がある ● DDDのように外界の変化に柔軟に対応できるようにする設計手法がある ● 誰かが良い設計をするだけでは不十分で、チームで対応できることに価値が ある 1. ソフトウェアアーキテクチャに「どう」向き合う? ソフトウェアアーキテクチャの意義

Slide 16

Slide 16 text

16 Copyright © 2023 Bitkey Inc. All right reserved. 「ソフトウェアアーキテクチャ」の目的 ≠ 良い「設計図」 1. ソフトウェアアーキテクチャに「どう」向き合う? ソフトウェアアーキテクチャの意義

Slide 17

Slide 17 text

17 Copyright © 2023 Bitkey Inc. All right reserved. 「ソフトウェアアーキテクチャ」の目的 ≒ 良い「設計図」を継続的にチームで 進化させ続けることができる仕組み 1. ソフトウェアアーキテクチャに「どう」向き合う? ソフトウェアアーキテクチャの意義

Slide 18

Slide 18 text

18 Copyright © 2023 Bitkey Inc. All right reserved. ソフトウェアアーキテクチャは チームの進化を導くコンパスであるべき 1. ソフトウェアアーキテクチャに「どう」向き合う? ソフトウェアアーキテクチャの意義

Slide 19

Slide 19 text

19 Copyright © 2023 Bitkey Inc. All right reserved. 「ソフトウェアアーキテクチャ」の目的 ≒ 良い「設計図」を継続的にチームで 進化させ続けることができる仕組み 1. ソフトウェアアーキテクチャに「どう」向き合う? ソフトウェアアーキテクチャの意義 まだまだ完全にはできていない... でも改善している!!

Slide 20

Slide 20 text

20 Copyright © 2023 Bitkey Inc. All right reserved. 1. 「なに」をして、「どう」なったか 2. 「どんな」設計図に進化させられたか 1. ソフトウェアアーキテクチャに「どう」向き合う? ソフトウェアアーキテクチャの意義

Slide 21

Slide 21 text

21 Copyright © 2023 Bitkey Inc. All right reserved. 2. 「なに」が言いたいの?

Slide 22

Slide 22 text

22 Copyright © 2023 Bitkey Inc. All right reserved. 「ソフトウェアアーキテクチャ」の目的 ≒ 良い「設計図」を継続的にチームで 進化させ続けることができる仕組み 2. 「なに」が言いたいの? 結論

Slide 23

Slide 23 text

23 Copyright © 2023 Bitkey Inc. All right reserved. モブプロ x BDD x イベントストーミング はいいぞ!! 2. 「なに」が言いたいの? 結論

Slide 24

Slide 24 text

24 Copyright © 2023 Bitkey Inc. All right reserved. 3. 「どのような」取り組みしたの?

Slide 25

Slide 25 text

25 Copyright © 2023 Bitkey Inc. All right reserved. ■ こんな課題がある状態だった... ● ファイルごとに異なる設計や実装の仕方が異なる... ● メンバー間で広がるスキルや知識の格差... ● 属人性が極まってなぜそうなっているのかわからない... ● 作りっぱなしでメンテがされない。チームに知っている人がいない... ● 問題が起きて発覚するが、知らないから改修コストが非常に高い... ● 設計の意図がわからないから、修正方法の妥当性が判断しづらい... Before 3. 「どのような」取り組みしたの?

Slide 26

Slide 26 text

26 Copyright © 2023 Bitkey Inc. All right reserved. ■ こんな課題がある状態だった... ● ファイルごとに異なる設計や実装の仕方が異なる... ● メンバー間で広がるスキルや知識の格差... ● 属人性が極まってなぜそうなっているのかわからない... ● 作りっぱなしでメンテがされない。チームに知っている人がいない... ● 問題が起きて発覚するが、知らないから改修コストが非常に高い... ● 設計の意図がわからないから、修正方法の妥当性が判断しづらい... Before 3. 「どのような」取り組みしたの? どう改善した?

Slide 27

Slide 27 text

27 Copyright © 2023 Bitkey Inc. All right reserved. モブプロ x BDD x イベントストーミング はいいぞ!! 結論 3. 「どのような」取り組みしたの?

Slide 28

Slide 28 text

28 Copyright © 2023 Bitkey Inc. All right reserved. ■ モブプロ ● みんなでプログラミング ● タイピストやナビゲータなど役割を 分けて実施する ● 共通認識が取りやすい ● ペアプロと組み合わせることもある ■ 課題 ● 進行が難しい... ● 準備不足だと議論が発散しやすい... 「モブプロ」って? 3. 「どのような」取り組みしたの?

Slide 29

Slide 29 text

29 Copyright © 2023 Bitkey Inc. All right reserved. ■ BDD ● Behavior-Driven Development = 振舞駆動開発 ● 「振る舞い」を事前に自然言語で 定義して、これを実現するための テストを書いてから実装をする ● Given / When / Then 形式 ■ 課題 ● 「振る舞い」の明確化が大変 ● 考慮漏れが発生しやすい 「BDD」って? 3. 「どのような」取り組みしたの?

Slide 30

Slide 30 text

30 Copyright © 2023 Bitkey Inc. All right reserved. ■ イベントストーミング ● DDD(=ドメイン駆動開発)で用い られるドメイン整理の手法 ● ドメインエキスパートを含めてド メイン知識を特定のフォーマット に則って整理する ■ 課題 ● 整理内容から実装に落とし込むの が難しい... 「イベントストーミング」って? 3. 「どのような」取り組みしたの?

Slide 31

Slide 31 text

31 Copyright © 2023 Bitkey Inc. All right reserved. モブプロ x BDD x イベントストーミング 一緒にやることに意義がある! 結論 3. 「どのような」取り組みしたの?

Slide 32

Slide 32 text

32 Copyright © 2023 Bitkey Inc. All right reserved. モブプロ BDD イベスト ・進行が難しい ・準備不足だと議論が発散しやすい 相乗効果 3. 「どのような」取り組みしたの? ・「振る舞い」の明確化が大変 ・考慮漏れが発生しやすい ・整理内容の実装への落とし込みが難しい

Slide 33

Slide 33 text

33 Copyright © 2023 Bitkey Inc. All right reserved. イベスト モブプロ BDD ・進行が難しい ・準備不足だと議論が発散しやすい ・洗い出した観点ごとに  テスト→実装→リファクタ  を繰り返す ・やることが限定されて進行が  非常にスムーズに! 相乗効果 3. 「どのような」取り組みしたの? ・「振る舞い」の明確化が大変 ・考慮漏れが発生しやすい ・整理内容の実装への落とし込みが難しい

Slide 34

Slide 34 text

34 Copyright © 2023 Bitkey Inc. All right reserved. モブプロ イベスト BDD ・進行が難しい ・準備不足だと議論が発散しやすい ・洗い出した観点ごとに  テスト→実装→リファクタ  を繰り返す ・やることが限定されて進行が  非常にスムーズに! ・QAチームもイベストに参加 ・イベスト段階でQA視点も含めて整理 ・イベストの整理内容をもとに振る舞いを定義 ・プロセスが型化され、考慮漏れも低減! チーム全員で整理した内容を 元にモブプロしながら 落とし込み 相乗効果 3. 「どのような」取り組みしたの? ・「振る舞い」の明確化が大変 ・考慮漏れが発生しやすい ・整理内容の実装への落とし込みが難しい

Slide 35

Slide 35 text

35 Copyright © 2023 Bitkey Inc. All right reserved. BDD イベスト モブプロ ・進行が難しい ・準備不足だと議論が発散しやすい ・洗い出した観点ごとに  テスト→実装→リファクタ  を繰り返す ・やることが限定されて進行が  非常にスムーズに! ・QAチームもイベストに参加 ・イベスト段階でQA視点も含めて整理 ・イベストの整理内容をもとに振る舞いを定義 ・プロセスが型化され、考慮漏れも低減! ・開発メンバー全員イベストに参加 ・モブプロで議論しながら実装 ・ドメインの知識が深まりナレッジも  チームで共有されるように 相乗効果 3. 「どのような」取り組みしたの? ・「振る舞い」の明確化が大変 ・考慮漏れが発生しやすい ・整理内容の実装への落とし込みが難しい

Slide 36

Slide 36 text

36 Copyright © 2023 Bitkey Inc. All right reserved. モブプロ x BDD x イベントストーミング を組み合わせることで 個別に実施した際の課題が解決! 3. 「どのような」取り組みしたの? 相乗効果

Slide 37

Slide 37 text

37 Copyright © 2023 Bitkey Inc. All right reserved. ■ 自立性が向上した ● 「型」に則ることで属人性を排除し、チームの自立性が大きく向上した! ■ 自然と分割されるようになった ● 分割して関心ごとを限定することで取り組みやすくなった! ● ドメインの分割、モブプロのタスク分割、外部品質/内部品質の分割... ■ 絶対的な対話の増加 ● 対話の頻度が大きくに向上して属人化が圧倒的に減少した ● チーム内外との対話により思考が深まり、アイデア発案が増えた 「どう」なったか 3. 「どのような」取り組みしたの?

Slide 38

Slide 38 text

38 Copyright © 2023 Bitkey Inc. All right reserved. 「どう」なったか 良い「設計図」を継続的にチームで 進化させ続けることができる仕組み を整えることができた! 3. 「どのような」取り組みしたの?

Slide 39

Slide 39 text

39 Copyright © 2023 Bitkey Inc. All right reserved. 4. 「なんで」いいの?

Slide 40

Slide 40 text

40 Copyright © 2023 Bitkey Inc. All right reserved. 4-1. 客観的な成果 (≒外部品質)

Slide 41

Slide 41 text

41 Copyright © 2023 Bitkey Inc. All right reserved. 4-1. 客観的な成果 ■ 成果 ● 評価戻りが減った ● より楽しく開発できるようになった! ● 仕様が分からなくなったり、疑問を持ったりした時の拠り所ができた! ● 評価戻りや問い合わせが誰でも対応できるようになった! ● QAから機能追加の提案が多く出るようになった! ● ベロシティをほぼキープした状態で実現できた! ● 大規模リプレイス案件を問題なくリリース&運用できた! 「どう」変わった?

Slide 42

Slide 42 text

42 Copyright © 2023 Bitkey Inc. All right reserved. 4-1. 客観的な成果 ■ 成果 ● 評価戻りが減った ● より楽しく開発できるようになった! ● 仕様が分からなくなったり、疑問を持ったりした時の拠り所ができた! ● 評価戻りや問い合わせが誰でも対応できるようになった! ● QAから機能追加の提案が多く出るようになった! ● ベロシティをほぼキープした状態で実現できた! ● 大規模リプレイス案件を問題なくリリース&運用できた! 「どう」変わった?

Slide 43

Slide 43 text

43 Copyright © 2023 Bitkey Inc. All right reserved. 4-1. 客観的な成果 ■ 成果 ● 評価戻りが減った ● より楽しく開発できるようになった! ● 仕様が分からなくなったり、疑問を持ったりした時の拠り所ができた! ● 評価戻りや問い合わせが誰でも対応できるようになった! ● QAから機能追加の提案が多く出るようになった! ● ベロシティをほぼキープした状態で実現できた! ● 大規模リプレイス案件を問題なくリリース&運用できた! 「どう」変わった?

Slide 44

Slide 44 text

44 Copyright © 2023 Bitkey Inc. All right reserved. ・対外チームとの連携 ・開発チームの雰囲気 ・外部品質 ・アウトプット量 ...総じてポジティブな結果に! 4-1. 客観的な成果 「どう」変わった?

Slide 45

Slide 45 text

45 Copyright © 2023 Bitkey Inc. All right reserved. 4-2. 「設計図」の進化 (=内部品質)

Slide 46

Slide 46 text

事業内容の説明をさせください!

Slide 47

Slide 47 text

No content

Slide 48

Slide 48 text

つなげよう。 人は、もっと自由になれる。 Bitkey Recruiting Book © Bitkey inc All rights reserved. Mission・Vision

Slide 49

Slide 49 text

デジタル間の体験の分断 インターネットの登場やアプリ開発が⼿軽になったことで、⽣活の利便性は 向上しました。⼀⽅で、デジタルサービスが増えるほどに、沢⼭のスマホア プリやWebサービス、SaaSツールなどを使い分ける⼿間も発⽣。毎回のアカ ウント登録、個⼈情報の⼊⼒、各アプリへの情報の⼆重登録などの⼿間か ら、やがて存在を忘れ、使わなくなるサービスもあるはずです。私達はここ に「デジタル間の体験の分断」課題があると捉えています。 リアルとデジタル間の体験の分断 デジタルで⽣活の利便性が向上する⼀⽅で、⽇常⽣活にはデジタルだけで完 結しない場⾯も多数あります。例えば、私達は24時間いつでも、ECサイトで 買い物したり、宿泊予約が可能になりました。しかし、荷物の受け取りは未 だに対⾯することが⼀般的です。このように、デジタルは便利なのに、リア ル体験ではシームレスさが途切れてしまいます。私達はここに「リアルとデ ジタル間の体験の分断」課題があると捉えています。 私たちが解決するのは 体験の「分断」です。

Slide 50

Slide 50 text

私たちは⼀⽇の中で⼀体、 いくつのアプリや認証を使い分けているのだろう? 週末を楽しむ ⾃宅 移動 ジム オフィスで働く ⼊退室 社員証 交通 IC 専⽤ アプリ ⾞の鍵 家の鍵 予約 番号 QR コード What we do

Slide 51

Slide 51 text

ビットキーが⽬指すのは、煩わしい⼿続きから解放された体験 「分断」をコネクトしていくことで、毎⽇の体験を彩っていきます 週末を楽しむ ⾃宅 移動 ジム オフィスで働く ⼊退室 社員証 交通 IC 専⽤ アプリ ⾞の鍵 家の鍵 予約 番号 QR コード What we do

Slide 52

Slide 52 text

ソフトウェアの領域を超えて リアルとデジタルの「分断」を解消する 「分断」は、リアルでもデジタル上でも存在します。だからこそ、 私たちはソフトウェアの領域にはとまりません。ハードウェアも同 時に開発‧共創することで、デジタルで解決されていないリアルの 体験も含めて、シームレスな体験を実現します。

Slide 53

Slide 53 text

53 Copyright © 2023 Bitkey Inc. All right reserved.

Slide 54

Slide 54 text

54 Copyright © 2023 Bitkey Inc. All right reserved. 2. サービス紹介 homehubは「暮らし」に関わる様々な体験を実現する。その中心にあるのがスマートロック

Slide 55

Slide 55 text

55 Copyright © 2023 Bitkey Inc. All right reserved. workhubは「働く空間」と「働くひとや業務」をつなぎ、快適な仕事を実現する。こちらも多くの体験の中心にスマートロックがある 2. サービス紹介

Slide 56

Slide 56 text

56 Copyright © 2023 Bitkey Inc. All right reserved. 4-2. 解消したいのは「分断」。でも「分割」は大切

Slide 57

Slide 57 text

デジタル間の体験の分断 インターネットの登場やアプリ開発が⼿軽になったことで、⽣活の利便性は 向上しました。⼀⽅で、デジタルサービスが増えるほどに、沢⼭のスマホア プリやWebサービス、SaaSツールなどを使い分ける⼿間も発⽣。毎回のアカ ウント登録、個⼈情報の⼊⼒、各アプリへの情報の⼆重登録などの⼿間か ら、やがて存在を忘れ、使わなくなるサービスもあるはずです。私達はここ に「デジタル間の体験の分断」課題があると捉えています。 リアルとデジタル間の体験の分断 デジタルで⽣活の利便性が向上する⼀⽅で、⽇常⽣活にはデジタルだけで完 結しない場⾯も多数あります。例えば、私達は24時間いつでも、ECサイトで 買い物したり、宿泊予約が可能になりました。しかし、荷物の受け取りは未 だに対⾯することが⼀般的です。このように、デジタルは便利なのに、リア ル体験ではシームレスさが途切れてしまいます。私達はここに「リアルとデ ジタル間の体験の分断」課題があると捉えています。 私たちが解決するのは 体験の「分断」です。

Slide 58

Slide 58 text

ソフトウェアの領域を超えて リアルとデジタルの「分断」を解消する 「分断」は、リアルでもデジタル上でも存在します。だからこそ、 私たちはソフトウェアの領域にはとまりません。ハードウェアも同 時に開発‧共創することで、デジタルで解決されていないリアルの 体験も含めて、シームレスな体験を実現します。

Slide 59

Slide 59 text

59 Copyright © 2023 Bitkey Inc. All right reserved. 2. サービス紹介 homehubは「暮らし」に関わる様々な体験を実現する。その中心にあるのがスマートロック

Slide 60

Slide 60 text

デジタル間の体験の分断 インターネットの登場やアプリ開発が⼿軽になったことで、⽣活の利便性は 向上しました。⼀⽅で、デジタルサービスが増えるほどに、沢⼭のスマホア プリやWebサービス、SaaSツールなどを使い分ける⼿間も発⽣。毎回のアカ ウント登録、個⼈情報の⼊⼒、各アプリへの情報の⼆重登録などの⼿間か ら、やがて存在を忘れ、使わなくなるサービスもあるはずです。私達はここ に「デジタル間の体験の分断」課題があると捉えています。 リアルとデジタル間の体験の分断 デジタルで⽣活の利便性が向上する⼀⽅で、⽇常⽣活にはデジタルだけで完 結しない場⾯も多数あります。例えば、私達は24時間いつでも、ECサイトで 買い物したり、宿泊予約が可能になりました。しかし、荷物の受け取りは未 だに対⾯することが⼀般的です。このように、デジタルは便利なのに、リア ル体験ではシームレスさが途切れてしまいます。私達はここに「リアルとデ ジタル間の体験の分断」課題があると捉えています。 私たちが解決するのは 体験の「分断」です。 でも リソースは少ない...

Slide 61

Slide 61 text

デジタル間の体験の分断 インターネットの登場やアプリ開発が⼿軽になったことで、⽣活の利便性は 向上しました。⼀⽅で、デジタルサービスが増えるほどに、沢⼭のスマホア プリやWebサービス、SaaSツールなどを使い分ける⼿間も発⽣。毎回のアカ ウント登録、個⼈情報の⼊⼒、各アプリへの情報の⼆重登録などの⼿間か ら、やがて存在を忘れ、使わなくなるサービスもあるはずです。私達はここ に「デジタル間の体験の分断」課題があると捉えています。 リアルとデジタル間の体験の分断 デジタルで⽣活の利便性が向上する⼀⽅で、⽇常⽣活にはデジタルだけで完 結しない場⾯も多数あります。例えば、私達は24時間いつでも、ECサイトで 買い物したり、宿泊予約が可能になりました。しかし、荷物の受け取りは未 だに対⾯することが⼀般的です。このように、デジタルは便利なのに、リア ル体験ではシームレスさが途切れてしまいます。私達はここに「リアルとデ ジタル間の体験の分断」課題があると捉えています。 私たちが解決するのは 体験の「分断」です。 汎用的な機能を組み合わせ 多くのソリューションを提供

Slide 62

Slide 62 text

デジタル間の体験の分断 インターネットの登場やアプリ開発が⼿軽になったことで、⽣活の利便性は 向上しました。⼀⽅で、デジタルサービスが増えるほどに、沢⼭のスマホア プリやWebサービス、SaaSツールなどを使い分ける⼿間も発⽣。毎回のアカ ウント登録、個⼈情報の⼊⼒、各アプリへの情報の⼆重登録などの⼿間か ら、やがて存在を忘れ、使わなくなるサービスもあるはずです。私達はここ に「デジタル間の体験の分断」課題があると捉えています。 リアルとデジタル間の体験の分断 デジタルで⽣活の利便性が向上する⼀⽅で、⽇常⽣活にはデジタルだけで完 結しない場⾯も多数あります。例えば、私達は24時間いつでも、ECサイトで 買い物したり、宿泊予約が可能になりました。しかし、荷物の受け取りは未 だに対⾯することが⼀般的です。このように、デジタルは便利なのに、リア ル体験ではシームレスさが途切れてしまいます。私達はここに「リアルとデ ジタル間の体験の分断」課題があると捉えています。 私たちが解決するのは 体験の「分断」です。 「汎用化」「共通化」を重視

Slide 63

Slide 63 text

63 Copyright © 2023 Bitkey Inc. All right reserved. 3-2. 解消したいのは「分断」。でも「分割」は大切 どう実装していた? ・解錠できる 
 ・オートロックの設定ができる 
 ・解錠施錠ログを見ることができる 


Slide 64

Slide 64 text

64 Copyright © 2023 Bitkey Inc. All right reserved. 3-2. 解消したいのは「分断」。でも「分割」は大切 どう実装していた? ・解錠できる ・オートロックの設定ができる ・解錠施錠ログを見ることができる 住んでいる人が1人で利用する 


Slide 65

Slide 65 text

65 Copyright © 2023 Bitkey Inc. All right reserved. 3-2. 解消したいのは「分断」。でも「分割」は大切 どう実装していた? 家族や友達と利用する 


Slide 66

Slide 66 text

66 Copyright © 2023 Bitkey Inc. All right reserved. 3-2. 解消したいのは「分断」。でも「分割」は大切 どう実装していた? 管理会社や仲介会社、清掃業者など 
 が利用する 


Slide 67

Slide 67 text

67 Copyright © 2023 Bitkey Inc. All right reserved. 3-2. 解消したいのは「分断」。でも「分割」は大切 どう実装していた? 解錠するための手段も様々 


Slide 68

Slide 68 text

68 Copyright © 2023 Bitkey Inc. All right reserved. 3-2. 解消したいのは「分断」。でも「分割」は大切 どう実装していた? 解錠できるようにする 
 デバイスも様々 


Slide 69

Slide 69 text

69 Copyright © 2023 Bitkey Inc. All right reserved. 3-2. 解消したいのは「分断」。でも「分割」は大切 どう実装していた? 解錠できるようにする 
 場所も様々 


Slide 70

Slide 70 text

70 Copyright © 2023 Bitkey Inc. All right reserved. bitlock MINI bitreader+ bitlink homehub Entrance 電子錠A ・・・ 3-2. 解消したいのは「分断」。でも「分割」は大切 どう実装していた?

Slide 71

Slide 71 text

71 Copyright © 2023 Bitkey Inc. All right reserved. bitlock MINI bitreader+ bitlink homehub Entrance 電子錠A 社員 入居者 入居者家族 設置業者 仲介業者 ・・・ ・・・ 3-2. 解消したいのは「分断」。でも「分割」は大切 どう実装していた?

Slide 72

Slide 72 text

72 Copyright © 2023 Bitkey Inc. All right reserved. bitlock MINI bitreader+ bitlink homehub Entrance 電子錠A 社員 入居者 入居者家族 設置業者 仲介業者 ・・・ ・・・ アプリ解錠 手ぶら解錠 パスコード NFCカード 顔認証 ・・・ 3-2. 解消したいのは「分断」。でも「分割」は大切 どう実装していた?

Slide 73

Slide 73 text

73 Copyright © 2023 Bitkey Inc. All right reserved. bitlock MINI bitreader+ bitlink homehub Entrance 電子錠A 社員 入居者 入居者家族 設置業者 仲介業者 ・・・ ・・・ アプリ解錠 手ぶら解錠 パスコード NFCカード 顔認証 ・・・ 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事 ユースケース ・・・ 解錠するヒト、デバイス、解錠方法 
 …の組み合わせで制御が必要 
 ユースケースに制御が集中して 
 実装が大変... 
 3-2. 解消したいのは「分断」。でも「分割」は大切 どう実装していた?

Slide 74

Slide 74 text

74 Copyright © 2023 Bitkey Inc. All right reserved. 3. 概念的な抽象化 アクセスコントロール 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事 ユースケース ・・・ アクセス
 コントロール
 ヒト 空間 デバイス 「誰がいつどこに何で解錠できるか」という 観点で抽象化し、統一的に管理

Slide 75

Slide 75 text

75 Copyright © 2023 Bitkey Inc. All right reserved. 3. 概念的な抽象化 アクセスコントロール 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事 ユースケース ・・・ アクセス
 コントロール
 ヒト 空間 デバイス 〇〇さんに△△にアクセス 
 できるようにして欲しい 
 ▢▢を使ってにアクセスして! 


Slide 76

Slide 76 text

76 Copyright © 2023 Bitkey Inc. All right reserved. 3. 概念的な抽象化 アクセスコントロール 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事 ユースケース ・・・ アクセス
 コントロール
 ヒト 空間 デバイス △△にアクセス 
 できるのが誰か教えて 
 〇〇さんと〇〇さんだよ 


Slide 77

Slide 77 text

77 Copyright © 2023 Bitkey Inc. All right reserved. 3. 概念的な抽象化 アクセスコントロール 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事 ユースケース ・・・ アクセス
 コントロール
 ヒト 空間 デバイス 解錠に関する制御を管理しやすいように 
 抽象化したモデルを用意する 


Slide 78

Slide 78 text

78 Copyright © 2023 Bitkey Inc. All right reserved. 3. 概念的な抽象化 アクセスコントロール 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事 ユースケース ・・・ アクセス コントロール ヒト 空間 デバイス いろんなデバイスを 
 統一的に管理するために機能役割を整理 
 - LockDevice:解錠にまつわる機能、実際にドアを解錠すことができる - AuthDevice:認証にまつわる機能、 NFCカードや顔、パスコードで解錠できるか のチェックをし、解錠可能であれば解錠デバイスに解錠コマンドを投げる - LinkDevice:デバイスをネットワークとつなげ、コマンドを実行する - StrageDevice:ロッカーなどものを格納する機能をもつデバイス

Slide 79

Slide 79 text

79 Copyright © 2023 Bitkey Inc. All right reserved. 3. 概念的な抽象化 アクセスコントロール 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事 ユースケース ・・・ アクセス コントロール ヒト 空間 デバイス いろんなデバイスを 
 統一的に管理するために機能役割を整理 
 - LockDevice:解錠にまつわる機能、実際にドアを解錠すことができる - AuthDevice:認証にまつわる機能、 NFCカードや顔、パスコードで解錠できるか のチェックをし、解錠可能であれば解錠デバイスに解錠コマンドを投げる - LinkDevice:デバイスをネットワークとつなげ、コマンドを実行する - StrageDevice:ロッカーなどものを格納する機能をもつデバイス

Slide 80

Slide 80 text

80 Copyright © 2023 Bitkey Inc. All right reserved. 3. 概念的な抽象化 アクセスコントロール 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事 ユースケース ・・・ アクセス コントロール ヒト 空間 デバイス いろんなデバイスを 
 統一的に管理するために機能役割を整理 
 - LockDevice:解錠にまつわる機能、実際にドアを解錠すことができる - AuthDevice:認証にまつわる機能、 NFCカードや顔、パスコードで解錠できるか のチェックをし、解錠可能であれば解錠デバイスに解錠コマンドを投げる - LinkDevice:デバイスをネットワークとつなげ、コマンドを実行する - StrageDevice:ロッカーなどものを格納する機能をもつデバイス

Slide 81

Slide 81 text

81 Copyright © 2023 Bitkey Inc. All right reserved. 3. 概念的な抽象化 アクセスコントロール 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事 ユースケース ・・・ アクセス コントロール ヒト 空間 デバイス いろんなデバイスを 統一的に管理するために機能役割を整理 - LockDevice:解錠にまつわる機能、実際にドアを解錠すことができる - AuthDevice:認証にまつわる機能、 NFCカードや顔、パスコードで解錠できるか のチェックをし、解錠可能であれば解錠デバイスに解錠コマンドを投げる - LinkDevice:デバイスをネットワークとつなげ、コマンドを実行する - StrageDevice:ロッカーなどものを格納する機能をもつデバイス

Slide 82

Slide 82 text

82 Copyright © 2023 Bitkey Inc. All right reserved. 3. 概念的な抽象化 アクセスコントロール 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事 ユースケース ・・・ アクセス コントロール ヒト 空間 デバイス いろんなデバイスを 統一的に管理するために機能役割を整理 - LockDevice:解錠にまつわる機能、実際にドアを解錠すことができる - AuthDevice:認証にまつわる機能、 NFCカードや顔、パスコードで解錠できるか のチェックをし、解錠可能であれば解錠デバイスに解錠コマンドを投げる - LinkDevice:デバイスをネットワークとつなげ、コマンドを実行する - StrageDevice:ロッカーなどものを格納する機能をもつデバイス

Slide 83

Slide 83 text

83 Copyright © 2023 Bitkey Inc. All right reserved. 4. 実装への反映 アクセスコントロール 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事 ユースケース ・・・ アクセス
 コントロール
 ヒト 空間 デバイス 汎用的な粒度のモデルで実装 
 EntityやDBなど 


Slide 84

Slide 84 text

84 Copyright © 2023 Bitkey Inc. All right reserved. 4. 実装への反映 アクセスコントロール 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事 ユースケース ・・・ アクセス コントロール ヒト 空間 デバイス 汎用的な粒度のモデルで実装 EntityやDBなど 良い感じに整理できた! …と思っていたが...

Slide 85

Slide 85 text

85 Copyright © 2023 Bitkey Inc. All right reserved. 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事ユー スケース ・・・ アクセス
 コントロール
 ヒト 空間 デバイス 設置 ユースケース 設定変更 ユースケース 設置や設定など「解錠」以外の 
 ユースケースもある 
 3-2. 解消したいのは「分断」。でも「分割」は大切 落とし穴

Slide 86

Slide 86 text

86 Copyright © 2023 Bitkey Inc. All right reserved. 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事ユー スケース ・・・ アクセス コントロール ヒト 空間 デバイス 設置 ユースケース 設定変更 ユースケース 設置や設定などのユースケースでも 同じモデルを使っていた 3-2. 解消したいのは「分断」。でも「分割」は大切 落とし穴

Slide 87

Slide 87 text

87 Copyright © 2023 Bitkey Inc. All right reserved. 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事ユー スケース ・・・ アクセス
 コントロール
 ヒト 空間 デバイス 設置 ユースケース 設定変更 ユースケース 設置や設定などのユースケースでも 
 同じモデルを使っていた 
 いろんなデバイスの固有値が 
 まとめられて使いづらい... 
 3-2. 解消したいのは「分断」。でも「分割」は大切 落とし穴

Slide 88

Slide 88 text

88 Copyright © 2023 Bitkey Inc. All right reserved. 5. 落とし穴 アクセスコントロール 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事ユー スケース ・・・ アクセス コントロール ヒト 空間 デバイス 設置 ユースケース 設定変更 ユースケース 設置や設定などのユースケースでも 同じモデルを使っていた いろんなデバイスの固有値が まとめられて使いづらい ... あれ?扱いづらいな...

Slide 89

Slide 89 text

89 Copyright © 2023 Bitkey Inc. All right reserved. 最初の「設計」は間違っていなかったはず でも... いつの間にか使いづらくなってしまった 3-2. 解消したいのは「分断」。でも「分割」は大切 落とし穴

Slide 90

Slide 90 text

90 Copyright © 2023 Bitkey Inc. All right reserved. 「分割」は大切! 結論 3-2. 解消したいのは「分断」。でも「分割」は大切

Slide 91

Slide 91 text

91 Copyright © 2023 Bitkey Inc. All right reserved. ■ イベントストーミング ● 関連性の強いドメインでまとめ たイベントストーミングマップ というものを生成する ● このマップ生成過程で「解錠」 「設置」が明確で異なる領域で あることが認知できた 3-2. 解消したいのは「分断」。でも「分割」は大切 解決手段

Slide 92

Slide 92 text

92 Copyright © 2023 Bitkey Inc. All right reserved. 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事ユー スケース ・・・ アクセス
 コントロール
 ヒト 空間 解錠用 デバイス 設置 ユースケース 設定変更 ユースケース 解錠コンテキスト 
 設定コンテキスト 
 bitlock 電気錠A ・・・ 3-2. 解消したいのは「分断」。でも「分割」は大切 解決手段

Slide 93

Slide 93 text

93 Copyright © 2023 Bitkey Inc. All right reserved. 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事ユー スケース ・・・ アクセス コントロール ヒト 空間 解錠用 デバイス 設置 ユースケース 設定変更 ユースケース 設置や設定用として 
 デバイスごとにモデルをわけて管理する 
 解錠コンテキスト 設定コンテキスト bitlock 電気錠A ・・・ 「解錠」のためのモデルとし 
 QueryModelとしてデバイスごとの 
 モデルから生成される仕組みとした 
 3-2. 解消したいのは「分断」。でも「分割」は大切 解決手段

Slide 94

Slide 94 text

94 Copyright © 2023 Bitkey Inc. All right reserved. 課題と学び ■ 分割の重要性 ● そもそも分割は良くないものとどこかで思い込んでいた... ● 分割することで責務を明瞭にすることができた ■ モデルの目的を明確に ● よく考えれば「解錠」のためのモデルだったが明確にできていなかった ● チームに背景や意図を丁寧に共有できていなかった ■ チームで対話を ● 機能の開発が必要な範囲とその周辺をなんとなく考慮して実装しており、全 体を対話しながら進める場がなかった 3-2. 解消したいのは「分断」。でも「分割」は大切

Slide 95

Slide 95 text

95 Copyright © 2023 Bitkey Inc. All right reserved. 3-3. 対話からすべてがはじまる

Slide 96

Slide 96 text

96 Copyright © 2023 Bitkey Inc. All right reserved. 3. 対話からすべてがはじまる デバイスの設置 DB 認証認可の部分を プラットフォームで管理 デバイスを利用可能な 状態にする 設置状況はDBで管理 プラットフォーム

Slide 97

Slide 97 text

97 Copyright © 2023 Bitkey Inc. All right reserved. プラットフォーム DB 暗号化の準備 暗号化の準備 3. 対話からすべてがはじまる デバイスの設置

Slide 98

Slide 98 text

98 Copyright © 2023 Bitkey Inc. All right reserved. プラットフォーム DB 暗号化の準備 解錠できるように 鍵穴の登録 暗号化の準備 解錠できるように 鍵穴の登録 3. 対話からすべてがはじまる デバイスの設置

Slide 99

Slide 99 text

99 Copyright © 2023 Bitkey Inc. All right reserved. プラットフォーム DB デバイス識別子の取得 バッテリーの取得 ファームウェアの更新 暗号化の準備 解錠できるように 鍵穴の登録 暗号化の準備 解錠できるように 鍵穴の登録 デバイス識別子の登録 バッテリーの登録 各種設置状況の登録 3. 対話からすべてがはじまる デバイスの設置

Slide 100

Slide 100 text

100 Copyright © 2023 Bitkey Inc. All right reserved. プラットフォーム DB デバイス識別子の取得 バッテリーの取得 ファームウェアの更新 暗号化の準備 解錠できるように 鍵穴の登録 有効化 NFCカードやパスコード 利用の準備 暗号化の準備 解錠できるように 鍵穴の登録 NFCカードやパスコード 利用の準備 デバイス識別子の登録 バッテリーの登録 各種設置状況の登録 3. 対話からすべてがはじまる デバイスの設置

Slide 101

Slide 101 text

101 Copyright © 2023 Bitkey Inc. All right reserved. DB デバイス識別子の取得 バッテリーの取得 ファームウェアの更新 暗号化の準備 解錠できるように 鍵穴の登録 有効化 NFCカードやパスコード 利用の準備 暗号化の準備 解錠できるように 鍵穴の登録 NFCカードやパスコード 利用の準備 デバイス識別子の登録 バッテリーの登録 各種設置状況の登録 3. 対話からすべてがはじまる デバイスの設置 やることいっぱい!

Slide 102

Slide 102 text

102 Copyright © 2023 Bitkey Inc. All right reserved. DB デバイス識別子の取得 バッテリーの取得 ファームウェアの更新 暗号化の準備 解錠できるように 鍵穴の登録 有効化 NFCカードやパスコード 利用の準備 暗号化の準備 解錠できるように 鍵穴の登録 NFCカードやパスコード 利用の準備 デバイス識別子の登録 バッテリーの登録 各種設置状況の登録 3. 対話からすべてがはじまる デバイスの設置 さらにデバイスによっては...

Slide 103

Slide 103 text

103 Copyright © 2023 Bitkey Inc. All right reserved. DB デバイス識別子の取得 バッテリーの取得 ファームウェアの更新 暗号化の準備 解錠できるように 鍵穴の登録 有効化 NFCカードやパスコード 利用の準備 暗号化の準備 解錠できるように 鍵穴の登録 NFCカードやパスコード 利用の準備 デバイス識別子の登録 バッテリーの登録 各種設置状況の登録 親機の登録 子機の登録 親機子機の連動 3. 対話からすべてがはじまる デバイスの設置

Slide 104

Slide 104 text

104 Copyright © 2023 Bitkey Inc. All right reserved. DB デバイス識別子の取得 バッテリーの取得 ファームウェアの更新 暗号化の準備 解錠できるように 鍵穴の登録 有効化 NFCカードやパスコード 利用の準備 暗号化の準備 解錠できるように 鍵穴の登録 NFCカードやパスコード 利用の準備 デバイス識別子の登録 バッテリーの登録 各種設置状況の登録 親機の登録 子機の登録 親機子機の連動 3. 対話からすべてがはじまる デバイスの設置 もっと複雑...

Slide 105

Slide 105 text

105 Copyright © 2023 Bitkey Inc. All right reserved. DB デバイス識別子の取得 バッテリーの取得 ファームウェアの更新 暗号化の準備 解錠できるように 鍵穴の登録 有効化 NFCカードやパスコード 利用の準備 暗号化の準備 解錠できるように 鍵穴の登録 NFCカードやパスコード 利用の準備 デバイス識別子の登録 バッテリーの登録 各種設置状況の登録 親機の登録 子機の登録 親機子機の連動 デバイス
 3. 対話からすべてがはじまる デバイスの設置

Slide 106

Slide 106 text

106 Copyright © 2023 Bitkey Inc. All right reserved. DB デバイス識別子の取得 バッテリーの取得 ファームウェアの更新 暗号化の準備 解錠できるように 鍵穴の登録 有効化 NFCカードやパスコード 利用の準備 暗号化の準備 解錠できるように 鍵穴の登録 NFCカードやパスコード 利用の準備 デバイス識別子の登録 バッテリーの登録 各種設置状況の登録 親機の登録 子機の登録 親機子機の連動 デバイス 3. 対話からすべてがはじまる デバイスの設置 「デバイス」という一つの共通の モデルで表現するのは厳しい...

Slide 107

Slide 107 text

107 Copyright © 2023 Bitkey Inc. All right reserved. 「対話」を大切にする! 結論 3. 対話からすべてがはじまる

Slide 108

Slide 108 text

108 Copyright © 2023 Bitkey Inc. All right reserved. 「対話」の中で生まれた言葉 を大切にする! 結論 3. 対話からすべてがはじまる

Slide 109

Slide 109 text

109 Copyright © 2023 Bitkey Inc. All right reserved. 3. 対話からすべてがはじまる 解決方法 ■ イベントストーミング ● ドメインエキスパートとシステ ムに依らない言葉でフローを整 理 ● 対話の中で生まれた言葉をベー スにモデルを生成 ● 不必要に共通化や抽象化しない ほうが良いモデルを作成できる こともある

Slide 110

Slide 110 text

110 Copyright © 2023 Bitkey Inc. All right reserved. デバイス 
 ないと困る値がないかも... 状態遷移も自由 設置途中かも しれないしれない いろんな可能性がある してはいけない状態に 遷移できてしまう 常に状態を気にしながら 操作しなければならな い... 3. 対話からすべてがはじまる 解決方法

Slide 111

Slide 111 text

111 Copyright © 2023 Bitkey Inc. All right reserved. デバイス 
 状態遷移も自由 設置途中かも しれないしれない いろんな可能性がある 3. 対話からすべてがはじまる 解決方法

Slide 112

Slide 112 text

112 Copyright © 2023 Bitkey Inc. All right reserved. 3. 対話からすべてがはじまる 解決方法

Slide 113

Slide 113 text

113 Copyright © 2023 Bitkey Inc. All right reserved. 3. 対話からすべてがはじまる 解決方法 状態は限定的で明 瞭
 次の遷移先と 
 その条件も明瞭 
 できること保持して いる値も明瞭 


Slide 114

Slide 114 text

114 Copyright © 2023 Bitkey Inc. All right reserved. 課題と学び ■ 対話の中で生まれた言葉や整理の活用 ● 1人、開発者だけの整理はどうしても偏りが生まれやすい ● 職種横断で対話した中で生まれた言葉や整理は認知負荷が低いことが多い ■ できること・できないことをIFで明確にする ● 「なんでもできる」は「なんにもできない」と同義 ● IFで明瞭となっていることで使う的に迷わない ■ 対話の時間 ● 設計や実装してレビュー...といったプロセスよりモブプロ・モブワークのほ うが、より深い議論をすることができるようになる 3. 対話からすべてがはじまる

Slide 115

Slide 115 text

115 Copyright © 2023 Bitkey Inc. All right reserved. 4. まとめ

Slide 116

Slide 116 text

116 Copyright © 2023 Bitkey Inc. All right reserved. 「ソフトウェアアーキテクチャ」の目的 ≠ 良い「設計図」 ソフトウェアアーキテクチャの意義 4. まとめ

Slide 117

Slide 117 text

117 Copyright © 2023 Bitkey Inc. All right reserved. 「ソフトウェアアーキテクチャ」 ≒ 良い「設計図」を継続的にチームで 進化させ続けることができる仕組み ソフトウェアアーキテクチャの意義 4. まとめ

Slide 118

Slide 118 text

118 Copyright © 2023 Bitkey Inc. All right reserved. 留意点 ■ スキル・知識がいらないわけではない ● 前提としてスキルや知識は一定レベルは必要 ● アーキテクトのように秀でた開発者がいることは望ましい ■ その上で大切にしたいこと ● チームで考えて改善ができる状態を大切にしたい ● スキル・知識に依存しすぎずとも、改善のサイクルが実現したい 4. まとめ

Slide 119

Slide 119 text

119 Copyright © 2023 Bitkey Inc. All right reserved. 要因の整理 ■ 改善した要因 ● 抽象度が高く、範囲が広大であったこと ● 設計/モデリングをする人が限定的だった ● 理解度にばらつきが大きかったこと ● 対話が限定的であったこと 4. まとめ

Slide 120

Slide 120 text

120 Copyright © 2023 Bitkey Inc. All right reserved. 要因の整理 ■ 改善した要因 ● 抽象度が高く、範囲が広大であったこと -> イベントストーミングを用いて分割 ● 設計/モデリングをする人が限定的だった -> 分割をした上で、モブプロなどで対話して進める ● 理解度にばらつきが大きかったこと -> イベントストーミングやモブプロといった対話重視のプロセスに ● 対話が限定的であったこと -> イベントストーミングやモブプロといった対話重視のフレームワーク 4. まとめ

Slide 121

Slide 121 text

121 Copyright © 2023 Bitkey Inc. All right reserved. BDD イベスト モブプロ ・進行が難しい ・準備不足だと議論が発散しやすい ・洗い出した観点ごとに  テスト→実装→リファクタ  を繰り返す ・やることが限定されて進行が  非常にスムーズに! ・QAチームもイベストに参加 ・イベスト段階でQA視点も含めて整理 ・イベストの整理内容をもとに振る舞いを定義 ・プロセスが型化され、考慮漏れも低減! ・開発メンバー全員イベストに参加 ・モブプロで議論しながら実装 ・ドメインの知識が深まりナレッジも  チームで共有されるように 相乗効果 3. 「どのような」取り組みしたの? ・「振る舞い」の明確化が大変 ・考慮漏れが発生しやすい ・整理内容の実装への落とし込みが難しい

Slide 122

Slide 122 text

122 Copyright © 2023 Bitkey Inc. All right reserved. 良かったこと ■ 自立性 ● 「型」に則ることで属人性を排除し、チームの自立性が大きく向上した ■ 分割 ● ドメインの分割、モブプロのタスク分割、外部品質内部品質の分割 ● 分割することで関心ごとを限定し、取り組みやすくなった ■ 対話 ● 常に対話できるようになり、属人化が大幅に減少した ● ビジネスサイドとのコミュニケーションも活性化して、よりドメインの理解 を深めた上で取り組めるようになった 4. まとめ

Slide 123

Slide 123 text

123 Copyright © 2023 Bitkey Inc. All right reserved. 「ソフトウェアアーキテクチャ」 に向き合うためのプロセスを整えた! モブプロ x BDD x イベントストーミングの良さ 4. まとめ

Slide 124

Slide 124 text

124 Copyright © 2023 Bitkey Inc. All right reserved. 5. まとめ

Slide 125

Slide 125 text

125 Copyright © 2023 Bitkey Inc. All right reserved. 「ソフトウェアアーキテクチャ」 ≒ 良い「設計図」を継続的にチームで 進化させ続けることができる仕組み 5. まとめ 結論

Slide 126

Slide 126 text

126 Copyright © 2023 Bitkey Inc. All right reserved. モブプロ x BDD x イベントストーミング はいいぞ!! 5. まとめ 結論

Slide 127

Slide 127 text

127 Copyright © 2023 Bitkey Inc. All right reserved. まとめ ■ ソフトウェアアーキテクチャに必要なもの ● チームの進化を導くコンパス ■ モブプロ x BDD x イベントストーミング ● 相乗効果もあり、自立性向上、分割の推進、対話による属人性の排除などを 実現 ● 開発プロセス運営においても良好な結果を得ることができた ● 設計やモデリングのプロセスにおいても対話や型化されたプロセスを経て今 まで以上に取り組みやすい土壌の生成ができた 4. まとめ

Slide 128

Slide 128 text

128 End of File Copyright © 2023 Bitkey Inc. All right reserved.