134
角谷 信太郎 KAKUTANI Shintaro; Nihon Ruby-no-kai; Eiwa System Management,Inc. 日本Rubyの会 (株)永和システムマネジメント [email protected] 2010-04-05(Mon),楽天株式会社 解読 アジャイル ソフトウェア開発 Demythifying Agile Software Development 201046日火曜日

Demystifying Agile Software Development

Embed Size (px)

DESCRIPTION

2010-04-05, rakuten

Citation preview

Page 1: Demystifying Agile Software Development

角谷 信太郎KAKUTANI Shintaro; Nihon Ruby-no-kai; Eiwa System Management,Inc.

日本Rubyの会(株)永和システムマネジメント [email protected]

2010-04-05(Mon),楽天株式会社

解読アジャイルソフトウェア開発Demythifying Agile Software Development

2010年4月6日火曜日

Page 2: Demystifying Agile Software Development

角谷信太郎kakutani.comKAKUTANI Shintaro

2010年4月6日火曜日

Page 3: Demystifying Agile Software Development

提 供

情報化技術を通じて社会と共生する

2010年4月6日火曜日

Page 4: Demystifying Agile Software Development

角谷信太郎

✓受託開発のプログラマ✓日本Rubyの会理事✓技術書の翻訳・監訳

2010年4月6日火曜日

Page 5: Demystifying Agile Software Development

2010年4月6日火曜日

Page 6: Demystifying Agile Software Development

よろしくお願いします

2010年4月6日火曜日

Page 7: Demystifying Agile Software Development

http://www.flickr.com/photos/koyhoge/3281001905/2010年4月6日火曜日

Page 8: Demystifying Agile Software Development

http://www.flickr.com/photos/snoozer/540458133/2010年4月6日火曜日

Page 9: Demystifying Agile Software Development

2010年4月6日火曜日

Page 10: Demystifying Agile Software Development

答えは42だが、質問は失われている

2010年4月6日火曜日

Page 11: Demystifying Agile Software Development

2010年4月6日火曜日

Page 12: Demystifying Agile Software Development

http://rubykaigi.org/2010/ja/CallForSponsors.html2010年4月6日火曜日

Page 13: Demystifying Agile Software Development

http://rubykaigi.org/2010/ja/CallForSponsors.html2010年4月6日火曜日

Page 14: Demystifying Agile Software Development

Agile Software Development

http://www.flickr.com/photos/long-mai/3569550298/2010年4月6日火曜日

Page 15: Demystifying Agile Software Development

http://www.amazon.co.jp/o/ASIN/4873113636/kakutani-222010年4月6日火曜日

Page 16: Demystifying Agile Software Development

Photo taken by Ryunosuke Kakutani2010年4月6日火曜日

Page 17: Demystifying Agile Software Development

2010年4月6日火曜日

Page 18: Demystifying Agile Software Development

http://www.amazon.co.jp/o/ASIN/4873113636/kakutani-222010年4月6日火曜日

Page 19: Demystifying Agile Software Development

Agile Software Development

http://www.flickr.com/photos/long-mai/3569550298/2010年4月6日火曜日

Page 20: Demystifying Agile Software Development

再注目される“アジャイル”✓マネージャ, 経営層に✓ かつては現場リーダ,プログラマの祈りだった

✓ “非ウォーターフォール”✓ 「ここではないどこか」の総称として

✓事例が積み重なってきた✓ 北米の2006年頃の状況に似ている?

2010年4月6日火曜日

Page 21: Demystifying Agile Software Development

依然としてよくある誤解✓ドキュメントを書かない✓計画をたてない✓短期開発に向いている✓ “プラクティス”をやる✓毎回リリースするの?

2010年4月6日火曜日

Page 22: Demystifying Agile Software Development

http://gihyo.jp/dev/serial/01/agile2010年4月6日火曜日

Page 23: Demystifying Agile Software Development

根源的な態度

2010年4月6日火曜日

Page 24: Demystifying Agile Software Development

http://www.amazon.co.jp/o/ASIN/0321503627/kakutani-222010年4月6日火曜日

Page 25: Demystifying Agile Software Development

“「予期しない変化が起きる」ということを

予期する

Expect Unexpected Changes

2010年4月6日火曜日

