アジャイル実践における

開発環境の変化
Tomoharu Nagasawa
Senior Evangelist at Atlassian
  @tnagasawa
要求の捉え方、プロジェクト運営、ツール支援
1996
インテック
ソフトウェアエンジニア
2000
Rational Software
プロセス改善コンサルタント
2003
日本アイ・ビー・エム
プロセス改善コンサルタント
2005
Borland Software
プロセス改善コンサルタント
ソリューション アーキテクト
2007
Microsoft
エバンジェリスト
プロダクト マネージャ
2014
シニア エバンジェリスト
監訳 / 共著書 多数 プレゼンテーション協力
Speaker
Agenda
ビジネスとソフトウェア
開発現場とツール活用
デモンストレーション
ビジネスとソフトウェア
199 x
ビジネス
S/W
ビジネス
S/W
ビジネス
S/W
201 x200 x199 x
確立しやすい 確立しづらい
開発部門
ビジネスモデル
経営者層 マーケット/消費者意思決定者
クライアント/サーバー WEB / アプリ IOT / デバイスとクラウド技術と配布
ビジネスとソフトウェア
インシデント
問題
変更
アイデア/バグ
コード
リリース
ビジネスのリズム ¦ サイクルタイム・共同所有・透明性・自動化/省力化
DevOps ビジネス駆動ムーブメント
ビジネスのリズム ¦ サイクルタイム・共同所有・透明性・自動化/省力化
DevOps ビジネス駆動ムーブメント
ビジネス
ICT
リーンスタートアップ ¦ Build - Measure - Learn
アイデア
プロダクト
データ
BUILD
MEASURE
LEARN
DevOps ビジネス駆動ムーブメント
リリース 1 リリース 2 リリース 3
Quality Cost DeliveryScope
ナカミ ビジネス品質 効率 Time to Market
Quality Cost DeliveryScope
ナカミ ビジネス品質 効率 Time to Market
リリース 2 リリース 3 リリース 4リリース 1
ビジネス
S/W
ビジネス
S/W
ビジネス
S/W
201 x200 x199 x
定義済みのプロセスモデル 経験則によるプロセスモデル
IDE
方法論
工程重視のALM 協調重視のALM開発ツール
開発者 開発チーム 企画・開発・運用適用範囲
開発環境の変化
Stacy Matrix
プロジェクトの複雑さ
無秩序
単純
やや

複雑
やや

複雑
複雑
合意の難しさ
不確実性の高さ
定義済みのプロセスモデル 経験則によるプロセスモデル方法論
プロジェクトのアプローチの選択肢
無秩序
単純
やや

複雑
やや

複雑
複雑
Defined Process Model
ウォーターフォール
過去に経験があり、技術も安定している
過去に存在するものは調達すればよい
Empirical Process Model
アジャイル
過去に経験がない、ビジネス価値を創出
新たなチャレンジが多い
定義済みのプロセスモデル
経験則によるプロセスモデル
方法論
プロジェクトのアプローチの特徴
Defined Process Model
Empirical Process Model
定義済みのプロセスモデル
経験則によるプロセスモデル
方法論
工程ごとの人と成果物
各工程に注力したマネジメント
スキルと経験は平準化し対応
失敗が許されない
軌道修正がしづらい
工程/人と成果物が連動し続ける
全工程に注力したマネジメント
スキルと経験は練っていく
早めに失敗できる
軌道修正を前提とする
プロジェクトのアプローチの特徴
Defined Process Model
Empirical Process Model
スキルと経験を平準化して計画
成果は、個別のタスクの生産性
チームで計画、成果をマネージ
フォローと遂行の支援へ
I’m doneI’m done
1
2
3
4
I’m done
I’m doneI’m doneI’m done
We’re done
1
2
3
4
We’re done
2.5
3.5
定義済みのプロセスモデル
経験則によるプロセスモデル
方法論
プロジェクト マネジメント スタイル
統制型マネージメント 自律型マネージメント
親分がほとんど知っている
親分に従うことがベスト
個別最適化でよい(サイロでOK)
親分も知らないことがある
親分ひとりでは手に負えない
親分にフォローしてもらい伸ばす
チーム指向(サイロはNG)
ビジネス価値を継続的にデリバリーする時代
ビジネス
ICT
ビジネス駆動 定期的な価値向上 自律型マネジメント
価値の流れ 透明性 自律と改善
ビジネス
S/W
ビジネス
S/W
ビジネス
S/W
201 x200 x199 x
定義済みのプロセスモデル 経験則によるプロセスモデル
IDE
方法論
工程重視のALM 協調重視のALM開発ツール
開発者 開発チーム 企画・開発・運用適用範囲
開発環境の変化
定義済みのプロセスモデル 経験則によるプロセスモデル
IDE
方法論
工程重視のALM 協調重視のALM開発ツール
開発者 開発チーム 企画・開発・運用適用範囲
企画 計画 開発 ビルド デプロイ
定義済みのプロセスモデル 経験則によるプロセスモデル
IDE
方法論
工程重視のALM 協調重視のALM開発ツール
開発者 開発チーム 企画・開発・運用適用範囲
企画 計画 開発 ビルド デプロイ
定義済みのプロセスモデル 経験則によるプロセスモデル
IDE
方法論
工程重視のALM 協調重視のALM開発ツール
開発者 開発チーム 企画・開発・運用適用範囲
企画 計画 開発 ビルド デプロイ
定義済みのプロセスモデル 経験則によるプロセスモデル
IDE
方法論
工程重視のALM 協調重視のALM開発ツール
開発者 開発チーム 企画・開発・運用適用範囲
企画 計画 開発 ビルド デプロイ
企画 計画 開発 ビルド デプロイ
チームと成果物
チームと成果物とツール
リポジトリ
情報 Hub
成果物の違い(内容と粒度)
ツール効果
価値観の違い
アイデア ビジネス価値
コード ビルド
アイデア ビジネス価値
コード ビルド
企画書 使えるソフトウェア
動くソフトウェアバックログ
アイデア ビジネス価値
コード ビルド
企画書 使えるソフトウェア
動くソフトウェアバックログ
情報 Hub
アイデア ビジネス価値
コード ビルド
企画書 使えるソフトウェア
動くソフトウェアバックログ
master
DEM-1
ステージング用 本番稼働用
各開発用
CI /

