エクストリーム・プログラミングの履歴
アジャイル開発の技術
価値(抽象的)
- コミュニケーション
- シンプルさ
- フィードバック
- 勇気
- 尊重
プラクティス(具体的)
CI(継続的インテグレーション)
- コード変更時、日々、週次で開発・ビルド・テスト・フィードバックをぐるぐる回す。
- メリット:短期間での品質向上とデグレードの防止
TDD(テスト駆動開発)
- 「動作するきれいなコード」by Kent Beck
- 動くことを優先させ、きれいにする。
ステップ(サイクル)
- Red:テストを書き、失敗させる
- Green:テストを成功させるための最小限の実装を行う
- Refactoring:テストが成功するまでコードをきれいにする
ペアプログラミング
- 二人一組。ドライバーとナビゲーター
原則
- 人間性
- 多様性
- 改善
- 経済性
- 反省
- 相互利益
- 失敗
- 自己相似性
- 品質
- フロー
- 小さなステップ
- 機会
- 責任の受入
- 冗長性