SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Downloaden Sie, um offline zu lesen
アジャイル時代の
アジャイル時代の
モデリング
モデリング
平鍋健児
チェンジビジョン
平鍋健児
チェンジビジョン
自己紹介
自己紹介
• ㈱永和システムマネジメント
– 福井市(本社)、上野東京(支社)
– Ruby と Agileを使ったシステム開発
• 株式会社チェンジビジョン
– 福井市(開発部)、上野東京(本社)
– astah* (旧:JUDE) の開発
• 平鍋健児
– UML+マインドマップエディタ astah*の開発
– 要求開発アライアンス、 事
– 翻訳、XP関連書籍、『リーン開発の本質』
『IMPACT MAPPING』等多数。
– 著書『アジャイル開発とスクラム』、『要求開発』
『ソフトウェア開発に
つマインドマップ』
Agile と Design
“While code is the truth,
it is not the whole truth.”
-Grady Booch
成長しつづけるが、
一貫した美がある。
Design Upfront ?

NDUF

BDUF
Agile Modeling

• By Scott Ambler
“Let’s keep the modeling baby
but throw out the
bureaucracy bathwater”
– Scott Ambler
なぜモデルを使うのか ?
• 人間はイメージの方が概要をうまく
掴むことができる。
–A picture is worth 1,000 words.
–右脳と左脳
Elephant
どんなモデルが
コードの次に必要か
問題
• 「ビッグピクチャ」の 通
解をつくるために、一番シン
プルな、モデルのセットとは
何か?
“Keeps”
• Architecture

• As Class/Package Diagrams

• Domain Model

• As Class Diagram/ER Diagrams

• Key Use Cases

• 1. As Use Case Diagrams
• 2. As Sequence/Communication
Diagrams
“Temps”

• Casual Modeling

• Ex. As Class+Sequence Diagrams, and others
• “Keeps”の上に乗せる (ツールを使ったり、印刷の上に書いたり)
• ホワイトボード!
“Keeps” (again)
• Architecture

• As Class/Package Diagrams

• Domain Model

• As Class Diagram/ER Diagrams

• Key Use Cases

• 1. As Use Case Diagrams
• 2. As Sequence/Communication
Diagrams
Architecture
• システム全体の構造的な表現
• 大域的な層やTierが表現されることが多く、
クラス図やパッケージ図がよく使われる。
• よく知られたパターンが存在する。
– MVC, Blackboard, Pipes-Filters, Layers

• 「フレームワーク」を使うのもアーキテク
チャ選択の1つ。
Pattern-Oriented Software
Architecture (Vol.1-5)

• By Frank Buschmann et. al
“Architecture”の
責務

依存関係
ドメインモデル
• 問題 域(ドメイン)の概 とそれらの がり
• 人間のコミュニケーション・レベル

– 全ステークホルダーが話す語彙。
– ユーザー、ドメインの専門家、ビジネス分析、開発者

• プログラミング・レベル

– コードを構成する要素(クラス、データ、操作、ファイ
ル、、、、)の「名前づけ」
– それらの多くが永続データ(entity)にマッピングされる。
Domain-Driven Design

• By Eric Evans
• Ubiquitous Language
“Domain Model”の
「寿司」のドメインモデル
Key UseCases
1. ユーザーから たシステムの代表的な使い方
• 誰がユーザーで、何がうれしいか。

2. そのゴールを得るまでのアーキテクチャを貫
通するメカニズム
• シーケンス図やコミュニケーション図によって
かれる、
の れ。
• 開発者には
的な
となる。
“Key UseCases”の
ユーザー(役割)

典型的な使い方

この例だけ
メカニズムがある
“Key UseCases”の (メカニズム)
“Keeps”上に“Temps”を重ねる
Scaling
Scaling

• By Craig Larman + Bas Vodde
“Rather than divide and
conquer, an XP team
conquers and divides”
–Kent Beck
“Model to have a conversation.”
–Craig Larman
and Bas Vodde
他に Keepすべきもの
Others to Keep
• 設計の

(WHY’s)

–意
の
リスト
– なぜこのフレームワークを選んだか。
– なぜこのテクノロジを選んだか。
– なぜこの設計、アーキテクチャなのか。

