Agileソフトウェア開発

Agileソフトウェア開発
~新たなソフトウェア開発の手法~
発表
土屋俊介
Agileソフトウェア開発とは?





迅速なソフトウェア開発
軽量な開発手法
安い
変化に柔軟に対応
完成品の質がいい
Agile宣言




個人間の交流を大切にする
うまく動作するソフトウェア開発に努力する
顧客とのコラボレーションを重視する
変化に柔軟に対応することを心がける
なぜAgile?
これまでのプログラミングの問題点
Agileソフトウェア開発の手順
これまでのプログラミングの問題点





テストフェイズでは大まかな変更はできない
再設計はテストフェイズではもうできない
仕方がないのでパッチを当てて修正する
元のプログラムが分からなくなる
顧客は設計段階で言わなかったことを言う
Agileソフトウェア開発の手順
1.
2.
3.
4.
5.
開発するプログラムの案
各機能ごとに分類する
1つずつ機能を開発する
できた機能をプログラムに追加する
また別の機能を製作する
Agileソフトウェア開発の種類



eXtreme Programming (XP)
Crystal
Scrum
eXtreme Programming (XP)の特徴と利点




最も有名なアジャイル開発手法。
最初のうちは手法で定義されたすべてのプ
ラクティスに従うよう求めている
基礎として「コミュニケーション」「シンプルさ」
「フィードバック」「勇気」が挙げられている。
このほかに12 の基本プラクティスがある。
開発者とクライアントがソフトが出来
上がるまでに気をつけることや、その
具体的な方法が書いてある。
Crystal Methodologies – The Basics
(Cont.)
性格シンボルは、システムの故障Cに起因する潜
在的損失を示します
C– 快適さ
D – 自由裁量の金銭
E – 重要な金銭
L – 生命
例:臨界レベルのCは、生命重要なシステムの欠
陥が犠牲を文字通り与えるかもしれないのに対し
て、欠陥によるシステムクラッシュがユーザーに快
適さの損失を引き起こすことを示します
Crystal Methodologies – The Basics
(Cont.)
システム
の臨界
C=快適さ
D=自由度の高い資金
E=必要度の高い資金
L=生命
プロジェクト
の大きさ
スクラム




明確なプロジェクト・マネージメントと要求管
理を重視する
毎日行われる30分以内のミーティングで進
捗状況・目標についての確認をする
開発グループ内のコミュニケーションを図る
基本的開発サイクルは30日
スクラム
スプリントバックログ
製品バックログ