イテレーション 1 計画
概要
| 項目 |
内容 |
| イテレーション |
1 |
| 期間 |
Week 1-2(2 週間) |
| ゴール |
Java の全 12 章の記事執筆と実装を完了し、他言語のテンプレートを確立する |
| 目標 SP |
10 |
ゴール
イテレーション終了時の達成状態
- 記事: Java の 12 章すべてが
docs/article/java/ に執筆完了
- 実装:
apps/java/ に TDD で実装したコードが動作する状態
- テンプレート: 他言語の執筆・実装で再利用可能なテンプレートが確立
成功基準
ユーザーストーリー
対象ストーリー
| ID |
ユーザーストーリー |
SP |
優先度 |
| US-001 |
Java の TDD 入門記事の執筆と実装 |
10 |
必須 |
| 合計 |
|
10 |
|
ストーリー詳細
US-001: Java の TDD 入門記事の執筆と実装
ストーリー:
プログラミング学習者として、Java で TDD を体験する記事を読みたい。なぜなら、TDD の基本サイクルと Java の特徴を同時に学べるからだ。
受入条件:
- FizzBuzz 問題を題材に TDD サイクル(Red-Green-Refactor)が体験できる
- 開発環境の構築手順が記載されている
- OOP 設計(カプセル化、ポリモーフィズム、デザインパターン)が段階的に解説されている
- 関数型機能(Stream API、Optional、Lambda)が解説されている
- 記事内のコード例と apps/java/ の実装が一致している
タスク
0. 環境構築(1 SP)
| # |
タスク |
見積もり |
担当 |
状態 |
| 0.1 |
apps/java/ に Gradle プロジェクトを初期化 |
1h |
AI |
[x] |
| 0.2 |
JUnit 5 + テスト環境のセットアップ |
1h |
AI |
[x] |
| 0.3 |
docs/article/java/index.md を作成 |
0.5h |
AI |
[x] |
小計: 2.5h(理想時間)
1. 第 1 部: TDD の基本サイクル(3 SP)
| # |
タスク |
見積もり |
担当 |
状態 |
| 1.1 |
章 1: TODO リストと最初のテスト - 執筆 |
2h |
AI |
[x] |
| 1.2 |
章 1: TODO リストと最初のテスト - 実装 |
1h |
Codex |
[x] |
| 1.3 |
章 2: 仮実装と三角測量 - 執筆 |
2h |
AI |
[x] |
| 1.4 |
章 2: 仮実装と三角測量 - 実装 |
1h |
Codex |
[x] |
| 1.5 |
章 3: 明白な実装とリファクタリング - 執筆 |
2h |
AI |
[x] |
| 1.6 |
章 3: 明白な実装とリファクタリング - 実装 |
1h |
Codex |
[x] |
小計: 9h(理想時間)
参照: tmp/k2works-wiki/記事/開発/テスト駆動開発から始めるXX入門/テスト駆動開発から始めるJava入門1.md
2. 第 2 部: 開発環境と自動化(3 SP)
| # |
タスク |
見積もり |
担当 |
状態 |
| 2.1 |
章 4: バージョン管理と Conventional Commits - 執筆 |
2h |
AI |
[x] |
| 2.2 |
章 4: Git 設定と Conventional Commits の適用 - 実装 |
1h |
- |
[x] |
| 2.3 |
章 5: パッケージ管理と静的解析 - 執筆 |
2h |
AI |
[x] |
| 2.4 |
章 5: Checkstyle/SpotBugs 等の導入 - 実装 |
1h |
Codex |
[x] |
| 2.5 |
章 6: タスクランナーと CI/CD - 執筆 |
2h |
AI |
[x] |
| 2.6 |
章 6: Gradle タスクと CI 設定 - 実装 |
1h |
Codex |
[x] |
小計: 9h(理想時間)
参照: tmp/k2works-wiki/記事/開発/テスト駆動開発から始めるXX入門/テスト駆動開発から始めるJava入門2.md
3. 第 3 部: オブジェクト指向設計(3 SP)
| # |
タスク |
見積もり |
担当 |
状態 |
| 3.1 |
章 7: カプセル化とポリモーフィズム - 執筆 |
3h |
AI |
[x] |
| 3.2 |
章 7: State/Strategy パターンの適用 - 実装 |
2h |
Codex |
[x] |
| 3.3 |
章 8: デザインパターンの適用 - 執筆 |
3h |
AI |
[x] |
| 3.4 |
章 8: Command/Factory Method 等 - 実装 |
2h |
Codex |
[x] |
| 3.5 |
章 9: SOLID 原則とモジュール設計 - 執筆 |
3h |
AI |
[x] |
| 3.6 |
章 9: モジュール分割とドメインモデル - 実装 |
2h |
Codex |
[x] |
小計: 15h(理想時間)
参照: tmp/k2works-wiki/記事/開発/テスト駆動開発から始めるXX入門/テスト駆動開発から始めるJava入門3.md
4. 仕上げ(0 SP - バッファ)
| # |
タスク |
見積もり |
担当 |
状態 |
| 4.1 |
第 4 部(章 10-12): Java の関数型機能 - 執筆 |
4h |
AI |
[x] |
| 4.2 |
第 4 部: Stream API/Optional/Lambda - 実装 |
2h |
Codex |
[x] |
| 4.3 |
記事と実装の同期確認 |
1h |
AI |
[x] |
| 4.4 |
mkdocs.yml 更新とプレビュー確認 |
1h |
AI |
[x] |
小計: 8h(理想時間)
タスク合計
| カテゴリ |
SP |
理想時間 |
状態 |
| 環境構築 |
1 |
2.5h |
[x] |
| 第 1 部: TDD の基本サイクル |
3 |
9h |
[x] |
| 第 2 部: 開発環境と自動化 |
3 |
9h |
[x] |
| 第 3 部: オブジェクト指向設計 |
3 |
15h |
[x] |
| 仕上げ(第 4 部 + 同期確認) |
- |
8h |
[x] |
| 合計 |
10 |
43.5h |
|
1 SP あたり: 約 4.4h
進捗率: 100% (10/10 SP)
スケジュール
Week 1(Day 1-5)
gantt
title イテレーション 1 - Week 1
dateFormat YYYY-MM-DD
section 環境構築
Gradle プロジェクト初期化 :d0, 2026-03-02, 1d
section 第 1 部
章 1 執筆 + 実装 :d1, 2026-03-03, 1d
章 2 執筆 + 実装 :d2, 2026-03-04, 1d
章 3 執筆 + 実装 :d3, 2026-03-05, 1d
section 第 2 部
章 4 執筆 + 実装 :d4, 2026-03-06, 1d
| 日 |
タスク |
| Day 1 |
環境構築: Gradle + JUnit 5 セットアップ、index.md 作成 |
| Day 2 |
章 1: TODO リストと最初のテスト |
| Day 3 |
章 2: 仮実装と三角測量 |
| Day 4 |
章 3: 明白な実装とリファクタリング |
| Day 5 |
章 4: バージョン管理と Conventional Commits |
Week 2(Day 6-10)
gantt
title イテレーション 1 - Week 2
dateFormat YYYY-MM-DD
section 第 2 部
章 5 執筆 + 実装 :a1, 2026-03-09, 1d
章 6 執筆 + 実装 :a2, 2026-03-10, 1d
section 第 3 部
章 7 執筆 + 実装 :a3, 2026-03-11, 1d
章 8 執筆 + 実装 :a4, 2026-03-12, 1d
section 仕上げ
章 9-12 + 同期確認 :a5, 2026-03-13, 1d
| 日 |
タスク |
| Day 6 |
章 5: パッケージ管理と静的解析 |
| Day 7 |
章 6: タスクランナーと CI/CD |
| Day 8 |
章 7: カプセル化とポリモーフィズム |
| Day 9 |
章 8: デザインパターンの適用 |
| Day 10 |
章 9-12 仕上げ、同期確認、mkdocs プレビュー |
設計メモ
ディレクトリ構成
apps/java/
├── build.gradle
├── settings.gradle
├── src/
│ ├── main/java/
│ │ └── tdd/
│ │ ├── App.java
│ │ └── fizzbuzz/
│ │ ├── application/
│ │ │ ├── FizzBuzzCommand.java
│ │ │ ├── FizzBuzzListCommand.java
│ │ │ └── FizzBuzzValueCommand.java
│ │ └── domain/
│ │ ├── model/
│ │ │ ├── FizzBuzzList.java
│ │ │ └── FizzBuzzValue.java
│ │ └── type/
│ │ ├── FizzBuzzType.java
│ │ ├── FizzBuzzType01.java
│ │ ├── FizzBuzzType02.java
│ │ └── FizzBuzzType03.java
│ └── test/java/
│ └── tdd/
│ └── fizzbuzz/
│ ├── application/
│ │ └── FizzBuzzCommandTest.java
│ └── domain/
│ ├── model/
│ │ ├── FizzBuzzListTest.java
│ │ └── FizzBuzzValueTest.java
│ └── type/
│ └── FizzBuzzTypeTest.java
└── gradle/
テスティングフレームワーク
| ツール |
用途 |
| JUnit 5 |
ユニットテスト |
| Checkstyle |
静的解析 |
| JaCoCo |
コードカバレッジ |
| Gradle |
ビルド・タスクランナー |
リスクと対策
| リスク |
影響度 |
対策 |
| 第 3 部(OOP 設計)の執筆が想定より時間がかかる |
中 |
第 4 部を簡略化してバッファを確保 |
| Wiki 記事の内容が新しい章構成にうまく分割できない |
低 |
章をまたぐ内容は柔軟に調整 |
| Nix 環境で Java ツールチェーンの問題 |
低 |
ローカル環境にフォールバック |
完了条件
Definition of Done
デモ項目
- FizzBuzz の TDD サイクルを実演(Red → Green → Refactor)
- OOP リファクタリングの段階を示す(手続き型 → ポリモーフィズム)
- MkDocs で Java 記事をブラウザ表示
更新履歴
| 日付 |
更新内容 |
更新者 |
| 2026-02-28 |
初版作成 |
- |
関連ドキュメント