Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
History of WaterFall
Search
semiyashin
June 21, 2012
Technology
15
12k
History of WaterFall
20120621
semiyashin
June 21, 2012
Tweet
Share
More Decks by semiyashin
See All by semiyashin
Backlog Talk part1
semiyashin
0
61
Backlog Talk part2
semiyashin
0
94
sales_strategy
semiyashin
0
89
dancing_dev
semiyashin
0
52
develop_process
semiyashin
0
72
start_producer
semiyashin
0
190
eds_strategy
semiyashin
0
140
shibuyarb20130515
semiyashin
1
200
TokyoRUbyKaigi_10
semiyashin
0
230
Other Decks in Technology
See All in Technology
滅・サービスクラス🔥 / Destruction Service Class
sinsoku
6
1.6k
表現を育てる
kiyou77
1
210
2025-02-21 ゆるSRE勉強会 Enhancing SRE Using AI
yoshiiryo1
1
320
Nekko Cloud、 これまでとこれから ~学生サークルが作る、 小さなクラウド
logica0419
2
960
インフラをつくるとはどういうことなのか、 あるいはPlatform Engineeringについて
nwiizo
5
2.6k
Cloud Spanner 導入で実現した快適な開発と運用について
colopl
1
600
【Developers Summit 2025】プロダクトエンジニアから学ぶ、 ユーザーにより高い価値を届ける技術
niwatakeru
2
1.4k
Classmethod AI Talks(CATs) #17 司会進行スライド(2025.02.19) / classmethod-ai-talks-aka-cats_moderator-slides_vol17_2025-02-19
shinyaa31
0
120
分解して理解する Aspire
nenonaninu
1
110
リーダブルテストコード 〜メンテナンスしやすい テストコードを作成する方法を考える〜 #DevSumi #DevSumiB / Readable test code
nihonbuson
11
7.2k
運用しているアプリケーションのDBのリプレイスをやってみた
miura55
1
710
エンジニアが加速させるプロダクトディスカバリー 〜最速で価値ある機能を見つける方法〜 / product discovery accelerated by engineers
rince
4
320
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
330
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
9
440
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Music & Morning Musume
bryan
46
6.3k
GitHub's CSS Performance
jonrohan
1030
460k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Transcript
最近アジャイル界隈で よく聞く話
「自分の現場がウォーター フォールで全然ダメで それをアジャイルなら 変えられないかと思って」
いったい誰と戦って いるんだ・・・・・
ちょっと待て
「自分の現場がウォーター フォールで全然ダメで それをアジャイルなら 変えられないかと思って」
そもそも
ウォーターフォールって だめなの?
なんでそんなものを みんな使っているの?
というか ウォーターフォールって なに?
いつどこで 生まれたものなの?
ということで我々は ウォーターフォールの 起源に迫ってみることにした
None
History of WaterFall 瀬宮 新
ウォーターフォールだと 思われているもの
・よくある仕様変更 ・手戻りしない直列的な工程 ・大量の書類 ・絶対固定の納期と予算 →そしてデスマーチへ
本当の ウォーターフォール ってそもそもなに?
ウォーターフォールの起源 Winston.W.Royce Managing the Development of Large Software Systems という論文(5ページくらい)
分析 実装
要求 分析 設計 実装 運用 試験
2回実施せよ (プロトタイプ) テストを計画せよ (設計よりも前に) 顧客をまきこめ (反復的なチェック) Royceは言った(1)
当初のRoyce案では ウォーターフォールを 反復型開発として して提案していた
仕様変更があったら 費用/納期を追加しろ 仕様変更があったら もう一回やりなおせ Royceは言った(2)
つまり
ここさぁなんかイメージと 違うんだよね
すると
おかわり=反復的な開発
なるほどなるほど
それでは
どうしてこうなった
None
時は1980年代
・システム開発は大規模化 ・税金による予算化に 「おかわり」は不向き ・予算と納期の追加が続発 →「おかわり」しすぎ!
再発防止策が必要だな
ということで
DOD-STD-2167(1985.6) (文書をいっぱい作ろう!) DOD-STD-2167A(1988.2) (工程の反復の否定 ウォーターフォールは 「おかわり」禁止!)
反復型開発が否定され 直列的ウォーターフォール が生まれた
DOD-STD-2167A(1988.2) を真に受けると ・ウォーターフォール (絶対に「おかわり」禁止) ・ほかの開発手法 (大規模開発に不向き) の二択
そして滝は詰まり始めた
None
一方、日本では
1985. 日本電信電話 設立 1988. NTTデータ 設立 1990. バブル崩壊 (システム要員の外注化)
日本ではSIが発達し同時に 開発手法もアメリカから 輸入された
システム開発の普及 ・大規模システム = ウォーターフォール ・書類が山盛り ・「おかわり」禁止 がデファクトスタンダードに
None
輸入された経緯はわかった
日本では今でも ウォーターフォールが 炎上している
それではアメリカでは 炎上しなかったの?
None
もちろん大炎上したよ
大炎上する案件が複数発生
再発防止策が必要だな
DOD-STD-2167A(1988.2) ↓ MIL-STD-498(1994.12) (頻繁な顧客レビューの推奨) DOD 5000.2(2000) (反復型および スパイラル型を推奨)
開発は反復型重視へ 回帰した
さらに
XP 白本(1999) アジャイルマニフェスト (2001.2) (1993.のJacob Nielsen のUIテスト あたりをみても業界全体が 反復的開発と頻繁なFBに 傾いている)
反復型開発の復活
つまりダメな ウォーターフォールに 嵌り込んでいたのは・・ 日本だけ!
嵌っている・・首まで・・
つまりダメな ウォーターフォールに 嵌り込んでいたのは・・ 日本だけ!
これを知った時、私は
こう思いました
調達標準は反復型重視へ 回帰した
None
ではウォーターフォールは どうあるべき?
・プロトタイプを作る ・頻繁な顧客フィードバック ・反復的で機能追加型の開発 にシフトすべき
None
そもそも ウォーターフォール <<< <(壁)<<アジャイル なのか?
(一面の真実) 仕様変更が許容範囲に収まる場合 ウォーターフォールのほうが アジャイルよりも安いし早い 完全にアジャイルに進めると 対象やドメインモデルが複雑だと 破綻する可能性が高い
ではどちらを選択すべきか?
慣れた人に任せるべきだ (Martin Fawler)
None
では日本のソフトウェア開発は これからどうなる
・反復型ウォーターフォール ・アジャイル ・そのほか に分かれると思う 残念なウォーターフォールも残るだろう
None
ご清聴ありがとうございました