エクストリーム・プログラミングの履歴

アジャイル開発の技術

価値(抽象的)

  • コミュニケーション
  • シンプルさ
  • フィードバック
  • 勇気
  • 尊重

プラクティス(具体的)

CI(継続的インテグレーション)

  • コード変更時、日々、週次で開発・ビルド・テスト・フィードバックをぐるぐる回す。
  • メリット:短期間での品質向上とデグレードの防止

TDD(テスト駆動開発)

  • 「動作するきれいなコード」by Kent Beck
  • 動くことを優先させ、きれいにする。

ステップ(サイクル)

  • Red:テストを書き、失敗させる
  • Green:テストを成功させるための最小限の実装を行う
  • Refactoring:テストが成功するまでコードをきれいにする

ペアプログラミング

  • 二人一組。ドライバーとナビゲーター

原則

  • 人間性
  • 多様性
  • 改善
  • 経済性
  • 反省
  • 相互利益
  • 失敗
  • 自己相似性
  • 品質
  • フロー
  • 小さなステップ
  • 機会
  • 責任の受入
  • 冗長性