58
Disciplined Agile Delivery DAD本”の歩き方 ゼンアーキテクツ 大勝 DevLOVE #134

"DAD本"の歩き方 - DevLOVE #134

Embed Size (px)

DESCRIPTION

DAD(ディシプリンド・アジャイル・デリバリー)のテーマである「エンタープライズ・アジャイル」と「過去の知見を生かす」に焦点を当て、立ち読みしても分からない書籍の見どころを柔らかくお伝えする。

Citation preview

Page 1: "DAD本"の歩き方 - DevLOVE #134

Disciplined Agile Delivery

“DAD本”の歩き方

ゼンアーキテクツ 岡 大勝

DevLOVE #134

Page 2: "DAD本"の歩き方 - DevLOVE #134

岡 大勝 / Hiromasa Oka

1994ハートの情シス

1996日本DEC

2000日本HP

2002日本ラショナルソフトウェア

2003独立してSPEI

2013 株式会社ゼンアーキテクツ

一貫しているのは「エンタープライズ」

@OkaHiromasa

facebook.com/hiromasa.oka

Page 3: "DAD本"の歩き方 - DevLOVE #134

どんな本

• 228 x 182 x 30 mm

448 pages

896 g

• Scott W.Ambler

Mark Lines 著

• 藤井智弘 with

DAD翻訳チーム訳

http://books.shoeisha.co.jp/book/b114533.html

Page 4: "DAD本"の歩き方 - DevLOVE #134

DAD(ダッド)とは

• Scott W.AmblerとMark Linesによって編纂されたアジャイル開発プロセス

• アジャイルをエンタープライズ開発に

「定着」させる• IT産業のこれまで積み上げてきた

「知」を活かす

Page 5: "DAD本"の歩き方 - DevLOVE #134

本書のメッセージ

• 変なこだわりは不要。コンテキストに合った

“ちょうどいい”進め方をしようぜ。

• エンタープライズの歴史は長い。

先人の知恵を、うまく使っていこう。

• そう、アジャイルの現実を直視して。

それを実現するプラットフォームとしてDADは作られた

Page 6: "DAD本"の歩き方 - DevLOVE #134

アジャイルの現実

• Positive

–思った以上にエンタープライズで利用されている

–思った以上にプロジェクトが成功している

• Negative

– “ウォーター・スクラム・フォール”の蔓延

–ガバナンスや組織から目を逸らす

–流儀に固執し、“古い”ものを否定する

–ベンダーやアウトソーサーの怠慢

Page 7: "DAD本"の歩き方 - DevLOVE #134

Context

Page 8: "DAD本"の歩き方 - DevLOVE #134

Project Context

プロジェクトの...

–目的

–対象

–環境

–技術

–組織

–チーム

–経験

– etc…

同じContextは、存在しない

Page 9: "DAD本"の歩き方 - DevLOVE #134

Why DAD

Enterprise Agile

Project Context

Page 10: "DAD本"の歩き方 - DevLOVE #134

Enterprise Contextのイメージ

Waterfall

予算・期間利害関係者

組織 標準・規約

ROI

企業戦略

既存システム

計画

Page 11: "DAD本"の歩き方 - DevLOVE #134

Agile Contextのイメージ

コラボレーション

価値Agility

顧客満足

動くソフトウェア

シンプルさ

自己組織的なチーム

変化への対応

Page 12: "DAD本"の歩き方 - DevLOVE #134

Why DAD

Enterprise Agile

Enterprise Project Context

Page 13: "DAD本"の歩き方 - DevLOVE #134

Why DAD

Enterprise Agile

Gap

Page 14: "DAD本"の歩き方 - DevLOVE #134

Why DAD

Enterprise Agile

DAD?

Page 15: "DAD本"の歩き方 - DevLOVE #134

Why DAD

Enterprise Agile

Page 16: "DAD本"の歩き方 - DevLOVE #134

Why DAD

Enterprise

Agile

Enterpriseの真ん中に、Agileを持ってこよう

Page 17: "DAD本"の歩き方 - DevLOVE #134

“伝統的”なエンタープライズ開発

Waterfall?

Page 18: "DAD本"の歩き方 - DevLOVE #134

“伝統的”なエンタープライズ開発

Waterfall

Page 19: "DAD本"の歩き方 - DevLOVE #134

“伝統的”なエンタープライズ開発

Artifact-Driven

“成果物駆動”

Waterfall

Page 20: "DAD本"の歩き方 - DevLOVE #134

その結果、生まれた行動様式

Big XXX Up-Front

“最初にしっかりXXする”

BxUF

Page 21: "DAD本"の歩き方 - DevLOVE #134

BxUFの活用例

