Slide 1

Slide 1 text

最近アジャイル界隈で よく聞く話

Slide 2

Slide 2 text

「自分の現場がウォーター フォールで全然ダメで それをアジャイルなら 変えられないかと思って」

Slide 3

Slide 3 text

いったい誰と戦って いるんだ・・・・・

Slide 4

Slide 4 text

ちょっと待て

Slide 5

Slide 5 text

「自分の現場がウォーター フォールで全然ダメで それをアジャイルなら 変えられないかと思って」

Slide 6

Slide 6 text

そもそも

Slide 7

Slide 7 text

ウォーターフォールって だめなの?

Slide 8

Slide 8 text

なんでそんなものを みんな使っているの?

Slide 9

Slide 9 text

というか ウォーターフォールって なに?

Slide 10

Slide 10 text

いつどこで 生まれたものなの?

Slide 11

Slide 11 text

ということで我々は ウォーターフォールの 起源に迫ってみることにした

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

History of WaterFall 瀬宮 新

Slide 14

Slide 14 text

ウォーターフォールだと 思われているもの

Slide 15

Slide 15 text

・よくある仕様変更 ・手戻りしない直列的な工程 ・大量の書類 ・絶対固定の納期と予算 →そしてデスマーチへ

Slide 16

Slide 16 text

本当の ウォーターフォール ってそもそもなに?

Slide 17

Slide 17 text

ウォーターフォールの起源 Winston.W.Royce Managing the Development of Large Software Systems という論文(5ページくらい)

Slide 18

Slide 18 text

分析 実装

Slide 19

Slide 19 text

要求 分析 設計 実装 運用 試験

Slide 20

Slide 20 text

2回実施せよ (プロトタイプ) テストを計画せよ (設計よりも前に) 顧客をまきこめ (反復的なチェック) Royceは言った(1)

Slide 21

Slide 21 text

当初のRoyce案では ウォーターフォールを 反復型開発として して提案していた

Slide 22

Slide 22 text

仕様変更があったら 費用/納期を追加しろ 仕様変更があったら もう一回やりなおせ Royceは言った(2)

Slide 23

Slide 23 text

つまり

Slide 24

Slide 24 text

ここさぁなんかイメージと 違うんだよね

Slide 25

Slide 25 text

すると

Slide 26

Slide 26 text

おかわり=反復的な開発

Slide 27

Slide 27 text

なるほどなるほど

Slide 28

Slide 28 text

それでは

Slide 29

Slide 29 text

どうしてこうなった

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

時は1980年代

Slide 32

Slide 32 text

・システム開発は大規模化 ・税金による予算化に 「おかわり」は不向き ・予算と納期の追加が続発 →「おかわり」しすぎ!

Slide 33

Slide 33 text

再発防止策が必要だな

Slide 34

Slide 34 text

ということで

Slide 35

Slide 35 text

DOD-STD-2167(1985.6) (文書をいっぱい作ろう!) DOD-STD-2167A(1988.2) (工程の反復の否定 ウォーターフォールは 「おかわり」禁止!)

Slide 36

Slide 36 text

反復型開発が否定され 直列的ウォーターフォール が生まれた

Slide 37

Slide 37 text

DOD-STD-2167A(1988.2) を真に受けると ・ウォーターフォール (絶対に「おかわり」禁止) ・ほかの開発手法 (大規模開発に不向き) の二択

Slide 38

Slide 38 text

そして滝は詰まり始めた

Slide 39

Slide 39 text

No content

Slide 40

Slide 40 text

一方、日本では

Slide 41

Slide 41 text

1985. 日本電信電話 設立 1988. NTTデータ 設立 1990. バブル崩壊 (システム要員の外注化)

Slide 42

Slide 42 text

日本ではSIが発達し同時に 開発手法もアメリカから 輸入された

Slide 43

Slide 43 text

システム開発の普及 ・大規模システム = ウォーターフォール ・書類が山盛り ・「おかわり」禁止 がデファクトスタンダードに

Slide 44

Slide 44 text

No content

Slide 45

Slide 45 text

輸入された経緯はわかった

Slide 46

Slide 46 text

日本では今でも ウォーターフォールが 炎上している

Slide 47

Slide 47 text

それではアメリカでは 炎上しなかったの?

Slide 48

Slide 48 text

No content

Slide 49

Slide 49 text

もちろん大炎上したよ

Slide 50

Slide 50 text

大炎上する案件が複数発生

Slide 51

Slide 51 text

再発防止策が必要だな

Slide 52

Slide 52 text

DOD-STD-2167A(1988.2) ↓ MIL-STD-498(1994.12) (頻繁な顧客レビューの推奨) DOD 5000.2(2000) (反復型および スパイラル型を推奨)

Slide 53

Slide 53 text

開発は反復型重視へ 回帰した

Slide 54

Slide 54 text

さらに

Slide 55

Slide 55 text

XP 白本(1999) アジャイルマニフェスト (2001.2) (1993.のJacob Nielsen のUIテスト あたりをみても業界全体が 反復的開発と頻繁なFBに 傾いている)

Slide 56

Slide 56 text

反復型開発の復活

Slide 57

Slide 57 text

つまりダメな ウォーターフォールに 嵌り込んでいたのは・・ 日本だけ!

Slide 58

Slide 58 text

嵌っている・・首まで・・

Slide 59

Slide 59 text

つまりダメな ウォーターフォールに 嵌り込んでいたのは・・ 日本だけ!

Slide 60

Slide 60 text

これを知った時、私は

Slide 61

Slide 61 text

こう思いました

Slide 62

Slide 62 text

調達標準は反復型重視へ 回帰した

Slide 63

Slide 63 text

No content

Slide 64

Slide 64 text

ではウォーターフォールは どうあるべき?

Slide 65

Slide 65 text

・プロトタイプを作る ・頻繁な顧客フィードバック ・反復的で機能追加型の開発 にシフトすべき

Slide 66

Slide 66 text

No content

Slide 67

Slide 67 text

そもそも ウォーターフォール <<< <(壁)<<アジャイル なのか?

Slide 68

Slide 68 text

(一面の真実) 仕様変更が許容範囲に収まる場合 ウォーターフォールのほうが アジャイルよりも安いし早い 完全にアジャイルに進めると 対象やドメインモデルが複雑だと 破綻する可能性が高い

Slide 69

Slide 69 text

ではどちらを選択すべきか?

Slide 70

Slide 70 text

慣れた人に任せるべきだ (Martin Fawler)

Slide 71

Slide 71 text

No content

Slide 72

Slide 72 text

では日本のソフトウェア開発は これからどうなる

Slide 73

Slide 73 text

・反復型ウォーターフォール ・アジャイル ・そのほか に分かれると思う 残念なウォーターフォールも残るだろう

Slide 74

Slide 74 text

No content

Slide 75

Slide 75 text

ご清聴ありがとうございました