アジャイル初心者向けチュートリアル～DON’T JUST DO AGILE, BE AGILE!～
アジャイルジャパン２０１６

今村 博明Imamura Hiroaki• インフォテック株式会社• 金融システム本部金融第５グループ• マネージャー• アジャイルによっていきいきとした現場を作っていくことが目標• アジャイルの理念をチームに根付かせるため、奮闘中！
• 今回よりアジャイルジャパン実行委員会に参加

アジェンダ• アジャイルとは？
• アジャイルの特徴• ScopeとQCD• コミュニケーションと成長• できることからはじめてみよう• よくある質問

アジェンダ• アジャイルとは？
• アジャイルの特徴• ScopeとQCD• コミュニケーションと成長• できることからはじめてみよう• よくある質問

アジャイルとは• アジャイル(Agile) 形容詞• 俊敏な、明敏な、頭の回転のはやい• プラクティス(Practice) 名詞、動詞• （反復して行う）練習、実践、（実地で得た）経験• アジャイルでは、価値を実現するために取り組むべき「実践項目」

アジャイルとは変化に適応しながらプロジェクトの価値を最大化させるためにプロジェクトメンバーが共有すべき考え方とそれを実践するための手法のこと

アジャイルの実体

Agile
SCRUM
XPRUP
Lean

FDD
CrystalDSDMKanbanアジャイルソフトウェア開発宣言
私たちは、ソフトウェア開発の実践あるいは実践を手助けをする活動を通じて、よりよい開発方法を見つけだそうとしている。この活動を通して、私たちは以下の価値に至った。
プロセスやツールよりも個人と対話を、包括的なドキュメントよりも動くソフトウェアを、契約交渉よりも顧客との協調を、計画に従うことよりも変化への対応を、価値とする。
すなわち、左記のことがらに価値があることを認めながらも、私たちは右記のことがらにより価値をおく。

Kent Beck
Mike Beedle
Arie Van Bennekum
Alistair Cockburn
Ward Cunningham
Martin Fowler

James Grenning
Jim Highsmith
Andrew Hunt
Ron Jeffries
Jon Kern
Brian Marick

Rober C. Martin
Steve Mellor
Ken Schwaber
Jeff Sutherland
Dave thomasアジャイル宣言の背後にある原則
私たちは以下の原則に従う:
1. 顧客満足を最優先し、価値のあるソフトウェアを早く継続的に提供します。
2. 要求の変更はたとえ開発の後期であっても歓迎します。変化を味方につけることによって、お客様の競争力を引き上げます。
3. 動くソフトウェアを、2-3週間から2-3ヶ月というできるだけ短い時間間隔でリリースします。
4. ビジネス側の人と開発者は、プロジェクトを通して日々一緒に働かなければなりません。
5. 意欲に満ちた人々を集めてプロジェクトを構成します。環境と支援を与え仕事が無事終わるまで彼らを信頼します。
6. 情報を伝えるもっとも効率的で効果的な方法はフェイス・トゥ・フェイスで話をすることです。
7. 動くソフトウェアこそが進捗の最も重要な尺度です。
8. アジャイル･プロセスは持続可能な開発を促進します。一定のペースを継続的に維持できるようにしなければなりません。
9. 技術的卓越性と優れた設計に対する不断の注意が機敏さを高めます。
10. シンプルさ（ムダなく作れる量を最大限にすること）が本質です。
11. 最良のアーキテクチャ・要求・設計は、自己組織的なチームから生み出されます。
12. チームがもっと効率を高めることができるかを定期的に振り返り、それに基づいて自分たちのやり方を最適に調整します。

Agile Practice Metro Map
かんばん

リードタイムスクラム・オブ・スクラム
持続可能なペース

ニコニコ
カレンダー

Doneの Readyの 見積もり
定義
定義
ポイント

相対 プランニング
見積もり ポーカー バックログ

BDD

タスクボードバックログ
グルーミング

ATDD

バーンダウン
チャート

ペルソナ

受け入れ
テスト

ストーリーマッピング

ユビキタス言語

継続的デプロイ

ストーリー分割

3つの質問

モック

頻繁な ユーザー
イテレーション ベロシティ リリース ストーリーペア
サイン
日次
プログラミング アップ ミーティング
プロジェクト憲章

RoleGivenFeature- WhenReason Then

コードの継続的共同所有 インテグレーション

タイムボックス

チームルーム

3つのCINVEST

定期的な ファシリ
ふりかえり テーション

チーム

シンプル リファクタ
設計リング

反復的な インクリメンタル開発
開発

エクストリームプログラミングチーム
リーン© 2013-2015 Agile Alliance and Laurent Bossavit. All rights reserved.

簡潔化の指針

自動ビルド

スクラム
プロダクトマネジメント
DevOps
翻訳：Agile Japan 2016実行委員会

素早い設計セッション

バージョン
管理

CRC
カード
設計
テスト
基礎

TDD
ユニットテスト
探索的テスト

ユーザビリティテスト

アジャイルに向いているプロジェクト
従来の開発（計画）

START

アジャイル（適応型）

START

不確定要素

GOAL
不確定要素が少ない作るものが最初からはっきりしている

GOAL
不確定要素が多い
作るものがはっきりしていない

アジャイルの主な手法

AgileSCRUM
XP
RUP
Lean

FDD
CrystalDSDMKanbanSCRUM
・チームを自律的に動かすための場作りのフレームワーク
・特定の技術的なプラクティスは定義していない
・軽量、理解が容易、習得は困難

SCRUM
ユーザー、顧客、ステークホルダー
からの要求

スクラムマスター
デイリースクラム

プロダクトオーナー 開発チーム

スプリント
プランニング

プロダクト
バックログ