• BRUF : Big “Requirements” Up-Front

–最初にしっかり要求定義

• BDUF : Big “Design” Up-Front

–最初にしっかり設計書作成

• 他にも、

– BMUF : 最初にみっちりモデリング

– BEUF : 最初に精緻にお見積もり

Page 22: "DAD本"の歩き方 - DevLOVE #134

成果物駆動の活動

ゲート(ルールの強要、違反の発見)

Page 23: "DAD本"の歩き方 - DevLOVE #134

“アジャイル”な開発とは

Agility?

Page 24: "DAD本"の歩き方 - DevLOVE #134

“アジャイル”な開発とは

Agility?

Page 25: "DAD本"の歩き方 - DevLOVE #134

“アジャイル”な開発とは

JIT

Agiilty?

Page 26: "DAD本"の歩き方 - DevLOVE #134

“アジャイル”な開発とは

Just-In-Time“必要なときに必要なものを”

Page 27: "DAD本"の歩き方 - DevLOVE #134

JITの活動

要求仕様の明確化

実装

要求データ設計

受入テスト

UI設計 実装テスト

データ作成

要求 実装受入テスト

要求業務

モデリング

受入テスト

タスク自体を必要なときに実施

Page 28: "DAD本"の歩き方 - DevLOVE #134

Enterprise Agile

JIT

Page 29: "DAD本"の歩き方 - DevLOVE #134

Enterprise Agile

JIT

予算・期間利害関係者

組織 標準・規約

ROI

企業戦略

既存システム

計画

Page 30: "DAD本"の歩き方 - DevLOVE #134

NJIY

つまり、

Page 31: "DAD本"の歩き方 - DevLOVE #134

「なんや、JITでいけるやん」

Page 32: "DAD本"の歩き方 - DevLOVE #134

世代が変わった

• エンタープライズで成果物駆動は、既に「オーバースペック」

• テクノロジー– OSS、Web技術、クラウド

– 実際に書くコード量の減少

• ツール

• プラクティス

• プロセス

Page 33: "DAD本"の歩き方 - DevLOVE #134

とはいえ、ギャップはある

• いわゆる「お見積もり」

• 多くの利害関係者

• 規制、ルール

• 既存システム

• 人と組織

JITとの乖離をどう埋めるか

Page 34: "DAD本"の歩き方 - DevLOVE #134

Rhythm

Page 35: "DAD本"の歩き方 - DevLOVE #134

3Cリズム

Page 36: "DAD本"の歩き方 - DevLOVE #134

アジャイルの3Cリズム

• Coordinate: 調整(見通しを立てる)

• Collaborate : 協調(手を動かす)

• Conclude : 完成(整える)

Conclude完成

Collabolate協調

Coordinate調整

Page 37: "DAD本"の歩き方 - DevLOVE #134

スクラム

Page 38: "DAD本"の歩き方 - DevLOVE #134

スクラムの3Cリズム

Concludeインクリメントの

コミット

Collabolate1日の作業

Coordinateデイリースクラムミーティング

デイリーリズム

Conclude完了、

スプリントレビュー、スプリント

レトロスペクティブ

Collabolateスプリント

Coordinateスプリント計画ミーティング

イテレーションリズム

Page 39: "DAD本"の歩き方 - DevLOVE #134

DAD

Page 40: "DAD本"の歩き方 - DevLOVE #134

DADの3Cリズム

Concludeインクリメントの

コミット

Collabolate1日の作業

Coordinate日次調整ミーティング

デイリーリズム

Conclude完了、

イテレーションレビュー、ふりかえり

Collabolateイテレーション

Coordinateイテレーション計画セッション

イテレーションリズム

Concludeソリューションのデプロイ、

運用開始、拡張要求のフィードバック、利害関係者の喜ぶ顔

Collabolate構築フェーズ

Coordinate方向付けフェーズ

リリースリズム

Page 41: "DAD本"の歩き方 - DevLOVE #134

方向付けフェーズ

• JITとエンタープライズのギャップを埋める

• プロジェクト全体の「見通しを立てる」

• 大まかなスコープ

• アーキテクチャーの指針と実現性確認

• 計画と予算(幅を持たせて)

• 各所との調整を開始する

BxUFに注意!!

Page 42: "DAD本"の歩き方 - DevLOVE #134

Disciplined Agile

JIT

3C Rythm

Discipline

Agility

Page 43: "DAD本"の歩き方 - DevLOVE #134

Practice

&

Strategy

Page 44: "DAD本"の歩き方 - DevLOVE #134

プラクティスと戦略の地層

WaterfallPMBOK

CMMI

ITILRUP

XP

FDD

SCRUMLean

Page 45: "DAD本"の歩き方 - DevLOVE #134

