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