More Related Content Similar to Agility@Scale(アジャイル開発のスケールアップ)を実現する14のベストプラクティス (20) More from SORACOM, INC (20) Agility@Scale(アジャイル開発のスケールアップ)を実現する14のベストプラクティス2. なぜ今、アジリティが求められる?
経営戦略の寿命が短期化
世界売上高ランキング上位50社の平均滞留年
数4.8年 →ピーク迄は2年半
競争力を持続させていくには下記が求められる
商品・サービスの市場・顧客ニーズ変化への
俊敏な対応
業務提携による新規ビジネスの早期実現
経営統合によるシナジー効果の早期実現
出典:ITゕーキテクトVol.12 2007
Developers Summit 2010 2
3. アジャイル導入の効果は魅力的
ゕジャル導入により、改善されたと答えている人の割合
生産性 品質
82% 87%
顧客
満足度 コスト
78% 72%
Source: Dr Dobb’s 2008 Agile Adoption Survey
Developers Summit 2010 3
4. IBMソフトウェアグループでの
開発手法の変遷
ウォーターフォール
1980年代 • 要求の変更が少ない市場
• 最初に要求を決めて厳密な方法で開発
• 多くのメンフレームソフトウエゕ
反復型開発
1990年代 • 要求の変化が起こる市場
• 反復型開発でリスクを逓減
• 90年~2000年前半での
分散プラットフォームでの開発
ゕジャル開発
現在 • 要求の変化が非常に大きい市場
• 適応型開発で市場に迅速に反応
• Webゕプリケーション、
オープンソースの開発、Jazz
Developers Summit 2010 4
5. 米国でのアジャイル普及度
1つ以上のゕジャルの技法を使っていますか?
18% of respondents indicated they’re still in the pilot stage
15% of “No” respondents hope to do Agile this year
Source: Dr Dobb’s 2008 Agile Adoption Survey
Developers Summit 2010 5
6. 本日のアジェンダ
ゕジャル開発の本質
ゕジャル開発を企業に導入する際の課題
規模に関係なく適用可能なプラクテゖス
大規模だからこそ考えるプラクテゖス
まとめ
Developers Summit 2010 6
14. アジャイル開発の共通ポイント1:
反復&インクリメンタル&適応型
ウォーターフォール アジャイル
要求(スコープ) 要求(スコープ)
要求
ムダに詳細要
分析・設計 求を作らない 重要なもの
から作る
実装
システム統合リス
テスト クを初期に削減
時間 時間 早期にリリー
Beck 2000
Royce 1970
フィードバックを得 ス可能に
て学習・改善
Developers Summit 2010 14
17. アジャイル開発の共通ポイント2:
短いタイムボックス内で動くコードを
次を取り出し
ストーリー1
チームの中で、
OK
テストまで全て
ストーリー2 構築
ストーリー3
行う
・・・
バックログ 評価
バックログで優 定義 テスト
先順位を常に 決められた期間は NG
管理 絶対動かさない すぐに修正
受け入れテスト
タムボックス
をこの段階に
出展:「ゕジャル開発の本質とスケールゕップ」
Developers Summit 2010 17
18. アジャイルの共通ポイント3:
小さな一口単位で開発する
仕事は、ストーリーとタスクに分ける
ストーリー
ストーリー
「柔軟な」要求の表現
または、ある要求の話し合いの必要性を示したもの
実現すべき機能 タスク
タスク タスク
ストーリーを実装するために、メンバーが行うべき タスク
こと
ストーリーの粒度は数日、タスクの粒度は
一日以内
実施の直前に、この詳細に分解する
出展:「ゕジャル開発の本質とスケールゕップ」
Developers Summit 2010 18
19. パラダイムシフト:
スコープを、固定せずに管理する
ウォーターフォール ゕジャル
要求(スコープ) リソース 期日
固定される
価値
重視
計画
重視
見積もられる
リソース 期日 要求(スコープ)
出展:「ゕジャル開発の本質とスケールゕップ」
Developers Summit 2010 19
20. 本日のアジェンダ
ゕジャル開発の本質
ゕジャル開発を企業に導入する際の課題
規模に関係なく適用可能なプラクテゖス
大規模だからこそ考えるプラクテゖス
まとめ
Developers Summit 2010 20
21. なぜ、アジャイルは企業レベルでは
使えないと思われるのか?
もともと小規模開発から発達してきたその経緯
確かに、著名なゕジャルプロセスであるXPは元は10人以下のチーム向き
そもそも、小規模向き、ということで、企業で真剣に考慮されない
ゕジャルプラクテゖスのうち、実質的に大規模開発に
不向きなものがある
例: 「同一地点での開発」、「顧客もチームの一部に」
既存の開発スタルに慣れている組織にとっては、大規模
であればあるほど「新しいもの」を導入することが難しい
例: 既存の縦割り組織形態、官僚的文化、契約体系、既存ゕセット
Developers Summit 2010 21
24. 大規模開発に不向きなプラクティス
小チームでの開発
企業レベルで百以上の数となる小チームを、どう組織と適合させるか
顧客をチームの一部に
多くの場合、顧客は離れているか、スキルや時間がない
同一場所での開発
規模が拡大すれば、同じ場所にいることは事実上不可能
ゕーキテクチャーは、自然発現する
規模の大きな開発では、事前にゕーキテクチャーの準備が必要
要求分析と仕様書の欠如
開発者がそのつど要求を引き出す考え方は、大規模開発では心もとな
い
文化の環境、物理的環境
傍から見たゕジャルの仕事ぶりは、しばしばプロらしくなく見える
出展: Scaling Software Agility
Developers Summit 2010 24
26. 企業そのものに内在する課題
プロセスとプロジェクトマネジメント組織
プロジェクトマネジメント組織が、自らの権限/権威が少なくなる変化に抵抗する
既存の公式なポリシーと手続き
過去の苦い経験によって追加されてきたガドランは、変更が容易ではない
企業文化
企業は時間をかけて、「ゕジャルのためにならない」強力な文化を培ってきた
期日も機能も固定した上でなんとかやれ、という依頼
範囲と期日とリソースがあらかじめ決められて開発チームに命令されるならば、
ゕジャル開発は成立しない
開発部門とユーザー・顧客代理チームとの摩擦
開発チームとユーザー部門の間には、相互不信の原因となる苦い経験があること
が多い
職制によって組織された人々
組織は、職制(製品マネジメント、ゕーキテクチャー、開発者など)で編成され
ていることが多い
高度に分散した開発
企業が大きくなるほど、組織は分散化する
出展: Scaling Software Agility
Developers Summit 2010 26
27. 本日のアジェンダ
ゕジャル開発の本質
ゕジャル開発を企業に導入する際の課題
規模に関係なく適用可能なプラクテゖス
大規模だからこそ考えるプラクテゖス
まとめ
Developers Summit 2010 27
28. 規模に関係なく適用できるプラクティス
定義・構築・テストのコンポーネント・チーム
2 レベル計画作りと追跡
反復型開発
頻繁な小規模リリース
コンカレントテステゖング
継続的ンテグレーション
継続的な考察と適応
Developers Summit 2010 28
29. 事例:Jazzプロジェクトの
「チームコンサート」開発
Jazzプロジェクトは、2005年より7カ国以上、約120名体制
Jazzの最初の成果が、「Rationalチームコンサート(RTC)」
ゕジャルプラクテゖス (Scrum, XP) を利用
「チームコンサート」自身を用いて、Jazz系製品を開発
Winnipeg Lexington
Ottawa Saint Nazaire Shanghai
Toronto
Beaverton Zurich
Raleigh
Tokyo
Bangalore
Developers Summit 2010 29
30. Rationalチームコンサート(RTC)とは?
プロジェクトの透明性を高めるために、Eclipse開発、
CC/CQ開発での経験をベースに、IBM Rationalが一から作
り直した製品
構成管理
ビルド管理
ビルド管理 構成管理
プロセス管理 障害管理
プロセス管理 開発者
開発者
Jazz サーバー
障害管理
チームコンサートを使用することで生産性を高める:
・情報の一元化、トレーサビリテゖの自動化、プロセス自動化
・コミュニケーション&透明性を高め、早期にリスク対応がとれる
・レポーテゖングのための工数削減
・ンフラコスト(ハードウェゕ、ソフトウェゕ)、管理コストの削減
Developers Summit 2010 30
32. 反復型開発、頻繁な小規模リリース
リリース
ウォームアップ リリース計画 M1a M1
立ち上げ
安定化
安定化
計画
計画
開発
開発
4週間 4週間
マルストーン
Developers Summit 2010 32
33. 反復型開発、頻繁な小規模リリース
リリース
ウォームアップ リリース計画 M1a M1 … エンドゲーム
修正- 洗練化
立ち上げ
テスト
安定化
安定化
安定化
テスト
計画
計画
開発
開発
開発
修正
計画
4週間 4週間 4週間
マルストーン
Developers Summit 2010 33
34. 反復型開発、頻繁な小規模リリース
リリース
ウォームアップ リリース計画 M1a M1 … エンドゲーム
修正- 洗練化
立ち上げ
テスト
安定化
安定化
安定化
テスト
計画
計画
開発
開発
開発
修正
計画
4週間 4週間 4週間
要件定義
マルストーン
Developers Summit 2010 34
35. 反復型開発、頻繁な小規模リリース
リリース
ウォームアップ リリース計画 M1a M1 … エンドゲーム
修正- 洗練化
立ち上げ
テスト
安定化
安定化
安定化
テスト
計画
計画
開発
開発
開発
修正
計画
4週間 4週間 4週間
要件定義
マルストーン
リリース用のテ
イテレーション毎の Jazz.netでダウ スト、ドキュメン
テスト・デモ・ふりかえり ンロード可能に ト整備35
Developers Summit 2010 35
38. コンカレントテスティング
アジャイルでは、「すべてのコードはテストされ
たコード」である
RTCチームの場合
反復毎に、各チームレベルで、ユニットテスト
、機能テスト、受け入れテストを行う
リリースにむけ、統合テストチームが、並行し
て、パフォーマンステスト、信頼性テストを行
う
プロセス
ワークアイテム
ソース管理 4-10人x 20
PMC
Web UI
約10人
統合テスト
Developers Summit 2010 38
39. 継続的インテグレーション
正常に動くビルドを少なくとも1 日1 回作り出す
ソース統合、ビルド自動化、テスト自動化が必要
RTCチームの場合
チームコンサートを用いて一元管理、常に動く安定した
プログラムを保持
テストコードを含んだ、個人の作業領域での個人ビルド
チーム領域でのビルド
統合領域でのビルド
(安定したもの)
出展:「ゕジャル開発の本質とスケールゕップ」
Developers Summit 2010 39
41. 本日のアジェンダ
ゕジャル開発の本質
ゕジャル開発を企業に導入する際の課題
規模に関係なく適用可能なプ7ラクテゖス
大規模だからこそ考える7プラクテゖス
まとめ
Developers Summit 2010 41
42. 大規模だからこそ必要なプラクティス
意図的なゕーキテクチャ
リーン要求開発のスケールゕップ:ビジョン、ロードマッ
プ、ジャストンタムの詳細化
ゕジャルリリーストレン
高度に分散した開発の管理
顧客とオペレーションへのンパクトの調整
組織を変化させる
ビジネスパフォーマンスを計測する
Developers Summit 2010 42
45. 意図的なアーキテクチャ
RTCチームの場合
製品に対する要件
ソフトウェア
コンポーネント
開発チーム(スクラム) 統合テスト・チーム
チーム間
スクラム
(PMC)
4-10人 x 20チーム
Developers Summit 2010 45
46. リーン要求開発
ゕジャルなチームは、素早いコーデゖングによ
り、形式的な仕様書を避ける
とはいえ、大規模開発においては、ビジョンは、
非機能要求などの共通な要求は前倒しで持ってお
くべき
また、要求の劣化を避けるために、ジャストン
タムで要求を詳細化する必要がある
46
Developers Summit 2010 46
47. リーン要求開発
RTCチームの場合
ビジョン(開発構想書)
ロードマップ
リリース1 リリース2 リリースv1.0 リリースv2.0
2009年9月 2009年12月
テーマ:快適なバー テーマ:スケーラビ 反復#1 反復#2 反復#3 反復#4
ジョン管理 リティ
バージョン管理 分散開発での管理
Emailでの通知 RSSでの通知
プラットフォーム プラットフォーム
Windows Linux
バックログ
ジャストインタイムで ID ストーリー 優先順位 見積もり
ストーリーの詳細化 xxxx
xxxx
Developers Summit 2010 47
48. 高度に分散した開発の管理
大規模開発では、分散開発にならざるをえない
同じ都市や建物内でも、チームはバラバラ
以下の情報の共有が不可欠
優先度、リゕルタムの状況、依存関係、阻害要因
ツールの使用と、より組織的なゕプローチへの必要性が
高まる
電話会議システム、チャット
共通プロジェクトマネジメント、共有要求、ソース
コードマネジメント、統合ビルド環境、変更管理、
自動化テストを可能とするツール
Developers Summit 2010
50. 高度に分散した開発の管理
RTCチームの場合
社内の電話会議システム
各チームは、デリーミーテゖング(電話会議)
各自、昨日やったこと、今日やること、課題の共有
PMCは週2回のスクラムミーテゖング
ツールによるチーム内情報共有
誰が何をやっているか、誰が次に何をやるかをリゕルタムに把握
常に変化に対応できる体制
RTCを用いて
一元化されたソース管理、作業管理、問題管理
情報を見える化し、情報間のトレーサビリテゖを自動保持
適切なレベルのプロセス管理
Developers Summit 2010 50
51. アジャイル・リリーストレイン
一般的に、アジャイルチームはより多くの成果を素早く納品可
しかし、大規模では成果納品のコーディネーションが難しい
アジャイル・リリーストレインの概念が登場
リリースを、固定され遅らせることのできないスケジュールと
考える
時間通りに次々と発車する電車のように
リリース日、テーマ、品質が固定
上記3つが固定であるならば、可変できるのは機能
Developers Summit 2010 51
53. アジャイル・リリーストレイン
リリース
ウォームアップ リリース計画 M1a M1 … エンドゲーム
修正- 洗練化
立ち上げ
テスト
安定化
安定化
安定化
テスト
計画
計画
開発
開発
開発
修正
計画
複数チーム間で同期を
とらねばならないもの
4週間 4週間 4週間
は必須。それ以外は、
マルストーン 優先順位付けしたもの
から作る。
53
Developers Summit 2010 53
56. 組織を変化させる
ボトムゕップゕプローチ
ゕジャル開発を、企業内の「小さなチーム」に適用しても
、それなりの効果がある
トップダウンゕプローチ
ゕジャルのメリットを最大限に活かすため、全社適用して
組織が抱える課題に取り組む
ステップ
①スポンサー、エヴゔンジェリストを確保
②組織のゕジリテゖに対する適合性を評価
③パロットプロジェクトを実施
④組織への展開計画の策定
適切なトレーニング
ツール、サポート、コミュニテゖのサポート
Developers Summit 2010 56
57. 組織を変化させる
RTCチームの場合
IBM Software Group内で、ゕジャル推進チーム「
Agile Transformation」を組織化
情報を集約し、HELPデスクの役割を果たす
定期的に、プラクテゖスの浸透度を測定
PM、開発者向けのAgileトレーニングを準備
ゕジャル開発を支えるツールを提供(RTC)
Developers Summit 2010 57
59. ビジネスパフォーマンスを計測する
開発チームレベルでは、
動くコードの進捗測定が、生産性の指標として最良
他のさまざまな指標は二義的
しかし、企業には他のレベルでの測定に対するニーズ
全社に渡るビジネスパフォーマンスの測定
例:経営者が複数プロジェクトを横串でみて、
ポートフォリオとして判断するための指標
Developers Summit 2010 59
60. ビジネスパフォーマンスを計測する
チームコンサートへの入力等を利用して、上位マネージメント
のためのダッシュボードを提供 (Rational Insight)
出展: Scaling Software Agility
Developers Summit 2010 60
61. 本日のアジェンダ
ゕジャル開発の本質
ゕジャル開発を企業に導入する際の課題
規模に関係なく適用可能なプラクテゖス
大規模だからこそ考えるプラクテゖス
まとめ
Developers Summit 2010 61
62. 規模に関係なく適用できるプラクティス
定義・構築・テストのコンポーネント・チーム
2 レベル計画作りと追跡
反復型開発
頻繁な小規模リリース
コンカレントテステゖング
継続的ンテグレーション
継続的な考察と適応
Developers Summit 2010 62
63. 大規模だからこそ必要なプラクティス
意図的なゕーキテクチャ
リーン要求開発のスケールゕップ:ビジョン、ロードマッ
プ、ジャストンタムの詳細化
ゕジャルリリーストレン
高度に分散した開発の管理
顧客とオペレーションへのンパクトの調整
組織を変化させる
ビジネスパフォーマンスを計測する
Developers Summit 2010 63
64. まとめ
ゕジャルは使える――そして、スケール
ゕップ可能です!
本日の公演内容をもっと詳
しく知りたい方のために:
http://www.amazon.co.jp/
dp/4798120405/
Developers Summit 2010 64
65. チームコンサート無料版!
アジャイルなチームのための開発環境である
「チームコンサート」のデモブースにも是非
お立ち寄りください!
先着で、無料版Express-CのCDが入手で
きます!
RTC wiki
RTC情報が沢山!
Jazz-jp.net
Express-Cの質問可能!
Developers Summit 2010 65