• テスト

– API as Acceptance Test Interface

• しかし、… 「人」“People” なのだ…
“A lot of design information
lives in tribal memory.”
–Grady Booch
式

(Shikinen-Sengu)
Tips
Tips
• プロジェクタ

– ツールとホワイトボードを組み合わせて

• ふりかえり

– 自分たちのベスト “Keeps” セットをさがせ。

• リバースエンジニアリング

– 現在のコードベースを可視化。

• マインドマップ
ふりかえり
• Keepするモデルは文脈依存する
• やってみてチームで合意。
やってみて
うまく行った
Keep

Try
定着

Problem
うまく行かない

新しい問題!

解決法

新しいアイディア!
ふりかえりがカイゼンを導く
Mindmap Modeling
Impact Mapping
まとめ
• 設計はソフトウェア開発においてこれまでもっとも大事な
部分であるし、アジャイル開発でも、もっとも大事な部分
であり続けている。
• もっともシンプルなモデルセットを選び、それらをメンテ
ナンスする。そして他のものはコードとテストにしてしま
う。
• 自分たちのKeepをさがせ。
• 会話のためにモデルを
• “Divide and Conquer” でなく
“Conquer THEN Divide”
•
式化しにくいアイディアには、マインドマップを
。
Search: InfoQ Kenji
Modeling in the Agile Age - JP

Weitere ähnliche Inhalte

Was ist angesagt?

探索的テスト入門
探索的テスト入門探索的テスト入門
探索的テスト入門
H Iseri
 
Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)
masanori kataoka
 

Was ist angesagt? (20)

「PdMと考えるQAとプロダクトマネジメント」
「PdMと考えるQAとプロダクトマネジメント」「PdMと考えるQAとプロダクトマネジメント」
「PdMと考えるQAとプロダクトマネジメント」
 
アーキテクチャのレビューについて - JaSST Review '18
アーキテクチャのレビューについて - JaSST Review '18アーキテクチャのレビューについて - JaSST Review '18
アーキテクチャのレビューについて - JaSST Review '18
 
アジャイルにモデリングは必要か
アジャイルにモデリングは必要かアジャイルにモデリングは必要か
アジャイルにモデリングは必要か
 
とりあえず30分でひととおり分かった気にはなれるアジャイル入門
とりあえず30分でひととおり分かった気にはなれるアジャイル入門とりあえず30分でひととおり分かった気にはなれるアジャイル入門
とりあえず30分でひととおり分かった気にはなれるアジャイル入門
 
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナーエンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
 
ソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かうソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう
 
社内スタートアップによる組織の成長に伴い発生する痛みとその解決策(スクラム&リーンスタートアップ導入)について #devlove #devlove創
社内スタートアップによる組織の成長に伴い発生する痛みとその解決策(スクラム&リーンスタートアップ導入)について #devlove #devlove創社内スタートアップによる組織の成長に伴い発生する痛みとその解決策(スクラム&リーンスタートアップ導入)について #devlove #devlove創
社内スタートアップによる組織の成長に伴い発生する痛みとその解決策(スクラム&リーンスタートアップ導入)について #devlove #devlove創
 
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
 
What is quality culture? Is it something tasty?
What is quality culture? Is it something tasty?What is quality culture? Is it something tasty?
What is quality culture? Is it something tasty?
 
探索的テスト入門
探索的テスト入門探索的テスト入門
探索的テスト入門
 
アジャイル・スクラム時代のパタン・ランゲージとアレグザンダー理論
アジャイル・スクラム時代のパタン・ランゲージとアレグザンダー理論アジャイル・スクラム時代のパタン・ランゲージとアレグザンダー理論
アジャイル・スクラム時代のパタン・ランゲージとアレグザンダー理論
 
プロダクト開発におけるプロダクトマネージャーの役割とは #‎devsumi‬
プロダクト開発におけるプロダクトマネージャーの役割とは #‎devsumi‬プロダクト開発におけるプロダクトマネージャーの役割とは #‎devsumi‬
プロダクト開発におけるプロダクトマネージャーの役割とは #‎devsumi‬
 
