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
20230323TechDLT-vol9
Search
株式会社レヴィ
March 23, 2023
Technology
0
350
20230323TechDLT-vol9
株式会社レヴィ
March 23, 2023
Tweet
Share
More Decks by 株式会社レヴィ
See All by 株式会社レヴィ
2024-06-25 ソフトウェア設計における思考と学び方を考える 〜増田さんの思考を構造的に見える化してみる〜
levii
4
950
株式会社レヴィ会社紹介
levii
0
200
Sample-se-one-day-training
levii
0
620
SocSys34-Balus
levii
0
74
levii-buzzword-2022
levii
0
350
FIT2022_levii
levii
0
620
20220915modelingLT
levii
4
790
20220910SSDM
levii
0
650
20220629oolt
levii
0
98
Other Decks in Technology
See All in Technology
5分でわかるDuckDB
chanyou0311
10
3.2k
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
250
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
muziyoshiz
3
2.4k
継続的にアウトカムを生み出し ビジネスにつなげる、 戦略と運営に対するタイミーのQUEST(探求)
zigorou
0
590
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
1
170
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
270
多領域インシデントマネジメントへの挑戦:ハードウェアとソフトウェアの融合が生む課題/Challenge to multidisciplinary incident management: Issues created by the fusion of hardware and software
bitkey
PRO
2
110
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
190
バクラクのドキュメント解析技術と実データにおける課題 / layerx-ccc-winter-2024
shimacos
2
1.1k
LINE Developersプロダクト(LIFF/LINE Login)におけるフロントエンド開発
lycorptech_jp
PRO
0
120
Microsoft Azure全冠になってみた ~アレを使い倒した者が試験を制す!?~/Obtained all Microsoft Azure certifications Those who use "that" to the full will win the exam! ?
yuj1osm
2
110
ブラックフライデーで購入したPixel9で、Gemini Nanoを動かしてみた
marchin1989
1
540
Featured
See All Featured
Site-Speed That Sticks
csswizardry
2
190
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Mobile First: as difficult as doing things right
swwweet
222
9k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Typedesign – Prime Four
hannesfritz
40
2.4k
Gamification - CAS2011
davidbonilla
80
5.1k
Docker and Python
trallard
42
3.1k
Transcript
モデルベースな要件定義の実例紹介 2023.03.23 TechD LT Vol.9 miure https://m-miura.jp/
Copyright levii Inc. All rights reserved. 自己紹介 三浦 政司 (みうら
まさし) JAXA宇宙科学研究所 宇宙飛翔工学研究系 准教授 深宇宙探査技術実証機(DESTINY+)プロジェクトチーム 株式会社レヴィ 共同創業者/システムデザイン研究所所長 専門分野 • 制御工学 :分散協調制御、飛翔体誘導制御 • システム工学:システム設計論、システムモデリング • 工学教育 :PBL型工学教育 好きなこと • 蟻コロニーの飼育 • 自転車 • コミック m-miura.jp 2024年打上予定 DESTINY+
発表概要 • システムモデルを活用した効果的な上流設計を実践するための 対話型モデリングを提案し、それを実現するためのツールを開発した。 • 提案手法を地域企業によるシステム開発に適用し、完全にモデルベース な上流設計を実現した。その様子と成果を具体的に紹介する。
背景・目的
システムモデルを用いた仕様記述の利点 • 要素間の関係性を視覚的・直感的に理解できる • 認識齟齬の抑制、スムーズな合意形成 • トレーサビリティ • … image
by Kishorekumar62 (CC BY-SA 3.0)
今回は特に、上流設計におけるシステムモデル利用に着目 実装プロセス 統 合 プ ロ セ ス 設 計
プ ロ セ ス 上流設計 要求分析 アーキテクチャ設計
システムモデルが有効(なはず) 開発者 (設計) ユーザ 開発者 (実装) • 視覚的・直感的な理解 • 認識齟齬の抑制
• スムーズな合意形成 • ▲ ▪
しかし、実業務におけるシステムモデルの活用は… • 仕様書における部分的な補足 • 納品のための後追い作図 など、システムモデルの利点を十分に活かしきれていない場合も多い Q. モデリングの効果はありましたか? 出典:一般社団法人電子情報技術産業協会 ,
「平成27年度ソフトウェアに関する調査報告書Ⅱ」 , 2016年3月 電子情報技術産業協会(JEITA)による調査
システムモデル活用の課題 Q. モデリングでどのような課題があると感じていますか? 出典:一般社団法人電子情報技術産業協会 , 「平成27年度ソフトウェアに関する調査報告書Ⅱ」 , 2016年3月
システムモデル活用の課題 Q. モデリングでどのような課題があると感じていますか? 出典:一般社団法人電子情報技術産業協会 , 「平成27年度ソフトウェアに関する調査報告書Ⅱ」 , 2016年3月
専門的な訓練や高度なツールがなくても システムモデルを活用した効果的な上流設計 を実現するためにはどうすればよいか?
提案:対話型モデリング+そのためのツール
Copyright levii Inc. All rights reserved. 上流設計の難しさ ▪ ただ合意すればよいというものではなく「よい合意」を目指す必要がある ▪
よくない合意の例 ◦ あとから「やっぱり違った」 ◦ 実は納得していなかった、強制的な合意 ◦ 漏れがあった、見逃していた ◦ 粗すぎるところで合意していた(したつもりになっていた) ◦ … ▪ よくない合意が起きる原因 = 合意の難しさ ✖ 合意の対象についてよく分からないまま合意してしまう ✖ 適切でない抽象度で合意してしまう ✖ …
機能 物理 運用 抽象度高 抽象度低 抽象度が高過ぎるとこ ろで合意しても、 認識がずれる 抽象度が低すぎると 合意がとれない
合意には「ちょうどいい抽象度」と「視点の切り分け」が必要 視点を分けて目線を揃えないと議論できない
機能 物理 運用 抽象度高 抽象度低 どのような視点が必要か? どの抽象度で表現するか? 合意には「対話しながらの探索」が必要 対話しながら探索する 必要がある!
提案:対話型モデリング 1. 視点をわける 2. システムモデルで対話する 3. 視点をつなげる 運用 フロー 機能
構造 運用フローを実現する のに必要十分な機能が 挙げられているか? (整合性観点)
提案:対話型モデリング 1. 視点をわける 2. システムモデルで対話する 3. 視点をつなげる 運用 フロー 機能
構造 運用フローを実現する のに必要十分な機能が 挙げられているか? (整合性観点) 対話するための前提 対話しながらシステムモデルを 構築していくことで合意できる 要求・アーキテクチャを探す 対話しながらモデリングを するときの注意点
システムデザインのためのフレームワーク:システミング® • 誰でもシステム思考やシステム工学を上手に実践できることを 目指して構築したシステムデザインのためのフレームワーク • 今回紹介する対話型モデリングが中心となっている 株式会社レヴィのWebサイトにてガイドブックを無料配布中:levii.co.jp
対話型モデリングを実践するためのツール:Balus® • オンラインで対話しながら協働的にモデリング • 簡単な操作で素早くビュー(視点)と システムモデルを作成 • ビューやモデルを手軽に再利用 • 適度な形式ルールによる柔軟なモデリング
• 豊富なコミュニケーション機能 後ほど実践例紹介のところで デモンストレーションします
実践例
事例:株式会社中海テレビ放送によるシステム開発 • 本社:鳥取県米子市 • 鳥取県西部をエリアとするケーブルテレビ局 • 電力小売事業を展開する地域新電力事業者でもある 今回紹介する事例の開発対象システム • 新サービス「オール電化プラン」の
お申込み受付システム • 「誰でも簡単にお申込みができる」 を目指してLINEと連携 • 新プランでどれだけお得になるか、 電気料金をシミュレーション https://www.chukai.co.jp/
開発の流れ 対話型モデリングによる上流設計 • 要求ヒアリング、要求定義 • アーキテクチャ設計 モデルを中心に置いた実装フェーズ • 詳細設計 •
実装 上流設計の成果物としてモデルを納品 リリース・運用 レヴィ 中海テレビ 地域のベンダ 中海テレビ レヴィ モデルで対話 モデルで対話 開発支援
上流設計で構築したモデル
対話型モデリングの様子
Balusの画面を見ながら モデリング結果を紹介します
業務フロー(全体)
業務フロー(特定のシナリオ)
ユースケース
状態遷移
画面コンポーネント
結果
完成したシステムの画面(一部)
完成したシステムの画面(一部)
完成したシステムの画面(一部) 完成したシステムは順調に運用されている
担当者の声 インタビュー回答者: 株式会社中海テレビ放送 営業部営業二課課長 森 龍一さん 「発注する側」も設計に参加して欲しいシステムのあり方を伝えることができまし た。そのおかげで、手戻りらしい手戻りや関係者間の認識違いがほとんどなくて、 計画通りに開発を進めることができました。 いつもは認識を合わせるためにドキュメントをたくさん書くことが多いのですが、
今回はその手間が減りました。いつもと違って「1件のプロジェクトにかかりっきり になっている」という状態になりませんでした。 それだけ効率的に進めることができたということですね。
担当者の声 いつもは運用を開始してからたくさんの質問や要望が来て業務負荷になることも あるのですが、今回はほとんどありません。 システムの運用に関わるたくさんのメンバーが設計に口出しできたことが良かっ たのかなと思っています。ドキュメントだけだと設計に関する会話に参加できませ んからね。 時間が経ってからでも設計の意図が分かるというところがいいですね。私も一緒 につくった図なので、後から見ても設計の意図や意思決定の理由が分かります。 機能追加などを行う際に役に立ちそうです。 インタビュー結果については
https://levii.co.jp/cases/21/ に詳しく掲載しています
実践例のまとめ • 中海テレビさんによる新サービス申込み受付システムの開発において Balusを用いた対話型モデリングを実践した。 • 納品物がモデルのみという形の完全にモデルベースな上流設計を実現した。 • 実装フェーズにおいても、モデルを中心にしたコミュニケーションによって ベンダ/ユーザが認識を合わせたり、機能や運用を検証したりした。 •
対話型モデリングにより次のような効果が得られた ▪ 特別な訓練を受けたわけではないユーザが設計に参加することができた ▪ ユーザ目線の意見を確実に取り入れ、手戻りのない開発を実現した ▪ ドキュメントを記述する手間が減り、効率的な開発を実現した ▪ 設計意図を理解することのできるモデルが資産として残った (後続の開発や新機能追加などの際に活用できる)
おわりに
まとめと今後の取り組み まとめ • 上流設計においては抽象度や視点を探りながら認識を合わせて合意を 得る必要があり、システムモデルの活用が有効である。 • システムモデルを活用した効果的な上流設計を実現するための方法として 対話型モデリングを提案し、それを実践するためのツールを開発した。 • 提案手法とツールを実際のプロジェクトに適用することで、期待される
効果を得ることができた(「実践例のまとめ」に記載) 今後の取り組み ▪ 実践結果を一般化し、提案手法やツールをより洗練させる ▪ 課題抽出フェーズへの拡張 ▪ 宇宙システム、組織システム、事業システムなど様々なドメインへの適用
お気軽にお声がけ下さい ▪https://levii.co.jp/ にて各種資料配布中 株式会社レヴィ ▪SNS、メールニュースなどで情報発信中 https://levii.co.jp/mailnews/ @levii_sdl @levii.inc ISECON2021最優秀賞!
システム開発体験ゲーム