Page 26: Demystifying Agile Software Development

Agile Software Development

http://www.flickr.com/photos/long-mai/3569550298/2010年4月6日火曜日

Page 27: Demystifying Agile Software Development

✓変化する環境に、✓適応しながら、✓ビジネス価値のある✓ソフトウェアを✓提供し続けるための作戦

アジャイルな開発とは

2010年4月6日火曜日

Page 28: Demystifying Agile Software Development

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

Manifesto forAgile Software Development

2010年4月6日火曜日

Page 29: Demystifying Agile Software Development

http://www.amazon.co.jp/o/ASIN/4894716852/kakutani-222010年4月6日火曜日

Page 30: Demystifying Agile Software Development

http://www.amazon.co.jp/o/ASIN/0321579364/kakutani-222010年4月6日火曜日

Page 31: Demystifying Agile Software Development

http://www.amazon.co.jp/o/ASIN/482228350X/kakutani-222010年4月6日火曜日

Page 32: Demystifying Agile Software Development

アジャイル開発手法✓ eXtreme Programming(XP)✓ ムーブメントの先駆けにして最強✓ 技術とビジネスのあいだに調和をもたらす

✓ Scrum✓ プロジェクト運営と心構えのフレームワーク✓ 北米でアジャイルといえば今はこれ。大流行。

✓ Lean✓ ソフトウェアを活用したビジネスのムダをなくす

2010年4月6日火曜日

Page 33: Demystifying Agile Software Development

アジャイル開発手法✓インクリメンタル✓ Incremental✓ 漸進的✓ 少しずつ積み重ねていく

✓イテレーティブ✓ Iterative✓ 繰り返し✓ 2週間~1ヶ月単位でのタイムボックス

2010年4月6日火曜日

Page 34: Demystifying Agile Software Development

インクリメンタル

2010年4月6日火曜日

Page 35: Demystifying Agile Software Development

要求

TDD 受入

フィードバック

2010年4月6日火曜日

Page 36: Demystifying Agile Software Development

要求

TDD 受入

フィードバック

2010年4月6日火曜日

Page 37: Demystifying Agile Software Development

要求

TDD 受入

フィードバック

2010年4月6日火曜日

Page 38: Demystifying Agile Software Development

要求

TDD 受入

フィードバック

2010年4月6日火曜日

Page 39: Demystifying Agile Software Development

イテレーティブ

2010年4月6日火曜日

Page 40: Demystifying Agile Software Development

半年とか1年

要求

TDD

受入

フィードバック?

2010年4月6日火曜日

Page 41: Demystifying Agile Software Development

要求

TDD

フィードバック

半年とか1年

受入!!!

2010年4月6日火曜日

Page 42: Demystifying Agile Software Development

半年とか1年2010年4月6日火曜日

Page 43: Demystifying Agile Software Development

アジャイル開発手法✓インクリメンタルかつイテレーティブ

✓少しずつの積み重ねを繰り返していく

✓フィードバック重要2010年4月6日火曜日

Page 44: Demystifying Agile Software Development

インクリメンタル開発の流れ

バックログ

リリース計画

本番環境

受入テスト

受入テストケース

タスク

テスト

コード

フィードバック

優先順位づけ 分解

完了条件

テスト駆動開発

満足条件

統合

実施

検証

デプロイ

2週間でnバックログをこなす

2010年4月6日火曜日

Page 45: Demystifying Agile Software Development

インクリメンタル開発の流れマイルストーン1 マイルストーン2

...

イテレーション

マイルストーン: マイルストーンは契約の単位です。1つのマイルストーンにつき、1回以上リリースするものとします。

リリース: リリースプランニングを通じて、リリースに含める内容を優先順位にしたがって各イテレーションに割り当てます。含められる分量は、過去のイテレーション実績をもとに決定します。

イテレーション: 1~2週間をタイムボックスとして、リリース計画で割り当てられた作業を実施します。状況の変化に応じて優先順位の変更に適応します。

リリース1 リリース2 リリース3

1 2 3 4 5 6 7 8 9

リリース4

イテレーション イテレーション

10 11 ...イテレーション

2010年4月6日火曜日

Page 46: Demystifying Agile Software Development

アジャイル開発手法✓インクリメンタル✓ Incremental✓ 漸進的✓ 少しずつ積み重ねていく

