Transcript
Page 1: アジャイルについてちょっとだけよ

www.takumi-businessplace.co.jp

アジャイルについてちょっとだけよ。

匠Business Place 牛尾 剛2011年5月23日(月)

Page 2: アジャイルについてちょっとだけよ

www.takumi-businessplace.co.jp

アジャイル開発の概要

開発プロセスのざっくりとした歴史と、アジャイル開発の概要について

Page 3: アジャイルについてちょっとだけよ

www.takumi-businessplace.co.jp

開発プロセスの歴史

  いいソフトウェアを安く、速くつくるための方法は?

計画主導/先行型設計

カオス型/スクラップ&ビルド

要求

設計

製造

テスト

ものづくり

納期

・計画は納期から逆算した ・とにかくプログラムをつくる ・プログラムはつくっては捨てる

・作業見込を細分化し見積り計画を立てる ・設計技法を用いてコードの前に設計実施 ・製造は設計にしたがってコードを書く

 単純作業

・試行錯誤はやりやすい

・低品質、生産性悪い、納期未定

・計画がなく行き当たりばったり

ソフトウェアエンジニアリング技法

・変更が無い場合に向いている

・ソフトウェア開発には向いていない

・計画通りいくことはほとんどない

プログラムを

動かして初めて問題 が発覚! プロジェクトマネジメント技法

最初から全てを予想できないし、変更も多い、動かしてみないとわからない

最初から

予見は難しい 計画立案

Page 4: アジャイルについてちょっとだけよ

www.takumi-businessplace.co.jp

開発プロセスの歴史

  いいソフトウェアを安く、速くつくるための方法は?

適応型/進化型設計

・極めて短い時間で計画/実行/評価を実施 ・開発中は、要求/設計/製造/テストを行き来する ・動くアプリケーションを短期に作り次の計画の参考にする ・ソフトウェア開発に向いている

・試行錯誤と、生産性/品質確保  の両立

・短期の確実な計画と計測

アジャイルは、適応型の開発プロセス

計画 受入 開発 計画 受入 開発 計画 開発 ・・・

反復1 反復2 反復3

要求

ソフトウェアエンジニアリング技法

進化型プロセスマネジメント技法 設計 製造

テスト

進化型設計技法

Page 5: アジャイルについてちょっとだけよ

www.takumi-businessplace.co.jp

アジャイル開発とは

  迅速かつ適応的にソフトウェア開発を行う軽量な開発手法の総称

  次の価値を共有する   プロセスやツールより、人と人同士の相互作用を重視する   包括的なドキュメントより動作するアプリケーションを重視する   契約上の交渉よりも顧客との協調を重視する   計画に従うよりも変化に対応することを重視する

  代表的な開発手法   eXtreme Programming   Scrum   FDD   Crystal Family   DSDM

Page 6: アジャイルについてちょっとだけよ

www.takumi-businessplace.co.jp

様々なアジャイル開発手法

  アジャイル開発宣言を満たしている開発手法はすべてアジャイル開発手法と呼ばれる

アジャイル開発手法

FDD

DSDM

Crystal Family

スクラム (Scrum)

XP (eXtreme Programming)

その他

最近では、スクラムという手法 が注目されている

最近注目!

Page 7: アジャイルについてちょっとだけよ

www.takumi-businessplace.co.jp

変更に対するコストカーブ

  通常はフェーズが進むにつれ変更のコストは大きくなる   先のフェーズでも変更のコストがあまりかからないように出来ないか?

コスト コスト

時間 時間

通常の開発方法 アジャイル開発 フェーズが進むと 1つの変更のコスト は急激に多くなる

先のフェーズでも 変更のコストを平準化 できないか?

エクストリーム・プログラミング入門より

Page 8: アジャイルについてちょっとだけよ

www.takumi-businessplace.co.jp

アジャイル開発の実施イメージ

  1~4週間毎に、動作するアプリケーションを作る   1~4週間毎に、計画/実施/評価し、改善する

スプリント #1 スプリント #2 スプリント #3 ・・・

1~4週間程度

スプリント計画

開発実施

レビュー 振り返り

初日 最終日

スプリントとは、チームが作業を実施する一定の期間のこと

スプリントの間に、一定期間分の 計画-開発実施-評価(レビュー、振り返り)

を繰り返す

スプリント毎に 動作するアプリケーション

が作成される

スプリント毎にメンバが 改善を実施する

スプリント毎に実施する 内容を決める

アジャイル開発の実施イメージ

リリース計画

Product Owner

Team


Top Related