xp-practices について
TDD、継続的インテグレーション、ペアプログラミングなどを段階的に導入するための、ソフトウェアチーム向け XP ガイドです。人とエージェントの協働や、各プラクティスの依存関係も扱います。
主な機能
- 01XP の主要プラクティスを優先付け
- 02ペアプログラミングの導入手順
- 03プラクティス間の依存関係の説明
- 04人とエージェントの協働
- 05セッションや指標の記録
活用シーン
- 01チームに XP を段階的に導入
- 02複雑または高リスクなコードをペアで開発
- 03TDD に沿ったペア作業の構成
- 04エージェントによる変更リスクの分析
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ proffesor-for-testing/ agentic-qe --skill xp-practicesインストール後、Claude Code で/xp-practicesを入力して読み込まれたか確認します。
詳細
エクストリームプログラミング(XP)のプラクティス
<default_to_action> XP のプラクティスを適用する際は、次の点に従います。
- すぐに効果が得られるプラクティスから始めます
- 支援するプラクティスを段階的に取り入れます
- 状況に合わせて調整します
- 結果を測定します
XP の主要なプラクティス(優先順位順):
| プラクティス | ここから始める | 最初に取り組む理由 |
|---|---|---|
| TDD | ✅ はい | すべての基盤となるため |
| 継続的インテグレーション | ✅ はい | 迅速なフィードバックが得られるため |
| ペアプログラミング | ✅ はい | 知識を共有できるため |
| 集合的所有権 | CI と TDD の後 | セーフティネットが必要なため |
| 小規模リリース | CI の後 | インフラストラクチャに依存するため |
ペアプログラミングのクイックスタート:
Driver-Navigator (Classic):
- Driver: Writes code
- Navigator: Reviews, thinks ahead
- Rotate every 20-30 min
Ping-Pong (with TDD):
A: Write failing test
B: Make test pass + refactor
B: Write next failing test
A: Make test pass + refactor
</default_to_action>
クイックリファレンスカード
ペアプログラミングを行うタイミング
| 状況 | ペアで行う? | 理由 |
|---|---|---|
| 複雑またはリスクの高いコード | ✅ 常に | 複数の視点が必要なため |
| 新しいテクノロジー | ✅ 常に | 学習を促進するため |
| オンボーディング | ✅ 常に | 知識を伝達できるため |
| 重大なバグ | ✅ 常に | 2人で考える方がよいため |
| 単純なタスク | ❌ 不要 | 手間に見合わないため |
| 調査用スパイク | ❌ 不要 | 調査結果について話し合うためにペアを組みます |
エージェントとの連携
// Agent-human pair testing
const charter = "Test payment edge cases";
const tests = await Task("Generate Tests", { charter }, "qe-test-generator");
const reviewed = await human.review(tests);
await Task("Implement", { tests: reviewed }, "qe-test-generator");
// Continuous integration with agents
await Task("Risk Analysis", { prDiff }, "qe-regression-risk-analyzer");
await Task("Generate Tests", { changes: prDiff }, "qe-test-generator");
await Task("Execute Tests", { scope: 'affected' }, "qe-test-executor");
// Sustainable pace: agents handle grunt work
const agentWork = ['regression', 'data-generation', 'coverage-analysis'];
const humanWork = ['exploratory', 'risk-assessment', 'strategy'];
エージェントの連携に関するヒント
メモリの名前空間
aqe/xp-practices/
├── pairing-sessions/* - Pair/ensemble session logs
├── ci-metrics/* - CI health metrics
├── velocity/* - Team velocity data
└── retrospectives/* - XP retrospective notes
フリートの連携
const xpFleet = await FleetManager.coordinate({
strategy: 'xp-workflow',
agents: [
'qe-test-generator', // TDD support
'qe-test-executor', // CI integration
'qe-code-reviewer' // Collective ownership
],
topology: 'parallel'
});
関連スキル
- tdd-london-chicago - TDD の詳しい解説
- refactoring-patterns - 安全なリファクタリング
- pair-programming - AI 支援によるペアプログラミング
覚えておくこと
XP のプラクティスはシステムとして機能します。TDD によって集合的所有権が可能になり、CI によって小規模リリースが可能になり、ペアプログラミングによって集合的所有権が可能になります。プラクティスを無作為に選ばないでください。
エージェントとの連携: 人間とエージェントでペアを組みます。エージェントは反復的な作業(回帰テスト、データ生成、カバレッジ分析)を担当し、人間は判断力と創造性を発揮します。
コメント
Markdown 対応