ドメインモデルの育て方
ドメインモデルの育て方ドメインモデルの育て方
ドメインモデルの育て方
 
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
 
スクラム開発について
スクラム開発についてスクラム開発について
スクラム開発について
 
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指してアジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して
 
車載ソフトウェアの品質保証のこれから
車載ソフトウェアの品質保証のこれから車載ソフトウェアの品質保証のこれから
車載ソフトウェアの品質保証のこれから
 
Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)
 
ソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれからソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれから
 
正しいものを正しくつくる
正しいものを正しくつくる正しいものを正しくつくる
正しいものを正しくつくる
 

Andere mochten auch

Andere mochten auch (7)

enterprise agile lean modeling
enterprise agile lean modelingenterprise agile lean modeling
enterprise agile lean modeling
 
React+TypeScriptもいいぞ
React+TypeScriptもいいぞReact+TypeScriptもいいぞ
React+TypeScriptもいいぞ
 
koredake modeling accelerates agile
koredake modeling accelerates agilekoredake modeling accelerates agile
koredake modeling accelerates agile
 
koredake modeling
koredake modelingkoredake modeling
koredake modeling
 
Astah Community スタートガイド
Astah Community スタートガイドAstah Community スタートガイド
Astah Community スタートガイド
 
Astah Plug-ins 作ろう!試そう!プラグイン!
Astah Plug-ins 作ろう!試そう!プラグイン!Astah Plug-ins 作ろう!試そう!プラグイン!
Astah Plug-ins 作ろう!試そう!プラグイン!
 
プログラムの流れを図で表す 方法その1:フローチャート/アクティビティ図
プログラムの流れを図で表す方法その1:フローチャート/アクティビティ図プログラムの流れを図で表す方法その1:フローチャート/アクティビティ図
プログラムの流れを図で表す 方法その1:フローチャート/アクティビティ図
 

Ähnlich wie Modeling in the Agile Age - JP

Ähnlich wie Modeling in the Agile Age - JP (20)

Impact Mapping
Impact MappingImpact Mapping
Impact Mapping
 
Agile and Business
Agile and BusinessAgile and Business
Agile and Business
 
AgileJapan Fukui Satellite
AgileJapan Fukui SatelliteAgileJapan Fukui Satellite
AgileJapan Fukui Satellite
 
Agile and Scrum: Theory of Knowledge Creation and A Real Story
Agile and Scrum: Theory of Knowledge Creation and A Real StoryAgile and Scrum: Theory of Knowledge Creation and A Real Story
Agile and Scrum: Theory of Knowledge Creation and A Real Story
 
Digital Innovation Leadership Panel Discussion
Digital Innovation Leadership Panel DiscussionDigital Innovation Leadership Panel Discussion
Digital Innovation Leadership Panel Discussion
 
Can Agile Really Change Japan's software development
Can Agile Really Change Japan's software developmentCan Agile Really Change Japan's software development
Can Agile Really Change Japan's software development
 
Offshore Agile Development in XP
Offshore Agile Development in XPOffshore Agile Development in XP
Offshore Agile Development in XP
 
Agile Overview In Ono
Agile Overview In OnoAgile Overview In Ono
Agile Overview In Ono
 
Digital Business and Agile
Digital Business and AgileDigital Business and Agile
Digital Business and Agile
 
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~
 
Agile outside Japan
Agile outside JapanAgile outside Japan
Agile outside Japan
 
ソフトウェアだんどり
ソフトウェアだんどりソフトウェアだんどり
ソフトウェアだんどり
 
Agile and TDD Demo
Agile and TDD DemoAgile and TDD Demo
Agile and TDD Demo
 
アジャイルパラレル開発
アジャイルパラレル開発アジャイルパラレル開発
アジャイルパラレル開発
 
ESMのアジャイル開発
ESMのアジャイル開発ESMのアジャイル開発
ESMのアジャイル開発
 
Modeling in the Agile Age and casual astah models
Modeling in the Agile Age and casual astah modelsModeling in the Agile Age and casual astah models
Modeling in the Agile Age and casual astah models
 
