アジャイル初心者向けセミナー

アジャイルジャパン・プレイベント企画
アジャイル初心者向けセミナー
2015/11/27
中佐藤 麻記子(なかさと まきこ)
(株)
(株)豆蔵
本トレーニングテキストの一部または全部を著作権法の定める範囲を超え、
無断で複写、複製、転載、テープ化、ファイル化することを禁じます。
1
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
セミナープログラム
13:00 ~ 15:00 : 初心者向け講義
15:10 ~ 17:40 : 事例発表 (4トラック × 4コマ)
17:45 ~ 18:00 : ふりかえり
18:10 ~ 19:30 : 交流会
2
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
感謝
Thanks to
NECソリューションイノベータ様
NECソリューションイノベータ様
Thanks to
ファシリテーション担当の方々
3
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
このセミナーの背景
Agile Japan 2016の
の 「プレイベント」 です
「アジャイルに詳しくない人こそ Agile Japan に来てほしい」
に来てほしい」
という思いで始めました
行ったことのない外部セミナー参加に不安を覚える方に
雰囲気に慣れていただく意味もあります
前回も参加された方は?
4
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
ところで
宿題しましたよね?
実行委員長の和田さんからのメール内:
“事前にスクラムガイド(日本語版)をお読みください(全17ページ)。
このガイドを一読されていることを前提に、講義・事例発表をします。”
5
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
初心者向け講義のアジェンダ
セクション1: アジャイルとは
セクション2: 事例について
セクション3: Agile Japan 2016 のテーマ
6
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
セクション1
アジャイルとは
7
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
アジャイルソフトウェア開発宣言(アジャイルマニフェスト)
私たちは、ソフトウェア開発の実践あるいは
私たちは、ソフトウェア開発の実践あるいは実践を手助けをする活動を通じて
実践あるいは実践を手助けをする活動を通じて、
実践を手助けをする活動を通じて、
よりよい開発方法を見つけだそうとしている
よりよい開発方法を見つけだそうとしている。この
よい開発方法を見つけだそうとしている。この活動を通して、私たちは以下の価値に至った。
。この活動を通して、私たちは以下の価値に至った。
プロセスやツールより
プロセスやツールよりも
やツールよりも
包括的なドキュメントより
包括的なドキュメントよりも
なドキュメントよりも
契約交渉より
契約交渉よりも
交渉よりも
計画に従うことより
計画に従うことよりも
に従うことよりも
個人と
個人と対話
動くソフトウェア
顧客との
顧客との協調
との協調
変化への
変化への対応
への対応
を、
を、
を、
を、
価値とする。すなわち、左記のことがらに価値があることを認めながら
価値とする。すなわち、左記のことがらに価値があることを認めながらも
を認めながらも、
私たちは右記のことがらにより価値をおく
私たちは右記のことがらにより価値をおく。
は右記のことがらにより価値をおく。
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
Robert C. Martin
Steve Mellor
Ken Schwaber
Jeff Sutherland
Dave Thomas
© 2001, 上記の著者たち
この宣言は、この注意書きも含めた形で全文を含めることを条件に自由にコピーしてよい。
8
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
さまざまなアジャイル開発手法
エクストリーム・プログラミング(Extreme Programming: XP))
スクラム(Scrum))
クリスタル(Crystal))
フィーチャ駆動開発(Feature Driven Development: FDD))
適応型ソフトウェア開発
(Adaptive Software Development: ASD)
)
達人プログラマ
達人プログラマ(Pragmatic Programmer))
Dynamic Systems Development Method: DSDM
Executable UML
など
9
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
エクストリーム・プログラミング(XP)
皆さんが(もしかしたら)ご存じの
テスト駆動開発(TDD)とか、リファクタリングとか、
継続的インテグレーション(CI)とか、
顧客同席とか、ペアプログラミングとか、
を、最初に言った手法
<<interface>>
価価
価値
コミュニケーション
フィードバック
シンプリシティ + リスペクト
勇気
プラクティス
プラクティス
10
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
プラクティス一覧
主要プラクティス
全員同席
チーム全体
情報満載のワークスペース
いきいきとした仕事
ペアプログラミング
ストーリー
週次サイクル
四半期サイクル
ゆとり
10分ビルド
継続的インテグレーション
テストファーストプログラミング
インクリメンタルな設計
11
導出プラクティス
本物の顧客参加
インクリメンタルなデプロイ
チームの継続
チームの縮小
根本原因分析
コードの共有
コードとテスト
単一のコードベース
デイリーデプロイ
交渉によるスコープ契約
利用都度課金
など
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
アジャイルプラクティスメトロマップ
アジャイルプラクティス
メトロマップ
12
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
アジャイルプラクティスメトロマップ(表)
13
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
アジャイルプラクティスメトロマップ(裏)
14
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
イテレーション
イテレーション(スクラム用語:スプリント)
開発期間を一定の期間に区切って、開発作業を反復的に行う
通常1イテレーション = 1週間から3か月
1イテレーション内で、要件分析から
実装・テストまで、すべての開発
作業を行う
イテレーション
イテレーション
イテレーション
・・・
イテレーションの終わりには、ユーザーから見て分かる
成果物をリリースする
15
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
会議体
計画会議(スクラム用語:スプリントプランニング)
レビュー会議(スクラム用語:スプリントレビュー)
レトロスペクティブ(ふりかえり)
日次スタンドアップミーティング(朝会、スクラム用語:デイリースクラム)
イテレーション
レトロスペクティブ
レビ ュー会議
計 画会議
16
日次スタンドアップ
日次スタンドアップ
日次スタンドアップ
ミーティング
ミーティング
ミーティング
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
ストーリー
ストーリーリスト(スクラム用語:プロダクトバックログ)
ユーザーストーリーとも呼ぶ
要件リスト
イテレーションごとの計画会議で
この中のどれを対象にするかを決める
:
:
17
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
では
じゃあやってみよう!
18
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
そもそも
なんでアジャイル?
19
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
ウォーターフォール開発の問題?
入力が正しいこと
Input
途中に落とし穴が
ないこと
Process
設定されたゴールが
正しいこと
Output
階層化されたプロセスにおいて
100%正しくIPOがつながっている
こと
20
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
計画型 vs 適応型
ウォーターフォール
スタート
初めにキッチリ決めて、
その通りにやろうとする
ゴール
21
アジャイル
スタート
作るものだけでなく、
やり方そのものも
試行錯誤する
ゴール
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
継続的~~
アジャイルは
22
計画を立て続けます
要件定義をし続けます
設計をし続けます
実装をし続けます
テストをし続けます
プロセスを変更し続けます
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
立ち戻って
「価値」 の意味とは
23
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
価価とプラクティスの関係
コミュニケーション
フィードバック
シンプリシティ
勇気
<<interface>>
価価
価値
プラクティス
プラクティス
24
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
コミュニケーション
チームによるソフトウェア開発で最も重要なのは、コミュニケーション
リーダー
顧客
システム
開発者
25
開発者
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
フィードバック
リリース
イテレーション
チームの進捗を
毎日確認する
日次
製品のビジネス
的な妥当性を
確認する
26
成果物や手法
を頻繁に見直
し、改善する
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
フィードバック
構成管理、CI、テスト、リファクタリングを組み合わせることで、継続的に設計
構成管理、 、テスト、リファクタリングを組み合わせることで、継続的に設計
を進化させていく環境を作ることができる
TDDで最低限のテストと実装が維持される
CI によってシステム全体の中で自分が作成したコンポーネントに問題が
ないかが分かる
テストの存在と CI がリファクタリングのセーフティネットになる
SCMサーバー
SCM
サーバー
コード(実装・テスト)
コミット
・構成管理
・継続的
インテグレーション
CIサーバー
サーバー
27
・テスト駆動開発
・リファクタリング
ビルド・
ビルド・テスト・インスペクションの
結果を通知
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
シンプリシティ
よりシンプルなものを選ぶ
コミュニケーション
シンプルな
フィードバック
設計
※ 文書/口頭、どちらがシンプルなコミュニケーション?
※ デザインパターンを使う/使わない、どちらがシンプルな設計?
28
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
勇気
アクションを起こすための勇気/勇気を持てる仕組み
悪い情報が外に出てこなければフィードバックサイクルは回らない
現実を受けとめる
リーダー
顧客
嘘のない
コミュニケーション
システム
開発者
29
開発者
システムを
シンプルに保つ
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
リスペクト
互いのリスペクト/めざすもの(プロジェクト)に対するリスペクト
ゴール
30
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
セクション2
事例について
31
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
事例の聴き方:事例聞きたい病
「事例聞きたい」 病
対処療法として事例を
聞かせると・・・
「でもうちの会社では」 病
32
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
事例の聴き方:銀の弾丸
アジャイルはポンと一式導入すれば
どの会社でもうまくいく魔法の手法
ではないし、そんなものは世の中に
存在しない
33
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
事例の聴き方:なんのため
では、事例紹介はなんのため?
34
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
事例の聴き方:事例の意義
「私の会社では、これがうまくいきませんでした」
「うちのチームでは、朝会に1
「うちのチームでは、朝会に1時間かけています」
「この手法は、今回は効果的でした」
「このツールは一度トライして、やめました」
「インセプションデッキは、とても役立ちました」
「TDDの導入は大変でした」
TDDの導入は大変でした」
「こういう契約形態でやりました」
:
:
他の会社/組織/チームでの試行錯誤の経過と
なぜそうしたか/なぜそうしなかったかを共有して
もらえる機会
35
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
THINK
そのチームが
なぜそうしたか
を読み取る
事例はこれ
<<interface>>
価価
価値
自分たちが
重視すべきもの
を考える
プラクティス
自分たちが
何ができるか
考える
プラクティス
×
コピー
36
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
ベテランさんへのお願い
• 今回は発表者も初心者が多いです
• 誰でも 「初めて」 はあります
• 優しく質問してあげてください
37
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
セクション3
テーマについて
38
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
Agile Japan 2016のテーマ
“あなたとつくるアジャイル”
39
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
Agile Japan 2016のテーマ
あなた
40
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
Agile Japan 2016のテーマ
つくる
41
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved
お待ちしています
“あなたとつくるアジャイル”
Agile Japan 2016 で
お会いしましょう
2016年5月31日(火)
@浅草橋ヒューリックホール
42
Copyright © 2015 MAMEZOU Co., LTD. All rights reserved