✓イテレーティブ✓ Iterative✓ 繰り返し✓ 2週間~1ヶ月単位でのタイムボックス

2010年4月6日火曜日

Page 47: Demystifying Agile Software Development

“ホモ・サピエンスはパターン認識生物だ、とパーカーボーイはいう。それは才能でもあり、罠でもある。ーーウィリアム・ギブスン『パターン・リコグニション』

2010年4月6日火曜日

Page 48: Demystifying Agile Software Development

http://www.imgspark.com/image/view/all/230089/2010年4月6日火曜日

Page 49: Demystifying Agile Software Development

手法や名前に惑わされてはいけない!!

2010年4月6日火曜日

Page 50: Demystifying Agile Software Development

http://www.amazon.co.jp/o/ASIN/487311392X/kakutani-222010年4月6日火曜日

Page 51: Demystifying Agile Software Development

『Head First ソフトウェア開発』

“プロセスとは、どのような図、文書、テストを実行すべきかに関する形式的な一連の規則というよりも…実は実行すべきことや実行すべきときを表すものにすぎないのです。また、頭文字も必要ありません…適切に機能すればよいのです。

2010年4月6日火曜日

Page 52: Demystifying Agile Software Development

『Head First ソフトウェア開発』

“自分のチームと自分のプロジェクトに役立つプロセスを選び…そのプロセスが生み出した成果物を自分の顧客の要望に合うように調整します。

2010年4月6日火曜日

Page 53: Demystifying Agile Software Development

非ウォーターフォール

2010年4月6日火曜日

Page 54: Demystifying Agile Software Development

http://morguefile.com/archive/display/1969272010年4月6日火曜日

Page 55: Demystifying Agile Software Development

提 供

情報化技術を通じて社会と共生する

2010年4月6日火曜日

Page 56: Demystifying Agile Software Development

http://www.esm.co.jp/company/outline.html2010年4月6日火曜日

Page 57: Demystifying Agile Software Development

http://www.rakuten.co.jp/recruit/about/concept.html2010年4月6日火曜日

Page 58: Demystifying Agile Software Development

http://www.amazon.co.jp/o/ASIN/4873113636/kakutani-222010年4月6日火曜日

Page 59: Demystifying Agile Software Development

http://corp.rakuten.co.jp/csr/management/csr/2010年4月6日火曜日

Page 60: Demystifying Agile Software Development

Photo taken by Ryunosuke Kakutani2010年4月6日火曜日

Page 61: Demystifying Agile Software Development

Photo taken by Shintaro Kakutani 2010年4月6日火曜日

Page 62: Demystifying Agile Software Development

http://www.amazon.co.jp/o/ASIN/4306043061/kakutani-222010年4月6日火曜日

Page 68: Demystifying Agile Software Development

2010年4月6日火曜日

Page 69: Demystifying Agile Software Development

2010年4月6日火曜日

Page 70: Demystifying Agile Software Development

http://www.amazon.co.jp/o/ASIN/4839924023/kakutani-222010年4月6日火曜日

Page 71: Demystifying Agile Software Development

http://www.amazon.co.jp/o/ASIN/0131479415/kakutani-222010年4月6日火曜日

Page 72: Demystifying Agile Software Development

「アジャイルプロジェクトの見積りと計画づくり」ではなく、見積りや計画づくりといったプロセスをアジャイルに進めるための一冊

2010年4月6日火曜日

Page 73: Demystifying Agile Software Development

You know? I just do things.

2010年4月6日火曜日

Page 74: Demystifying Agile Software Development

http://www.flickr.com/photos/alastairhumphreys/3188288778/

複数レベルでの計画づくり

2010年4月6日火曜日

Page 75: Demystifying Agile Software Development

複数レベルの計画づくり戦略

ポートフォリオプロダクトリリース

イテレーション

今日

2010年4月6日火曜日

Page 76: Demystifying Agile Software Development

“この本が問いかけているのは「開発者にとって客は敵なのか味方なのか」という問いだと思う。

id:essa, 「アジャイルな見積りと計画づくり」書評 -- 顧客を黙らせる為の見積りではなく喋らせる為の見積りhttp://d.hatena.ne.jp/essa/20090607/p2

2010年4月6日火曜日