Docker build
Docker run
CI /

Docker build
Docker run Docker run
backlog
バックログからデプロイの流れのデモ
継続的デリバリーとツール活用
ビジネス フィードバック
アイデア
ユーザー

フィードバック
インシデント
ビジネス意思決定
Confluence
JIRA Service Desk
Portfolio for JIRA
JIRA Software
バグ 技術的負債
開発チームの意思決定
DEM-1
Bitbucket
SourceTree
❸ 意思決定とタスク割り出し
コード
❺ git commit / push
❹ 目的ごとの

 ブランチを作成
DEM-1
DEM-1
❻ プルリクエストとマージ
DEM-1
Bamboo
❼ コミット トリガー
❽-1 ビルドとテスト  
の実行
DEM-1
❽-2 docker build & push
➓ -2 docker pull and run
開発チームの作業 デプロイの作業
HipChat
HipChat
❸ 専用チャット

   ルームの作成と議論
DEM-1
❶ フィードバックの収集
❷ バックログ項目化
Bamboo
❾ 成功時トリガー
➓-1 各環境へのデプロイ
チャット|通知|ChatOps
(C) nagasawa@outlook.com
継続的デリバリーとツール活用
ビジネス フィードバック
アイデア
ユーザー

フィードバック
インシデント
ビジネス意思決定
Confluence
JIRA Service Desk
Portfolio for JIRA
バグ 技術的負債
開発チームの意思決定
Bitbucket
SourceTree
コード
❺ git commit / push
❹ 目的ごとの

 ブランチを作成
DEM-1
DEM-1
❻ プルリクエストとマージ
DEM-1
Bamboo
❼ コミット トリガー
❽-1 ビルドとテスト  
の実行
DEM-1
❽-2 docker build & push
➓ -2 docker pull and run
開発チームの作業 デプロイの作業
HipChat
HipChat
❸ 専用チャット

   ルームの作成と議論
DEM-1
❶ フィードバックの収集
❷ バックログ項目化
Bamboo
❾ 成功時トリガー
➓-1 各環境へのデプロイ
チャット|通知|ChatOps
(C) nagasawa@outlook.com
JIRA Software
DEM-1
❸ 意思決定とタスク割り出し
継続的デリバリーとツール活用
ビジネス フィードバック
アイデア
ユーザー

フィードバック
インシデント
ビジネス意思決定
Confluence
JIRA Service Desk
Portfolio for JIRA
バグ 技術的負債
開発チームの意思決定
Bitbucket
SourceTree
コード
❺ git commit / push
❹ 目的ごとの

 ブランチを作成
DEM-1
DEM-1
❻ プルリクエストとマージ
DEM-1
Bamboo
❼ コミット トリガー
❽-1 ビルドとテスト  
の実行
DEM-1
❽-2 docker build & push
➓ -2 docker pull and run
開発チームの作業 デプロイの作業
HipChat
HipChat
❸ 専用チャット

   ルームの作成と議論
DEM-1
❶ フィードバックの収集
❷ バックログ項目化
Bamboo
❾ 成功時トリガー
➓-1 各環境へのデプロイ
チャット|通知|ChatOps
(C) nagasawa@outlook.com
JIRA Software
DEM-1
❸ 意思決定とタスク割り出し
JIRA = 情報 Hub
JIRA = 情報 Hub による俯瞰した見通し
アイデア
プロダクト
データ
BUILD
MEASURE
LEARN
Thank you!
Tomoharu Nagasawa • Senior Evangelist • Atlassian • @tnagasawa

アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援