スプリントレビュー

スプリント
バックログ
ふりかえり
http://www.agilebuddha.com/trainings-workshops/scrum-training-workshop/

SCRUM
ユーザー、顧客、ステークホルダーからの要求

スクラムマスター
デイリースクラム

プロダクトオーナー 開発チーム

スプリント
プランニング

プロダクト
バックログ

スプリントレビュー

スプリント
バックログ
ふりかえり
http://www.agilebuddha.com/trainings-workshops/scrum-training-workshop/

SCRUM
ユーザー、顧客、ステークホルダーからの要求

スクラムマスター
デイリースクラム

プロダクトオーナー 開発チーム

スプリント
プランニング

プロダクト
バックログ

スプリントレビュー

スプリント
バックログ
ふりかえり
http://www.agilebuddha.com/trainings-workshops/scrum-training-workshop/

SCRUM
ユーザー、顧客、ステークホルダーからの要求

スクラムマスター
デイリースクラム

プロダクトオーナー 開発チーム

スプリント
プランニング

プロダクト
バックログ

スプリントレビュー

スプリント
バックログ
ふりかえり
http://www.agilebuddha.com/trainings-workshops/scrum-training-workshop/

SCRUM
ユーザー、顧客、ステークホルダーからの要求

スクラムマスター
デイリースクラム

プロダクトオーナー 開発チーム

スプリント
プランニング

プロダクト
バックログ

スプリントレビュー

スプリント
バックログ
ふりかえり
http://www.agilebuddha.com/trainings-workshops/scrum-training-workshop/XP(エクストリームプログラミング)• 技術的なプラクティスが多い• ペアプロ、テストファースト、継続的インテグレーションなど• 変化ヲ抱擁セヨ• 人間がソフトウェアを開発するという事実に向き合う• 人の弱さを認め、人の強さを活かす• 昨日よりも今日のほうが進歩がある• 人と人との相乗効果を大切に• お互いを尊重しなければならない• 間違いはあるアジェンダ• アジャイルとは？
• アジャイルの特徴• ScopeとQCD• コミュニケーションと成長• できることからはじめてみよう• よくある質問

ScopeとQCD
コスト

スケジュールScopeとQCD
Scope
要件

Quality
品質

Cost

Delivery

費用

期間ScopeとQCD
要素

従来の開発

アジャイル

S（要件）

不変
全部作る

Q（品質）

重要
検証する
終盤で検証
重要
全部作る

可変
優先順位を考えながら必要なものを作る
重要
作りこむ
頻繁に確認
重要
必要なものを作る

重要
最初の計画どおり

重要計画を頻繁に見直す

C（費用）
D（期間）
（計画）

アジャイルソフトウェア開発宣言
計画に従うことよりも変化への対応を

包括的なドキュメントよりも動くソフトウェアをコミュニケーションと成長
要素

従来の開発

アジャイル

コミュニ
ドキュメント中心
ケーション

対話を重視
動くもので確認リーダー

指示し管理する

支援する

メンバ

指示に従う

自主性を発揮ふりかえり プロジェクトの最後頻繁に行う

アジャイルソフトウェア開発宣言
プロセスやツールよりも個人と対話を契約交渉よりも顧客との協調を

包括的なドキュメントよりも動くソフトウェアをでもアジャイルは銀の弾丸ではない

私たちは、ソフトウェア開発の実践あるいは実践を手助けをする活動を通じて、よりよい開発方法を見つけだそうとしている。

アジェンダ• アジャイルとは？
• アジャイルの特徴• ScopeとQCD• コミュニケーションと成長• できることからはじめてみよう• よくある質問

できることからはじめてみよう
ふりかえり• プロジェクト活動の改善点をみつける• プロジェクトメンバー間の結束にも繋がる場を設定

データをアイデア

する

収集する

を出す

準備

タイムライン
KPTなど

何をすべ
きかを決定する

議論

レトロス
ペクティ
ブを終了
する

感謝！

できることからはじめてみよう
社内読書会• アジャイルについての知識・認識の土台をチーム内で作り共有する• チームの課題について話し合う機会にもなるできることからはじめてみよう
ファシリテーション研修• アジャイルでは、対話を重視するためミーティングが多くなりがち• ミーティングをスムーズに進行させること、参加者の思いをうまく引き出すしてきちんと成果をだすことが重要• そのため、ファシリテーションスキルを身につけることは、アジャイルの良さを引き出すために役立つアジェンダ• アジャイルとは？
• アジャイルの特徴• ScopeとQCD• コミュニケーションと成長• できることからはじめてみよう• よくある質問よくある質問• ドキュメント書かないんでしょ？
• プロトタイプのことでしょ？
• 打ち合わせに時間がかかるでしょ？

• 常に全力疾走で疲れるでしょ？
• 個人に高いスキルが求められるんでしょ？
• 最初にアーキテクチャやデータモデルを決めなければいけないのでは？
• ペアプロって工数２倍かかるんでしょ？
• 最初にしっかりと計画しないんだって？
• 一括請負契約ではできないのでは？
• 品質を確保できないのでは？
• 大規模開発には向かないのではないか？
• 周りを説得するのが大変。どうすれば？

本日のアジャイルジャパンの登壇者、出席者の方々と議論しましょう！

ひとつだけ・・• 周りを説得するのが大変。どうすれば？
パターン例：

・小さな成功・ステップバイステップ

・協力を求める・何かをたべながら・勉強会・みんなを巻き込むなど

まとめ アジャイルは「形容詞」

 アジャイルソフトウェア開発宣言と背後の原則
 アジャイルは変化への「適応型」
 アジャイルは人間中心 周りの人と議論・会話しましょう最後に本日のアジャイルジャパン、楽しみましょう！