DADに息づくプラクティス

• スクラム– プロダクトバックログ

– 価値駆動ライフサイクル

– デイリースクラム

– リリース計画

– スプリント計画

– ・・・

• エクストリームプログラミング(XP)– コーディング規約

– 共同所有

– 継続的インテグレーション

– ・・・

• リーン

• OpenUP

• ・・・

7つのプロセス

60のプラクティス

3章

Page 46: "DAD本"の歩き方 - DevLOVE #134

DADに息づくプラクティス

JIT

3C Rythm

XP

SCRUM

Agile

Modeling

Agile Data

Lean

IBM

Practice

OpenUP

Page 47: "DAD本"の歩き方 - DevLOVE #134

DADに備えられている戦略

• 要求モデリングの手段– ビジネスプロセス図– ドメインモデル– エピック– 機能一覧– フローチャート– マインドマップ– UMLアクティビティ図– ユースケース仕様書– ユーザーストーリー– バリュー・ストリーム・マップ– ・・・

• プロジェクト予算確保戦略– 金額固定(範囲あり)– 金額固定(範囲なし)– 段階的予算確保– タイム&マテリアル

37の戦略比較表

195個の戦略

全体

Page 48: "DAD本"の歩き方 - DevLOVE #134

戦略比較表

Page 49: "DAD本"の歩き方 - DevLOVE #134

DADに備えられている戦略

JIT

3C Rythm

Page 50: "DAD本"の歩き方 - DevLOVE #134

Case Study:方向付けフェーズ

1. アサインと環境整備

2. 開発構想とユーザーストーリー、フィーチャーリストを作成

3. マインドマップで問題識別、利害関係者の洗い出し

4. ふせんを使ったニーズ識別セッション

5. 開発構想に制約事項、満足条件を追加

6. キーとなる機能のユースケース図を作成

7. ユーザーストーリーの優先順位付きワークアイテムリストを作成

8. 簡単なコンテキストダイアグラムでアーキテクチャー構想

9. リリース計画を立案。ガントチャートを作成

10. 相対ポイントで見積もりを行い、

識別されたリスクをリスクリストに記入

11. スポンサーとエンタープライズアーキテクトから、

マイルストーンレビューを受け、方向づけフェーズが完了12章

Page 51: "DAD本"の歩き方 - DevLOVE #134

その他のDADの特徴

• ピープルファースト(People First)

• 学習指向 (Learning Oriented)

• アジャイル (Agile)

• ハイブリッド (Hybrid)

• ソリューションにフォーカスを合わせる (IT Solution Focused)

• ゴール駆動 (Goal-driven)

• デリバリーにフォーカスを合わせる (Delivery focused)

• エンタープライズ対応 (Enterprise Aware)

• リスクと価値駆動 (Risk and Value driven)

• スケーラブル (Scalable)1章

Page 52: "DAD本"の歩き方 - DevLOVE #134

DAD本の構造

7章8章

9章

10章

14章

15章

16章 18章

1,2,3章:概要と基礎

4,5章:役割と組織

11章:作業環境

12,17,19章:ケーススタディ

20章:ガバナンス

21章:現実へ向かう前に

6章 13章 18章

Page 53: "DAD本"の歩き方 - DevLOVE #134

「知の道具箱」

Page 54: "DAD本"の歩き方 - DevLOVE #134

DAD =

Process Decision

Framework

Page 55: "DAD本"の歩き方 - DevLOVE #134

DADを使うべき人

• 提案で厳しく突っ込みを入れられ四苦八苦しているアジャイリスト

• ウォーターフォールから脱却したいが、ギャップが大きすぎると二の足を踏んでいる開発チーム

• ユーザーサイドでアジャイルを実施するためにどう振る舞って良いか悩んでいる人、問題意識のある人(POなど)

Page 56: "DAD本"の歩き方 - DevLOVE #134

DADの学び方

1. スクラムを学ぶ

2. JITの思考と行動を習慣づける

3. DADのフェーズを学ぶ

4. 3Cリズムで生活する

5. DADのライフサイクルを学ぶ

6. 属性の違う人とのコミュニケーション

7. いろいろな道具を手に入れよう

Page 57: "DAD本"の歩き方 - DevLOVE #134

アジャイリストの(現実的な)心得

軸足をJITに。BxUFの誘惑に負けない。

己の力量を知ること。

こだわりを持ちすぎない。

アジャイルを言い訳にしない。

• アジャイルで受託は十分可能。そのためのDAD。

関係者みんなに嬉しい驚きを届けるために。

Page 58: "DAD本"の歩き方 - DevLOVE #134

Got Discipline?

disciplinedagiledelivery.jp