Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
“共通化”で失敗したモデリング実例 / Modeling examples of failur...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
株式会社ビットキー / Bitkey Inc.
PRO
August 13, 2024
Technology
3
380
“共通化”で失敗したモデリング実例 / Modeling examples of failures due to "commonization
登壇者名:佐藤 拓人
壇したイベントタイトル:モデリングの実践と苦悩
登壇したイベントのURL:
https://sansan.connpass.com/event/324542/
株式会社ビットキー / Bitkey Inc.
PRO
August 13, 2024
Tweet
Share
More Decks by 株式会社ビットキー / Bitkey Inc.
See All by 株式会社ビットキー / Bitkey Inc.
多品種デバイス展開におけるファームウェア開発戦略の再構築 / Refactoring Firmware Strategy for Multi-Device Deployment
bitkey
PRO
0
52
マルチメディアもいけるぞ AWS Lambda / AWS Lambda Handles Multimedia Too
bitkey
PRO
0
120
【開発を止めるな】機能追加と並行して進めるアーキテクチャ改善/Keep Shipping: Architecture Improvements Without Pausing Dev
bitkey
PRO
1
310
“決まらない”NSM設計への処方箋 〜ビットキーにおける現実的な指標デザイン事例〜 / A Prescription for "Stuck" NSM Design: Bitkey’s Practical Case Study
bitkey
PRO
1
990
AI時代の戦略的アーキテクチャ 〜Adaptable AI をアーキテクチャで実現する〜 / Enabling Adaptable AI Through Strategic Architecture
bitkey
PRO
17
18k
Dev Containers と Skaffold で実現する クラウドネイティブ開発環境 ローカルのみという制約に挑む / Cloud-Native Development with Dev Containers and Skaffold: Tackling the Local-Only Constraint
bitkey
PRO
0
350
待つ、歩く、そして祈る -モバイルアプリの厄介なテスト奮闘記-/Wait, Walk, and Pray -The Troublesome Struggle of Mobile App Testing-
bitkey
PRO
1
140
見栄えと使いやすさの先にある 特別感 をデザインする / Designing a Sense of Specialness Beyond Aesthetics and Usability
bitkey
PRO
0
280
フレームワーク探しはもう終わり! チームに「ジャストフィット」するワークショップの作り方 / No More Framework Searching: How to Build a 'Just-Fit' Workshop for Your Team
bitkey
PRO
0
160
Other Decks in Technology
See All in Technology
生成AIで速度と品質を両立する、QAエンジニア・開発者連携のAI協調型テストプロセス
shota_kusaba
0
150
形式手法特論:SMT ソルバで解く認可ポリシの静的解析 #kernelvm / Kernel VM Study Tsukuba No3
ytaka23
1
230
OCI技術資料 : コンピュート・サービス 概要
ocise
4
54k
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
2
13k
銀行の内製開発にて2つのプロダクトを1つのチームでスクラムしてみてる話
koba1210
1
140
複数クラスタ運用と検索の高度化:ビズリーチにおけるElastic活用事例 / ElasticON Tokyo2026
visional_engineering_and_design
0
170
AWSの資格って役に立つの?
tk3fftk
2
360
CyberAgentの生成AI戦略 〜変わるものと変わらないもの〜
katayan
0
250
JAWSDAYS2026_A-6_現場SEが語る 回せるセキュリティ運用~設計で可視化、AIで加速する「楽に回る」運用設計のコツ~
shoki_hata
0
3k
品質を経営にどう語るか #jassttokyo / Communicating the Strategic Value of Quality to Executive Leadership
kyonmm
PRO
1
310
2026-03-11 JAWS-UG 茨城 #12 改めてALBを便利に使う
masasuzu
2
400
マルチアカウント環境でSecurity Hubの運用!導入の苦労とポイント / JAWS DAYS 2026
genda
0
830
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
141
7.4k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
470
How to train your dragon (web standard)
notwaldorf
97
6.6k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
980
Building the Perfect Custom Keyboard
takai
2
710
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
Music & Morning Musume
bryan
47
7.1k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.9k
RailsConf 2023
tenderlove
30
1.4k
Docker and Python
trallard
47
3.8k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
63
51k
Transcript
Copyright © 2023 Bitkey Inc. All right reserved. “共通化”で失敗したモデリング実例 株式会社ビットキー 佐藤
拓人 2024/08/07
2 Copyright © 2023 Bitkey Inc. All right reserved. 自己紹介
佐藤 拓人 Sato Takuto 2015.04 2019.05 2020.01 大学(建築学専攻)卒業後、 株式会社ワークスアプリケーションズに入社 会計システムのソフトウェア開発を担当 特に財務会計の仕訳関連 ビットキーへ参画 ECサイトの開発 / 保守、社内システムの開発 TaKuTyの開発 今のHome事業の前身となるResidenceチームに配属 bitlockを扱う管理画面やバックエンド、appの開発に 従事 Now Homeプロダクトの開発責任者 複雑な事象を読み解いて構造化し、抽象化 / 汎用化で きるように設計し、低コストで多くの価値をだせる開 発をすることを好む
3 Copyright © 2023 Bitkey Inc. All right reserved. 自己紹介
佐藤 拓人 Sato Takuto
4 Copyright © 2023 Bitkey Inc. All right reserved. 自己紹介
佐藤 拓人 Sato Takuto
5 Copyright © 2023 Bitkey Inc. All right reserved. Outline
1. はじめに 2. プロダクトの状況 3. 概念的な抽象化 4. 実装への落とし込み 5. 落とし穴
6 Copyright © 2023 Bitkey Inc. All right reserved. 1.
はじめに
7 Copyright © 2023 Bitkey Inc. All right reserved. ▪
モデリングとは? - 現実を模倣して単純化したもの - 単純化のために、情報を取捨選択して削ぎ落とす ▪ 目的・メリット - 単純化するため、実装しやすくなる - 単純化するため、変更しやすくなる - 単純化した結果共通項が明確になり共通化しやすくなる ▪ 例:地図 1. はじめに モデリングとは?
8 Copyright © 2023 Bitkey Inc. All right reserved. ▪
モデリングとは? - 現実を模倣して単純化したもの - 単純化のために、情報を取捨選択して削ぎ落とす ▪ 目的・メリット - 単純化するため、実装しやすくなる - 単純化するため、変更しやすくなる - 単純化した結果共通項が明確になり共通化しやすくなる ▪ 例 1. はじめに モデリングとは? 目的を見誤ってしまった 失敗談について話します
9 Copyright © 2023 Bitkey Inc. All right reserved. 2.
プロダクトの状況
Connect Everything テクノロジーの⼒であらゆるものを 安全で 便利で 気持ちよく「つなげる」 Bitkey Recruiting Book ©
Bitkey inc All rights reserved. Our Mission
私たちは⼀⽇の中で⼀体、 いくつかのアプリや認証を使い分けているのだろう? 週末を楽しむ ⾃宅 移動 ジム オフィスで働く ⼊退室 社員証 交通
IC 専⽤ アプリ ⾞の鍵 家の鍵 予約 番号 QR コード What we do
ビットキーが⽬指すのは、煩わしい⼿続きから解放された体験 「分断」をコネクトしていくことで、毎⽇の体験を彩っていきます 週末を楽しむ ⾃宅 移動 ジム オフィスで働く ⼊退室 社員証 交通
IC 専⽤ アプリ ⾞の鍵 家の鍵 予約 番号 QR コード What we do
デジタル間の体験の分断 インターネットの登場やアプリ開発が⼿軽になったことで、⽣活の利便性は 向上しました。⼀⽅で、デジタルサービスが増えるほどに、沢⼭のスマホア プリやWebサービス、SaaSツールなどを使い分ける⼿間も発⽣。毎回のアカ ウント登録、個⼈情報の⼊⼒、各アプリへの情報の⼆重登録などの⼿間か ら、やがて存在を忘れ、使わなくなるサービスもあるはずです。私達はここ に「デジタル間の体験の分断」課題があると捉えています。 リアルとデジタル間の体験の分断 デジタルで⽣活の利便性が向上する⼀⽅で、⽇常⽣活にはデジタルだけで完 結しない場⾯も多数あります。例えば、私達は24時間いつでも、ECサイトで
買い物したり、宿泊予約が可能になりました。しかし、荷物の受け取りは未 だに対⾯することが⼀般的です。このように、デジタルは便利なのに、リア ル体験ではシームレスさが途切れてしまいます。私達はここに「リアルとデ ジタル間の体験の分断」課題があると捉えています。 私たちが解決するのは 体験の「分断」です。
デジタル間の体験の分断 インターネットの登場やアプリ開発が⼿軽になったことで、⽣活の利便性は 向上しました。⼀⽅で、デジタルサービスが増えるほどに、沢⼭のスマホア プリやWebサービス、SaaSツールなどを使い分ける⼿間も発⽣。毎回のアカ ウント登録、個⼈情報の⼊⼒、各アプリへの情報の⼆重登録などの⼿間か ら、やがて存在を忘れ、使わなくなるサービスもあるはずです。私達はここ に「デジタル間の体験の分断」課題があると捉えています。 リアルとデジタル間の体験の分断 デジタルで⽣活の利便性が向上する⼀⽅で、⽇常⽣活にはデジタルだけで完 結しない場⾯も多数あります。例えば、私達は24時間いつでも、ECサイトで
買い物したり、宿泊予約が可能になりました。しかし、荷物の受け取りは未 だに対⾯することが⼀般的です。このように、デジタルは便利なのに、リア ル体験ではシームレスさが途切れてしまいます。私達はここに「リアルとデ ジタル間の体験の分断」課題があると捉えています。 私たちが解決するのは 体験の「分断」です。 でも リソースは少ない...
デジタル間の体験の分断 インターネットの登場やアプリ開発が⼿軽になったことで、⽣活の利便性は 向上しました。⼀⽅で、デジタルサービスが増えるほどに、沢⼭のスマホア プリやWebサービス、SaaSツールなどを使い分ける⼿間も発⽣。毎回のアカ ウント登録、個⼈情報の⼊⼒、各アプリへの情報の⼆重登録などの⼿間か ら、やがて存在を忘れ、使わなくなるサービスもあるはずです。私達はここ に「デジタル間の体験の分断」課題があると捉えています。 リアルとデジタル間の体験の分断 デジタルで⽣活の利便性が向上する⼀⽅で、⽇常⽣活にはデジタルだけで完 結しない場⾯も多数あります。例えば、私達は24時間いつでも、ECサイトで
買い物したり、宿泊予約が可能になりました。しかし、荷物の受け取りは未 だに対⾯することが⼀般的です。このように、デジタルは便利なのに、リア ル体験ではシームレスさが途切れてしまいます。私達はここに「リアルとデ ジタル間の体験の分断」課題があると捉えています。 私たちが解決するのは 体験の「分断」です。 汎用的な機能を組み合わせ 多くのソリューションを提供
デジタル間の体験の分断 インターネットの登場やアプリ開発が⼿軽になったことで、⽣活の利便性は 向上しました。⼀⽅で、デジタルサービスが増えるほどに、沢⼭のスマホア プリやWebサービス、SaaSツールなどを使い分ける⼿間も発⽣。毎回のアカ ウント登録、個⼈情報の⼊⼒、各アプリへの情報の⼆重登録などの⼿間か ら、やがて存在を忘れ、使わなくなるサービスもあるはずです。私達はここ に「デジタル間の体験の分断」課題があると捉えています。 リアルとデジタル間の体験の分断 デジタルで⽣活の利便性が向上する⼀⽅で、⽇常⽣活にはデジタルだけで完 結しない場⾯も多数あります。例えば、私達は24時間いつでも、ECサイトで
買い物したり、宿泊予約が可能になりました。しかし、荷物の受け取りは未 だに対⾯することが⼀般的です。このように、デジタルは便利なのに、リア ル体験ではシームレスさが途切れてしまいます。私達はここに「リアルとデ ジタル間の体験の分断」課題があると捉えています。 私たちが解決するのは 体験の「分断」です。 「汎用化」「共通化」を重視
17 Copyright © 2023 Bitkey Inc. All right reserved. 2.
プロダクトの状況 なにをしたか? 解錠できる オートロックの設定ができる 解錠施錠ログを見ることができる
18 Copyright © 2023 Bitkey Inc. All right reserved. 2.
プロダクトの状況 なにをしたか?
19 Copyright © 2023 Bitkey Inc. All right reserved. 2.
プロダクトの状況 なにをしたか?
20 Copyright © 2023 Bitkey Inc. All right reserved. 2.
プロダクトの状況 なにをしたか?
21 Copyright © 2023 Bitkey Inc. All right reserved. 2.
プロダクトの状況 なにをしたか?
22 Copyright © 2023 Bitkey Inc. All right reserved. 2.
プロダクトの状況 なにをしたか?
23 Copyright © 2023 Bitkey Inc. All right reserved. 2.
プロダクトの状況 どのように実現したか bitlock MINI bitreader+ bitlink homehub Entrance 電子錠A ・・・
24 Copyright © 2023 Bitkey Inc. All right reserved. 2.
プロダクトの状況 どのように実現したか bitlock MINI bitreader+ bitlink homehub Entrance 電子錠A 社員 入居者 入居者家族 設置業者 仲介業者 ・・・ ・・・ アプリ解錠 手ぶら解錠 パスコード NFCカード 顔認証 ・・・
25 Copyright © 2023 Bitkey Inc. All right reserved. 2.
プロダクトの状況 どのように実現したか bitlock MINI bitreader+ bitlink homehub Entrance 電子錠A 社員 入居者 入居者家族 設置業者 仲介業者 ・・・ ・・・ アプリ解錠 手ぶら解錠 パスコード NFCカード 顔認証 ・・・
26 Copyright © 2023 Bitkey Inc. All right reserved. 2.
プロダクトの状況 どのように実現したか bitlock MINI bitreader+ bitlink homehub Entrance 電子錠A 社員 入居者 入居者家族 設置業者 仲介業者 ・・・ ・・・ アプリ解錠 手ぶら解錠 パスコード NFCカード 顔認証 ・・・ 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事 ユースケース ・・・
27 Copyright © 2023 Bitkey Inc. All right reserved. 2.
プロダクトの状況 どのように実現したか bitlock MINI bitreader+ bitlink homehub Entrance 電子錠A 社員 入居者 入居者家族 設置業者 仲介業者 ・・・ ・・・ アプリ解錠 手ぶら解錠 パスコード NFCカード 顔認証 ・・・ 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事 ユースケース ・・・ 解錠するヒト、デバイス、解錠方法 …の組み合わせで制御が必要 ユースケースに制御が集中して 実装が大変...
28 Copyright © 2023 Bitkey Inc. All right reserved. 3.
概念的な抽象化
29 Copyright © 2023 Bitkey Inc. All right reserved. 3.
概念的な抽象化 アクセスコントロール 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事 ユースケース ・・・ アクセス コントロール ヒト 空間 デバイス 「誰がいつどこに何で解錠できるか」と いう観点で抽象化し、統一的に管理
30 Copyright © 2023 Bitkey Inc. All right reserved. 3.
概念的な抽象化 アクセスコントロール 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事 ユースケース ・・・ アクセス コントロール ヒト 空間 デバイス 〇〇さんに△△にアクセス できるようにして欲しい ▢▢を使ってにアクセスして!
31 Copyright © 2023 Bitkey Inc. All right reserved. 3.
概念的な抽象化 アクセスコントロール 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事 ユースケース ・・・ アクセス コントロール ヒト 空間 デバイス △△にアクセス できるのが誰か教えて 〇〇さんと〇〇さんだよ
32 Copyright © 2023 Bitkey Inc. All right reserved. 3.
概念的な抽象化 アクセスコントロール 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事 ユースケース ・・・ アクセス コントロール ヒト 空間 デバイス 解錠に関する制御を管理しやすいように 抽象化したモデルを用意する
33 Copyright © 2023 Bitkey Inc. All right reserved. 3.
概念的な抽象化 アクセスコントロール 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事 ユースケース ・・・ アクセス コントロール ヒト 空間 デバイス いろんなデバイスを 統一的に管理するために機能役割を整理 - LockDevice:解錠にまつわる機能、実際にドアを解錠すことができる - AuthDevice:認証にまつわる機能、 NFCカードや顔、パスコードで解錠できるか のチェックをし、解錠可能であれば解錠デバイスに解錠コマンドを投げる - LinkDevice:デバイスをネットワークとつなげ、コマンドを実行する - StrageDevice:ロッカーなどものを格納する機能をもつデバイス
34 Copyright © 2023 Bitkey Inc. All right reserved. ▪
「アクセスコントロール」という概念の創出 - 「誰がいつどこに何で解錠できるか」という観点で抽象化し、統一的に管理する - 「ヒト」「空間」「モノ(デバイス)」「解錠手段」ごとにモデルを統一 ▪ 「モノ(デバイス)」のモデル整理 - 「誰がいつどこに何で解錠できるか」という観点で抽象化し、機能役割を定義 - LockDevice:解錠にまつわる機能を持つデバイス、実際にドアを解錠すことができる - AuthDevice:認証にまつわる機能を持つデバイス、 NFCカードや顔、パスコードで解錠できるかの チェックをし、解錠可能であれば解錠デバイスに解錠コマンドを投げる - LinkDevice:デバイスをネットワークとつなげ、デバイスに対してコマンドを実行する - StrageDevice:ロッカーなどものを格納する機能をもつデバイス 3. 概念的な抽象化 アクセスコントロール
35 Copyright © 2023 Bitkey Inc. All right reserved. 4.
実装への反映
36 Copyright © 2023 Bitkey Inc. All right reserved. 4.
実装への反映 アクセスコントロール 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事 ユースケース ・・・ アクセス コントロール ヒト 空間 デバイス 汎用的な粒度のモデルで実装 EntityやDBなど
37 Copyright © 2023 Bitkey Inc. All right reserved. 5.
落とし穴
38 Copyright © 2023 Bitkey Inc. All right reserved. 5.
落とし穴 アクセスコントロール 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事ユー スケース ・・・ アクセス コントロール ヒト 空間 デバイス 設置 ユースケース 設定変更 ユースケース 設置や設定など「解錠」以外の ユースケースもある
39 Copyright © 2023 Bitkey Inc. All right reserved. 5.
落とし穴 アクセスコントロール 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事ユー スケース ・・・ アクセス コントロール ヒト 空間 デバイス 設置 ユースケース 設定変更 ユースケース 設置や設定などのユースケースでも 同じモデルを使っていた
40 Copyright © 2023 Bitkey Inc. All right reserved. 5.
落とし穴 アクセスコントロール 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事ユー スケース ・・・ アクセス コントロール ヒト 空間 デバイス 設置 ユースケース 設定変更 ユースケース 設置や設定などのユースケースでも 同じモデルを使っていた いろんなデバイスの固有値が まとめられて使いづらい...
41 Copyright © 2023 Bitkey Inc. All right reserved. 5.
落とし穴 アクセスコントロール 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事ユー スケース ・・・ アクセス コントロール ヒト 空間 デバイス 設置 ユースケース 設定変更 ユースケース 設置や設定などのユースケースでも 同じモデルを使っていた いろんなデバイスの固有値が まとめられて使いづらい ... あれ?扱いづらいな... なんでだろう...?
42 Copyright © 2023 Bitkey Inc. All right reserved. ▪
モデルの目的でない役割をもたせた - もともと「解錠」をベースに整理したモデルであった - 「解錠」以外のユースケースがあるのに同じモデルを使いまわしてしまっていた - 「解錠」と関係ないデバイスごとの設定値などを含めてしまい扱いづらくなった ▪ ビジネスフェーズの変遷 - 初期は「解錠」以外は広く浅い機能が多くデバイスの種類も今ほど多くなかったので、同じモデルを使い まわしても問題となりづらかった - 徐々に作り込む機能が増え取り扱うデバイスの種類も増え、「解錠」以外のユースケースで実装が煩雑 なるようになった - 初期はリリースの速度の重要性が高かったので、同じモデルを利用する選択を間違っていなかったので はと考えています - 一方でビジネスフェーズの変遷に伴い戦い方を変更できなかった点は改善すべきと考えてます 5. 落とし穴 問題
43 Copyright © 2023 Bitkey Inc. All right reserved. ▪
モデルの目的でない役割をもたせた - もともと「解錠」をベースに整理したモデルであった - 「解錠」以外のユースケースがあるのに同じモデルを使いまわしてしまっていた - 「解錠」と関係ないデバイスごとの設定値などを含めてしまい扱いづらくなった ▪ ビジネスフェーズの変遷 - 初期は「解錠」以外は広く浅い機能が多くデバイスの種類も今ほど多くなかったので、同じモデルを使い まわしても問題となりづらかった - 徐々に作り込む機能が増え取り扱うデバイスの種類も増え、「解錠」以外のユースケースで実装が煩雑 なるようになった - 初期はリリースの速度の重要性が高かったので、同じモデルを利用する選択を間違っていなかったので はと考えています - 一方でビジネスフェーズの変遷に伴い戦い方を変更できなかった点は改善すべきと考えてます 5. 落とし穴 問題 目的が異なるものを安易に混ぜない ビジネスの変遷に伴って戦略を変えるべき
44 Copyright © 2023 Bitkey Inc. All right reserved. 5.
落とし穴 入居契約 ユースケース 内見予約 ユースケース 従業員権限付与 ユースケース 原状回復工事ユー スケース ・・・ アクセス コントロール ヒト 空間 解錠用 デバイス 設置 ユースケース 設定変更 ユースケース 設置や設定用として デバイスごとにモデルをわけて管理する 解錠コンテキスト 設定コンテキスト bitlock 電気錠A ・・・
45 Copyright © 2023 Bitkey Inc. All right reserved. ▪
目的を整理する - 「解錠」に関するユースケースは変数が多く散乱しまうので「統一」的に対応したい - 「設定」「設置」に関しては、デバイスごとの固有値に対して「個別」に対応したい ▪ 目的が同じものを無理に統一しない - 同じデバイスであっても、「解錠」「設定」とでは求められる機能が異なる - モデルやデータベースを分けるや IFを別にするなどの対応ができてよかった ▪ 定期的に見直す - ビジネスの状況が変われば戦い方も変わるので、良かったものが適切でなくなることもある - 経験を積むことで今までなかった観点が選られることもある ※ もともとデバイスの中で「解錠」「設定」とで大きくモデルを分ける構想などなかった ... 5. 落とし穴 まとめ
46 End of File Copyright © 2023 Bitkey Inc. All
right reserved.