World IA Day 2013 Japan Opening
World IA Day 2013 Japan OpeningWorld IA Day 2013 Japan Opening
World IA Day 2013 Japan Opening
 
ウェブサービスの企画とデザイン
ウェブサービスの企画とデザインウェブサービスの企画とデザイン
ウェブサービスの企画とデザイン
 
元ITコンサルタントの目から見た「ITにおける今までのデザインとこれからのデザイン」
元ITコンサルタントの目から見た「ITにおける今までのデザインとこれからのデザイン」元ITコンサルタントの目から見た「ITにおける今までのデザインとこれからのデザイン」
元ITコンサルタントの目から見た「ITにおける今までのデザインとこれからのデザイン」
 
Sustainable Software Development
Sustainable Software DevelopmentSustainable Software Development
Sustainable Software Development
 

Mehr von Kenji Hiranabe

Mehr von Kenji Hiranabe (20)

effective ba for online communication
effective ba for online communication effective ba for online communication
effective ba for online communication
 
線形代数の視覚的理解 V1.1-Gストラング勉強会
線形代数の視覚的理解 V1.1-Gストラング勉強会線形代数の視覚的理解 V1.1-Gストラング勉強会
線形代数の視覚的理解 V1.1-Gストラング勉強会
 
Math in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with ApplicationsMath in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with Applications
 
Scrum-Fest-Sapporo-2021-Keynote-Our-Journey
Scrum-Fest-Sapporo-2021-Keynote-Our-JourneyScrum-Fest-Sapporo-2021-Keynote-Our-Journey
Scrum-Fest-Sapporo-2021-Keynote-Our-Journey
 
Graphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data ScienceGraphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data Science
 
Appreciating Your Way to XP
Appreciating Your Way to XPAppreciating Your Way to XP
Appreciating Your Way to XP
 
Graphic Notes on Introduction to Linear Algebra
Graphic Notes on Introduction to Linear AlgebraGraphic Notes on Introduction to Linear Algebra
Graphic Notes on Introduction to Linear Algebra
 
線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノート線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノート
 
with コロナ時代のアジャイルとコミュニケーション
with コロナ時代のアジャイルとコミュニケーションwith コロナ時代のアジャイルとコミュニケーション
with コロナ時代のアジャイルとコミュニケーション
 
Agile Ba with Covid at Redmine Japan 2020
Agile Ba with Covid at Redmine Japan 2020Agile Ba with Covid at Redmine Japan 2020
Agile Ba with Covid at Redmine Japan 2020
 
ESM Agile Studio DX and COVID
ESM Agile Studio DX and COVIDESM Agile Studio DX and COVID
ESM Agile Studio DX and COVID
 
Agile Ba with Covid
Agile Ba with CovidAgile Ba with Covid
Agile Ba with Covid
 
Essence position talk by hiranabe
Essence position talk by hiranabeEssence position talk by hiranabe
Essence position talk by hiranabe
 
Agile Scrum at Knowledge Forum 2020
Agile Scrum at Knowledge Forum 2020Agile Scrum at Knowledge Forum 2020
Agile Scrum at Knowledge Forum 2020
 
Ba and digital here now ness
Ba and digital here now nessBa and digital here now ness
Ba and digital here now ness
 
Modeling in the Agile Age
Modeling in the Agile Age Modeling in the Agile Age
Modeling in the Agile Age
 
Agile in automotive industry
Agile in automotive industryAgile in automotive industry
Agile in automotive industry
 
Introduction to Agile - how business and engineer team up
Introduction to Agile - how business and engineer team upIntroduction to Agile - how business and engineer team up
Introduction to Agile - how business and engineer team up
 
5-principles-for-project-facilitation
5-principles-for-project-facilitation5-principles-for-project-facilitation
5-principles-for-project-facilitation
 
Nonaka Scrum - The New New Product Development Game, SECI model, The US Marin...
Nonaka Scrum - The New New Product Development Game, SECI model, The US Marin...Nonaka Scrum - The New New Product Development Game, SECI model, The US Marin...
Nonaka Scrum - The New New Product Development Game, SECI model, The US Marin...
 

Modeling in the Agile Age - JP