Page 77: Demystifying Agile Software Development

http://www.amazon.co.jp/o/ASIN/4274066940/kakutani-222010年4月6日火曜日

Page 78: Demystifying Agile Software Development

http://www.amazon.co.jp/o/ASIN/097451408X/kakutani-222010年4月6日火曜日

Page 79: Demystifying Agile Software Development

2010年4月6日火曜日

Page 80: Demystifying Agile Software Development

“The Fall of the Rebel Angels-- Pieter Brueghel

叛逆天使の墜落ピーテル・ブリューゲル

(1562年)

2010年4月6日火曜日

Page 81: Demystifying Agile Software Development

Renaissanceルネサンス

2010年4月6日火曜日

Page 82: Demystifying Agile Software Development

ルネサンス✓ 人間らしさの回復✓ 絶対権威(=神)から の解放✓ 自由意志

2010年4月6日火曜日

Page 83: Demystifying Agile Software Development

別実装2010年4月6日火曜日

Page 84: Demystifying Agile Software Development

“San Michele scaccia gli angeli ribelli -- Domenico Beccafumi

叛逆天使を退治する大天使ミカエルドミニコ・ベッカフーミ

(1525年)

2010年4月6日火曜日

Page 85: Demystifying Agile Software Development

“叛逆した天使らに神の力を振るう大天使ミカエルは、父なる神の威光により神々しいまでの輝きを放ち、それは父なる神の絶対的な存在と力を示すものであると同時に、正義による完全な勝利を表している。http://www.salvastyle.com/menu_renaissance/brueghel_angels.html

2010年4月6日火曜日

Page 86: Demystifying Agile Software Development

“The Fall of the Rebel Angels-- Pieter Brueghel

叛逆天使の墜落ピーテル・ブリューゲル

(1562年)

2010年4月6日火曜日

Page 87: Demystifying Agile Software Development

“本作では≪善徳≫と≪悪徳≫が繰り広げる、渾然とした闘争場面の描写に注力され、それは画面全体を支配する混沌とした場面表現や、天上の光の中から≪善徳≫と≪悪徳≫が入り乱れ降下してくる姿としても示されている。http://www.salvastyle.com/menu_renaissance/brueghel_angels.html

2010年4月6日火曜日

Page 88: Demystifying Agile Software Development

悪魔の囁きと天使の声との間で揺れる開発者の心理

2010年4月6日火曜日

Page 89: Demystifying Agile Software Development

2010年4月6日火曜日

Page 90: Demystifying Agile Software Development

He who chooses the beginning of a road chooses the place it leads to.

道の起点を決める者が、その行先を決める

ー『アジャイルプラクティス』

2010年4月6日火曜日

Page 91: Demystifying Agile Software Development

道2010年4月6日火曜日

Page 92: Demystifying Agile Software Development

道✓ road - 通り道✓ way - やり方✓ tao -「道」

2010年4月6日火曜日

Page 93: Demystifying Agile Software Development

2010年4月6日火曜日

Page 94: Demystifying Agile Software Development

道 - 陰陽 - ダイナミズム✓陰中陽あり、陽中陰あり✓単なる二元論ではない

✓ふたつの要素の活動✓竹内預言とTAO

2010年4月6日火曜日

Page 95: Demystifying Agile Software Development

竹内預言2010年4月6日火曜日

Page 96: Demystifying Agile Software Development

http://www.amazon.co.jp/o/ASIN/4873113636/kakutani-222010年4月6日火曜日

Page 97: Demystifying Agile Software Development

“プログラムを書いたことのないシステムエンジニアが威張っているような会社は早晩亡びる。

竹内郁雄「推薦のことば」(『ビューティフル・コード』)

2010年4月6日火曜日

Page 98: Demystifying Agile Software Development

道2010年4月6日火曜日

Page 99: Demystifying Agile Software Development

http://www.amazon.co.jp/o/ASIN/4873113636/kakutani-222010年4月6日火曜日

Page 100: Demystifying Agile Software Development

http://www.amazon.co.jp/o/ASIN/4873113636/kakutani-222010年4月6日火曜日

Page 101: Demystifying Agile Software Development

The Art OfAgileDevelopment(TAO-AD)

2010年4月6日火曜日

