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

Preview:

DESCRIPTION

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

Citation preview

Disciplined Agile Delivery

“DAD本”の歩き方

ゼンアーキテクツ 岡 大勝

DevLOVE #134

岡 大勝 / Hiromasa Oka

1994ハートの情シス

1996日本DEC

2000日本HP

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

2003独立してSPEI

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

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

@OkaHiromasa

facebook.com/hiromasa.oka

どんな本

• 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

DAD(ダッド)とは

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

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

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

「知」を活かす

本書のメッセージ

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

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

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

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

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

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

アジャイルの現実

• Positive

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

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

• Negative

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

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

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

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

Context

Project Context

プロジェクトの...

–目的

–対象

–環境

–技術

–組織

–チーム

–経験

– etc…

同じContextは、存在しない

Why DAD

Enterprise Agile

Project Context

Enterprise Contextのイメージ

Waterfall

予算・期間利害関係者

組織 標準・規約

ROI

企業戦略

既存システム

計画

Agile Contextのイメージ

コラボレーション

価値Agility

顧客満足

動くソフトウェア

シンプルさ

自己組織的なチーム

変化への対応

Why DAD

Enterprise Agile

Enterprise Project Context

Why DAD

Enterprise Agile

Gap

Why DAD

Enterprise Agile

DAD?

Why DAD

Enterprise Agile

Why DAD

Enterprise

Agile

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

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

Waterfall?

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

Waterfall

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

Artifact-Driven

“成果物駆動”

Waterfall

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

Big XXX Up-Front

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

BxUF

BxUFの活用例

• BRUF : Big “Requirements” Up-Front

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

• BDUF : Big “Design” Up-Front

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

• 他にも、

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

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

成果物駆動の活動

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

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

Agility?

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

Agility?

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

JIT

Agiilty?

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

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

JITの活動

要求仕様の明確化

実装

要求データ設計

受入テスト

UI設計 実装テスト

データ作成

要求 実装受入テスト

要求業務

モデリング

受入テスト

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

Enterprise Agile

JIT

Enterprise Agile

JIT

予算・期間利害関係者

組織 標準・規約

ROI

企業戦略

既存システム

計画

NJIY

つまり、

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

世代が変わった

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

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

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

• ツール

• プラクティス

• プロセス

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

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

• 多くの利害関係者

• 規制、ルール

• 既存システム

• 人と組織

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

Rhythm

3Cリズム

アジャイルの3Cリズム

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

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

• Conclude : 完成(整える)

Conclude完成

Collabolate協調

Coordinate調整

スクラム

スクラムの3Cリズム

Concludeインクリメントの

コミット

Collabolate1日の作業

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

デイリーリズム

Conclude完了、

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

レトロスペクティブ

Collabolateスプリント

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

イテレーションリズム

DAD

DADの3Cリズム

Concludeインクリメントの

コミット

Collabolate1日の作業

Coordinate日次調整ミーティング

デイリーリズム

Conclude完了、

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

Collabolateイテレーション

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

イテレーションリズム

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

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

Collabolate構築フェーズ

Coordinate方向付けフェーズ

リリースリズム

方向付けフェーズ

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

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

• 大まかなスコープ

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

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

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

BxUFに注意!!

Disciplined Agile

JIT

3C Rythm

Discipline

Agility

Practice

&

Strategy

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

WaterfallPMBOK

CMMI

ITILRUP

XP

FDD

SCRUMLean

DADに息づくプラクティス

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

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

– デイリースクラム

– リリース計画

– スプリント計画

– ・・・

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

– 共同所有

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

– ・・・

• リーン

• OpenUP

• ・・・

7つのプロセス

60のプラクティス

3章

DADに息づくプラクティス

JIT

3C Rythm

XP

SCRUM

Agile

Modeling

Agile Data

Lean

IBM

Practice

OpenUP

DADに備えられている戦略

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

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

37の戦略比較表

195個の戦略

全体

戦略比較表

DADに備えられている戦略

JIT

3C Rythm

Case Study:方向付けフェーズ

1. アサインと環境整備

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

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

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

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

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

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

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

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

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

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

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

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

その他のDADの特徴

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

• 学習指向 (Learning Oriented)

• アジャイル (Agile)

• ハイブリッド (Hybrid)

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

• ゴール駆動 (Goal-driven)

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

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

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

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

DAD本の構造

7章8章

9章

10章

14章

15章

16章 18章

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

4,5章:役割と組織

11章:作業環境

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

20章:ガバナンス

21章:現実へ向かう前に

6章 13章 18章

「知の道具箱」

DAD =

Process Decision

Framework

DADを使うべき人

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

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

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

DADの学び方

1. スクラムを学ぶ

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

3. DADのフェーズを学ぶ

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

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

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

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

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

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

己の力量を知ること。

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

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

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

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

Got Discipline?

disciplinedagiledelivery.jp