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

アジャイルとウォーターフォール アジャイル 変化に対応する 天才の発想をまね る ウォーター フォール 変化に対応しない 頭のいい人が工夫 すれば思いつく

Slide 13

Slide 13 text

ウォーターフォール開発とは

Slide 14

Slide 14 text

黎明期  1960年代~1970年代

Slide 15

Slide 15 text

発展  30年以上にわたって蓄えられた知見  Code Complete目次 1. 基礎を固める 2. 高品質なコードの作成 3. 変数 4. ステートメント 5. コードの改良 6. システムの考察 7. ソフトウェア職人気質とは

Slide 16

Slide 16 text

ウォーターフォールに類するもの •ベルトコンベア •大量生産 •科学的 フォード式生産方式 •戸籍 役所的やり方 •システムとして仕事を行う •細部まで体系化 仕事のできる人のやり方

Slide 17

Slide 17 text

基本的考え方 分割統治

Slide 18

Slide 18 text

分割統治法 分割統治法(ぶんかつとうちほう、英: divide-and-conquer method)は、そのままでは解決できない大きな問題を小さ な問題に分割し、その全てを解決することで、最終的に最初 の問題全体を解決する、という問題解決の手法である。 出典:Wikipedia

Slide 19

Slide 19 text

小さい問題に分割

Slide 20

Slide 20 text

これではだめ

Slide 21

Slide 21 text

せめてこのくらいに

Slide 22

Slide 22 text

ウォーターフォールでの設計 写真:https://www.canstockphoto.jp/myaccount.php

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

ウォーターフォールの管理手法 設計と管理を分けて分割統治 設計の構造に合わせ、管理も構造化して分割統治 分割したもの一つ一つについて、トップダウンで緻密に管理する

Slide 31

Slide 31 text

ではウォーターフォールはなぜ廃れつ つあるのか

Slide 32

Slide 32 text

ウォーターフォールのデメリット 変化に対応できない

Slide 33

Slide 33 text

プロセスやツー ルよりも 個人と対話を、 包括的なドキュ メントよりも 動くソフトウェ アを、 契約交渉よりも 顧客との協調を、 計画に従うこと よりも 変化への対応を、 価値とする。すなわち、 左記のことがらに価値が あることを 認めながらも、私たちは 右記のことがらにより価 値をおく。 アジャイル開発宣言によく表れている