Page 102: Demystifying Agile Software Development

2010年4月6日火曜日

Page 103: Demystifying Agile Software Development

非ウォーターフォール

2010年4月6日火曜日

Page 104: Demystifying Agile Software Development

テクノロジビジネス

2010年4月6日火曜日

Page 105: Demystifying Agile Software Development

保守開発

2010年4月6日火曜日

Page 106: Demystifying Agile Software Development

技芸工学

2010年4月6日火曜日

Page 107: Demystifying Agile Software Development

ドキュメント

コード

2010年4月6日火曜日

Page 108: Demystifying Agile Software Development

ライフワーク

2010年4月6日火曜日

Page 109: Demystifying Agile Software Development

設計テスト

2010年4月6日火曜日

Page 110: Demystifying Agile Software Development

http://www.amazon.co.jp/o/ASIN/4873113636/kakutani-222010年4月6日火曜日

Page 111: Demystifying Agile Software Development

http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr2010年4月6日火曜日

Page 112: Demystifying Agile Software Development

http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr2010年4月6日火曜日

Page 113: Demystifying Agile Software Development

http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr2010年4月6日火曜日

Page 114: Demystifying Agile Software Development

http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr2010年4月6日火曜日

Page 115: Demystifying Agile Software Development

http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr2010年4月6日火曜日

Page 116: Demystifying Agile Software Development

http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr2010年4月6日火曜日

Page 117: Demystifying Agile Software Development

http://www.amazon.co.jp/o/ASIN/487311389X/kakutani-222010年4月6日火曜日

Page 118: Demystifying Agile Software Development

1章ビジネスソフトウェアの「ラストマイル」を解決するRoy Singham

2010年4月6日火曜日

Page 119: Demystifying Agile Software Development

対象システム

本番環境

開発既存

システム

ビジネス要求

ビジネス価値

外部制約(法,規制...)

エンドツーエンド

2010年4月6日火曜日

Page 120: Demystifying Agile Software Development

対象システム

本番環境

開発既存

システム

ビジネス要求

ビジネス価値

外部制約(法,規制...)

エンドツーエンド

アジャイル

2010年4月6日火曜日

Page 121: Demystifying Agile Software Development

対象システム

本番環境

開発既存

システム

ビジネス要求

ビジネス価値

外部制約(法,規制...)

“全体”エンドツーエンド

2010年4月6日火曜日

Page 122: Demystifying Agile Software Development

http://www.amazon.co.jp/o/ASIN/4274067297/kakutani-222010年4月6日火曜日

Page 123: Demystifying Agile Software Development

http://www.amazon.co.jp/o/ASIN/4274067491/kakutani-222010年4月6日火曜日

Page 124: Demystifying Agile Software Development

Agile Software Development

http://www.flickr.com/photos/long-mai/3569550298/2010年4月6日火曜日

Page 125: Demystifying Agile Software Development

根源的な態度

2010年4月6日火曜日

Page 126: Demystifying Agile Software Development

“「予期しない変化が起きる」ということを

予期する

Expect Unexpected Changes

2010年4月6日火曜日

Page 127: Demystifying Agile Software Development

アジャイル開発手法✓インクリメンタル✓ Incremental✓ 漸進的✓ 少しずつ積み重ねていく

✓イテレーティブ✓ Iterative✓ 繰り返し✓ 2週間~1ヶ月単位でのタイムボックス

2010年4月6日火曜日

Page 128: Demystifying Agile Software Development

インクリメンタル

2010年4月6日火曜日

Page 129: Demystifying Agile Software Development

イテレーティブ

2010年4月6日火曜日

Page 130: Demystifying Agile Software Development

http://www.amazon.co.jp/o/ASIN/4873113636/kakutani-222010年4月6日火曜日

Page 131: Demystifying Agile Software Development

Photo taken by Shintaro Kakutani 2010年4月6日火曜日

Page 132: Demystifying Agile Software Development

2010年4月6日火曜日

Page 133: Demystifying Agile Software Development

“You must be the changeyou want to see in the world.

http://fr.wikipedia.org/wiki/Fichier:MKGandhi.jpg2010年4月6日火曜日

Page 134: Demystifying Agile Software Development

http://www.flickr.com/photos/29242822@N00/610493529/2010年4月6日火曜日