Skip to content

リリース計画 - テスト駆動開発から始めるXX入門

概要

本ドキュメントは、「テスト駆動開発から始めるXX入門」記事シリーズのリリース計画を定義します。

プロジェクト情報

項目 内容
プロジェクト名 テスト駆動開発から始めるXX入門
目的 TDD の実践を通じて 12 言語の特徴を学ぶ記事シリーズの執筆と実装
対象ユーザー プログラミング基礎を持ち、TDD や複数言語に興味がある開発者
開発チーム 1 名 + AI アシスタント

満足条件

スコープ

12 言語 × 4 部(12 章)の記事執筆と実装コードを 3 フェーズに分けてリリースする。

フェーズ 内容 言語数
Phase 1 主流 OOP 言語 4 言語
Phase 2 多パラダイム言語 4 言語
Phase 3 関数型言語 + 統合解説 4 言語 + 統合
合計 12 言語 + 統合解説

スケジュール

  • 開発期間: 24 週間(6 ヶ月)
  • イテレーション: 2 週間 × 12 イテレーション
  • リリース: 3 段階リリース(Phase ごと)

リソース

  • 開発者: 1 名 + AI アシスタント
  • 想定稼働時間: 30 時間/週

ユーザーストーリー一覧とストーリーポイント

優先順位マトリックス

4 軸評価で優先順位を決定:

  1. 金銭価値(BV): 読者への学習価値
  2. コスト(C): 執筆・実装コスト
  3. 知識習得(KA): テンプレート確立・ノウハウ蓄積
  4. リスク軽減(RR): 技術的リスクの軽減

Phase 1: 主流 OOP 言語(イテレーション 1-4)

ID ユーザーストーリー SP BV C KA RR 優先度
US-001 Java の TDD 入門記事の執筆と実装 10 必須
US-002 Python の TDD 入門記事の執筆と実装 10 必須
US-003 Node(JS/TS)の TDD 入門記事の執筆と実装 13 必須
US-004 Ruby の TDD 入門記事の執筆と実装 13 必須
合計 46

Phase 2: 多パラダイム言語(イテレーション 5-8)

ID ユーザーストーリー SP BV C KA RR 優先度
US-005 Go の TDD 入門記事の執筆と実装 10
US-006 PHP の TDD 入門記事の執筆と実装 10
US-007 Rust の TDD 入門記事の執筆と実装 10
US-008 C#/F#(dotnet)の TDD 入門記事の執筆と実装 13
合計 43

Phase 3: 関数型言語 + 統合解説(イテレーション 9-12)

ID ユーザーストーリー SP BV C KA RR 優先度
US-009 Clojure の TDD 入門記事の執筆と実装 13
US-010 Scala の TDD 入門記事の執筆と実装 13
US-011 Elixir の TDD 入門記事の執筆と実装 13
US-012 Haskell の TDD 入門記事の執筆と実装 13
US-013 多言語統合解説の執筆 8
合計 60

全体サマリー

フェーズ ストーリーポイント イテレーション
Phase 1 46 SP 1-4
Phase 2 43 SP 5-8
Phase 3 60 SP 9-12
合計 149 SP 12 イテレーション

ストーリーポイントの内訳

各言語のユーザーストーリーは以下のサブタスクで構成される:

サブタスク 3エピソード言語 4エピソード言語
環境構築(apps/{lang}/ 初期化) 1 SP 1 SP
第 1 部: TDD の基本サイクル(章 1-3) 3 SP 3 SP
第 2 部: 開発環境と自動化(章 4-6) 3 SP 3 SP
第 3 部: Oブジェクト指向設計(章 7-9) 3 SP 3 SP
第 4 部: 関数型プログラミング(章 10-12) - 3 SP
合計 10 SP 13 SP

ベロシティ見積もり

初期ベロシティ推定

項目
イテレーション期間 2 週間
チーム規模 1 名 + AI
想定ベロシティ 13-15 SP/イテレーション
バッファ係数 0.8(20%バッファ)
実効ベロシティ 10-12 SP/イテレーション

ベロシティ検証計画

  • IT1(Java)完了後に実績ベロシティを計測
  • IT3 完了後に計画を見直し(3 イテレーション実績でトレンド分析)

段階的リリース戦略

リリーススケジュール

計画スケジュール

gantt
    title Release Schedule - Plan
    dateFormat  YYYY-MM-DD
    section Phase 1
    IT1 Java              :crit, p1-1, 2026-03-02, 14d
    IT2 Python             :crit, p1-2, after p1-1, 14d
    IT3 Node               :crit, p1-3, after p1-2, 14d
    IT4 Ruby               :crit, p1-4, after p1-3, 14d
    Release 1.0            :milestone, m1, after p1-4, 0d
    section Phase 2
    IT5 Go                 :p2-1, after p1-4, 14d
    IT6 PHP                :p2-2, after p2-1, 14d
    IT7 Rust               :p2-3, after p2-2, 14d
    IT8 dotnet             :p2-4, after p2-3, 14d
    Release 2.0            :milestone, m2, after p2-4, 0d
    section Phase 3
    IT9 Clojure            :p3-1, after p2-4, 14d
    IT10 Scala             :p3-2, after p3-1, 14d
    IT11 Elixir            :p3-3, after p3-2, 14d
    IT12 Haskell           :p3-4, after p3-3, 14d
    Release 3.0            :milestone, m3, after p3-4, 0d

実績スケジュール

gantt
    title Release Schedule - Actual
    dateFormat  YYYY-MM-DD
    section Phase 1
    IT1 Java              :done, crit, a1-1, 2026-02-28, 1d
    IT2 Python             :done, crit, a1-2, 2026-03-01, 1d
    IT3 Node               :done, crit, a1-3, 2026-03-01, 1d
    IT4 Ruby               :done, crit, a1-4, 2026-03-02, 1d
    Release 1.0            :milestone, am1, 2026-03-02, 0d
    section Phase 2
    IT5 Go                 :done, a2-1, 2026-03-02, 1d
    IT6 PHP                :done, a2-2, 2026-03-02, 1d
    IT7 Rust               :done, a2-3, 2026-03-02, 1d
    IT8 dotnet             :done, a2-4, 2026-03-02, 1d
    Release 2.0            :milestone, am2, 2026-03-02, 0d
    section Phase 3
    IT9 Clojure            :done, a3-1, 2026-03-03, 1d
    IT10 Scala             :done, a3-2, 2026-03-03, 1d
    IT11 Elixir            :done, a3-3, 2026-03-03, 1d
    IT12 Haskell           :done, a3-4, 2026-03-03, 1d
    Release 3.0            :milestone, am3, 2026-03-04, 0d

リリース内容

Release 1.0(Phase 1 完了): 主流 OOP 言語

目標: Java、Python、Node(JS/TS)、Ruby の記事と実装を公開

含まれる機能:

  • 4 言語 × 12 章の記事
  • 4 言語の TDD 実装コード(apps/ 配下)
  • 言語別 index ページ

リリース条件:

  • 全記事のレビュー完了
  • 全言語のテストがパス
  • MkDocs でプレビュー確認済み
  • v1.0.0 リリース済み(2026-03-02)

Release 2.0(Phase 2 完了): 多パラダイム言語

目標: Go、PHP、Rust、C#/F# の記事と実装を公開

含まれる機能:

  • 4 言語 × 12 章の記事
  • 4 言語の TDD 実装コード

リリース条件:

  • 全記事のレビュー完了
  • 全言語のテストがパス(Go 21 + PHP 31 + Rust 47 + C# 38 + F# 29 = 166 テスト)
  • MkDocs でプレビュー確認済み
  • GitHub Milestone Release 2.0 クローズ済み(2026-03-02)

Release 3.0(Phase 3 完了): 関数型言語 + 統合解説

目標: Clojure、Scala、Elixir、Haskell の記事と多言語統合解説を公開

含まれる機能:

  • 4 言語 × 12 章の記事
  • 多言語統合解説
  • 全 12 言語の横断比較

リリース条件:

  • 全記事のレビュー完了
  • 全言語のテストがパス
  • 統合解説の内容が全言語をカバー
  • GitHub Milestone Release 3.0 クローズ済み
  • v3.0.0 リリース済み(2026-03-04)

バッファ戦略

フィーチャバッファ

フェーズ 計画 SP バッファ(30%) 実効 SP
Phase 1 46 14 32
Phase 2 43 13 30
Phase 3 60 18 42

スケジュールバッファ

  • 予備イテレーション: 各 Phase 終了後に 1 週間の予備期間
  • 全体バッファ: 約 20%

バッファ消費ルール

  1. 第 4 部(関数型)の章を簡略化(3 エピソード言語)
  2. 統合解説を段階的に執筆
  3. スケジュールバッファは最後の手段

イテレーション計画概要

イテレーション 1(Week 1-2)

ゴール: Java の全 12 章の記事執筆と実装を完了し、テンプレートを確立する

主なタスク:

  • apps/java/ プロジェクト初期化
  • 第 1 部(章 1-3): TDD 基本サイクルの執筆と実装
  • 第 2 部(章 4-6): 開発環境と自動化の執筆と実装
  • 第 3 部(章 7-9): OOP 設計の執筆と実装

目標 SP: 10

詳細は iteration_plan-1.md を参照。

イテレーション 2(Week 3-4)

ゴール: Python の全 12 章の記事執筆と実装を完了する

主なタスク:

  • apps/python/ プロジェクト初期化
  • 第 1〜3 部の執筆と実装
  • Python 固有の第 4 部(ジェネレータ、デコレータ、functools)

目標 SP: 10

詳細は iteration_plan-2.md を参照。

イテレーション 3(Week 5-6)

ゴール: Node(JavaScript/TypeScript)の全 12 章の記事執筆と実装を完了する

主なタスク:

  • apps/node/ に npm プロジェクト初期化(Vitest + ESLint + Prettier + TypeScript)
  • 第 1 部(章 1-3): TDD 基本サイクルの執筆と実装
  • 第 2 部(章 4-6): 開発環境と自動化の執筆と実装
  • 第 3 部(章 7-9): OOP 設計の執筆と実装
  • 第 4 部(章 10-12): 関数型プログラミング(Arrow Functions、Generics、Union Types)

目標 SP: 13

詳細は iteration_plan-3.md を参照。

イテレーション 4(Week 7-8)

ゴール: Ruby の全 12 章の記事執筆と実装を完了し、Release 1.0 をリリースする

主なタスク:

  • apps/ruby/ プロジェクト初期化
  • 第 1〜4 部の執筆と実装(エピソード 4: ベンチマーク含む)
  • Release 1.0 準備(レビュー、MkDocs 最終確認)
  • Release 1.0 タグ付け(v1.0.0)

目標 SP: 13

詳細は iteration_plan-4.md を参照。

イテレーション 5(Week 9-10)

ゴール: Go の全 12 章の記事執筆と実装を完了する

主なタスク:

  • apps/go/ プロジェクト初期化(Go Modules + golangci-lint)
  • 第 1 部(章 1-3): TDD 基本サイクルの執筆と実装
  • 第 2 部(章 4-6): 開発環境と自動化の執筆と実装
  • 第 3 部(章 7-9): OOP 設計の執筆と実装
  • 第 4 部(章 10-12): 関数型プログラミング(ファーストクラス関数、クロージャ、ジェネリクス)

目標 SP: 10

詳細は iteration_plan-5.md を参照。

イテレーション 6(Week 11-12)

ゴール: PHP の全 12 章の記事執筆と実装を完了する

主なタスク:

  • apps/php/ プロジェクト初期化(Composer + PHPUnit + PHP_CodeSniffer + PHPStan + PHPMD)
  • 第 1 部(章 1-3): TDD 基本サイクルの執筆と実装
  • 第 2 部(章 4-6): 開発環境と自動化の執筆と実装
  • 第 3 部(章 7-9): OOP 設計の執筆と実装
  • 第 4 部(章 10-12): 関数型プログラミング(アロー関数、array_map/filter/reduce、クロージャ)

目標 SP: 10

詳細は iteration_plan-6.md を参照。

イテレーション 7(Week 13-14)

ゴール: Rust の全 12 章の記事執筆と実装を完了する

主なタスク:

  • apps/rust/ プロジェクト初期化(Cargo + Clippy + rustfmt)
  • 第 1 部(章 1-3): TDD 基本サイクルの執筆と実装
  • 第 2 部(章 4-6): 開発環境と自動化の執筆と実装
  • 第 3 部(章 7-9): OOP 設計の執筆と実装
  • 第 4 部(章 10-12): 関数型プログラミング(クロージャ、イテレータ、Result/Option)

目標 SP: 10

詳細は iteration_plan-7.md を参照。

イテレーション 8(Week 15-16)

ゴール: C# と F# それぞれ全 12 章の記事執筆と実装を完了し、Phase 2 を完了する

主なタスク:

  • apps/dotnet/ プロジェクト初期化(.NET SDK 8.0 + xUnit + Cake)
  • C# 第 1〜12 章の執筆と実装(docs/article/csharp/)
  • F# 第 1〜12 章の執筆と実装(docs/article/fsharp/)
  • CI ワークフロー(.github/workflows/dotnet-ci.yml)
  • Release 2.0 準備(Milestone クローズ済み)

目標 SP: 13

詳細は iteration_plan-8.md を参照。

イテレーション 9(Week 17-18)

ゴール: Clojure の全 12 章の記事執筆と実装を完了し、Phase 3 の最初のイテレーションを成功させる

主なタスク:

  • apps/clojure/ プロジェクト初期化(Leiningen + Eastwood + Kibit)
  • 第 1 部(章 1-3): TDD 基本サイクルの執筆と実装
  • 第 2 部(章 4-6): 開発環境と自動化の執筆
  • 第 3 部(章 7-9): プロトコルとマルチメソッドの執筆と実装
  • 第 4 部(章 10-12): 関数型プログラミング(高階関数、永続データ構造、Spec)

目標 SP: 13

詳細は iteration_plan-9.md を参照。

イテレーション 10(Week 19-20)

ゴール: Scala の全 12 章の記事執筆と実装を完了し、JVM 上の OOP/FP ハイブリッド言語の TDD パターンを確立する

主なタスク:

  • apps/scala/ プロジェクト初期化(sbt + ScalaTest + scalafmt + WartRemover)
  • 第 1 部(章 1-3): TDD 基本サイクルの執筆と実装
  • 第 2 部(章 4-6): 開発環境と自動化の執筆
  • 第 3 部(章 7-9): ケースクラスとトレイトの執筆と実装
  • 第 4 部(章 10-12): 関数型プログラミング(パターンマッチ、高階関数、Option/Either)

目標 SP: 13

詳細は iteration_plan-10.md を参照。

イテレーション 11(Week 21-22)

ゴール: Elixir の全 12 章の記事執筆と実装を完了し、BEAM/OTP 上の関数型言語の TDD パターンを確立する

主なタスク:

  • apps/elixir/ プロジェクト初期化(Mix + ExUnit + Credo)
  • 第 1 部(章 1-3): TDD 基本サイクルの執筆と実装
  • 第 2 部(章 4-6): 開発環境と自動化の執筆
  • 第 3 部(章 7-9): プロトコルとパターンマッチの執筆と実装
  • 第 4 部(章 10-12): 関数型プログラミング(パイプライン、Stream、with 構文)

目標 SP: 13

詳細は iteration_plan-11.md を参照。

イテレーション 12(Week 23-24)

ゴール: Haskell の全 12 章の記事執筆と実装を完了し、多言語統合解説を作成して Release 3.0 をリリースする

主なタスク:

  • apps/haskell/ プロジェクト初期化(Stack + HSpec + HLint)
  • 第 1 部(章 1-3): TDD 基本サイクルの執筆と実装
  • 第 2 部(章 4-6): 開発環境と自動化の執筆
  • 第 3 部(章 7-9): 型クラスと代数的データ型の執筆と実装
  • 第 4 部(章 10-12): 関数型プログラミング(高階関数、関数合成、モナド)
  • 多言語統合解説(12 言語横断比較、学習ロードマップ)
  • Release 3.0 準備

目標 SP: 21

詳細は iteration_plan-12.md を参照。


リスク管理

技術リスク

リスク 影響度 発生確率 対策
特定言語の環境構築で躓く Nix 環境で事前検証、Wiki 記事を参照
第 4 部(FP)の内容が 3 エピソード言語で薄くなる 各言語の FP 機能に焦点を当てた独自コンテンツ作成
記事とコードの同期が取れなくなる workflow.md のチェックリストを厳守

スケジュールリスク

リスク 影響度 発生確率 対策
1 言語あたりの執筆時間が想定超過 IT1 の実績で見積もり修正、第 4 部を簡略化
モチベーション低下(12 言語の繰り返し) パラダイムの異なる言語を交互に配置

進捗管理

メトリクス

メトリクス 目標
ベロシティ 10-13 SP/イテレーション
テストカバレッジ 80% 以上(各言語)
記事完成率 イテレーション終了時に対象言語 100%
予定達成率 90% 以上

進捗状況

イテレーション 言語 計画 SP 実績 SP 達成率 状態
1 Java 10 10 100% 完了
2 Python 10 10 100% 完了
3 Node(JS/TS) 13 13 100% 完了
4 Ruby 13 13 100% ✅ 完了
5 Go 10 10 100% ✅ 完了
6 PHP 10 10 100% ✅ 完了
7 Rust 10 10 100% ✅ 完了
8 C#/F# 13 13 100% ✅ 完了
9 Clojure 13 13 100% ✅ 完了
10 Scala 13 13 100% ✅ 完了
11 Elixir 13 13 100% ✅ 完了
12 Haskell + 統合 21 21 100% ✅ 完了

バーンダウンチャート

時点 計画残 SP 実績残 SP
開始 149 149
IT1 139 139
IT2 129 129
IT3 116 116
IT4 103 103
IT5 93 93
IT6 83 83
IT7 73 73
IT8 60 60
IT9 47 47
IT10 34 34
IT11 21 21
IT12 0 0

次のステップ

  1. ~~IT4(Ruby)イテレーション計画を作成~~ ✅
  2. ~~ベロシティトレンド分析(3 イテレーション実績: 平均 11 SP)~~ ✅
  3. ~~apps/ruby/ プロジェクト初期化(Bundler + Minitest)~~ ✅
  4. ~~Ruby 第 1〜12 章の執筆・実装を完了~~ ✅
  5. ~~Release 1.0 タグ付け(v1.0.0)~~ ✅
  6. ~~IT5(Go)イテレーション計画を作成~~ ✅
  7. ~~apps/go/ プロジェクト初期化(Go Modules + golangci-lint)~~ ✅
  8. ~~Go 第 1〜12 章の執筆・実装を完了~~ ✅
  9. ~~IT6(PHP)イテレーション計画を作成~~ ✅
  10. ~~apps/php/ プロジェクト初期化(Composer + PHPUnit + PHP_CodeSniffer + PHPStan + PHPMD)~~ ✅
  11. ~~PHP 第 1〜12 章の執筆・実装を完了~~ ✅
  12. ~~IT7(Rust)イテレーション計画を作成~~ ✅
  13. ~~apps/rust/ プロジェクト初期化(Cargo + Clippy + rustfmt)~~ ✅
  14. ~~Rust 第 1〜12 章の執筆・実装を完了~~ ✅
  15. ~~IT8(C#/F#)イテレーション計画を作成~~ ✅
  16. ~~apps/dotnet/ プロジェクト初期化(.NET SDK 8.0 + xUnit + Cake)~~ ✅
  17. ~~C#/F# 第 1〜12 章の執筆・実装を完了~~ ✅
  18. ~~IT9(Clojure)イテレーション計画を作成~~ ✅
  19. ~~apps/clojure/ プロジェクト初期化~~ ✅
  20. ~~Clojure 第 1〜12 章の執筆・実装を完了~~ ✅
  21. ~~IT10(Scala)イテレーション計画を作成~~ ✅
  22. ~~apps/scala/ プロジェクト初期化~~ ✅
  23. ~~Scala 第 1〜12 章の執筆・実装を完了~~ ✅
  24. ~~IT11(Elixir)イテレーション計画を作成~~ ✅
  25. ~~apps/elixir/ プロジェクト初期化~~ ✅
  26. ~~Elixir 第 1〜12 章の執筆・実装を完了~~ ✅
  27. ~~IT12(Haskell + 統合)イテレーション計画を作成~~ ✅
  28. ~~apps/haskell/ プロジェクト初期化~~ ✅
  29. ~~Haskell 第 1〜12 章の執筆・実装を完了~~ ✅
  30. ~~多言語統合解説を完了~~ ✅
  31. ~~Release 3.0 準備(Milestone クローズ、タグ付け)~~ ✅

更新履歴

日付 更新内容 更新者
2026-02-28 初版作成 -
2026-03-01 IT2 完了(Python 10 SP)、バーンダウン更新 -
2026-03-01 IT3 完了(Node/TS 13 SP)、バーンダウン更新、ベロシティ平均 11 SP -
2026-03-02 IT4(Ruby)開始、計画作成完了、GitHub Project 同期 AI
2026-03-02 IT4 完了(Ruby 13 SP)、バーンダウン更新、v1.0.0 リリース、Milestone 1 クローズ AI
2026-03-02 IT5(Go)開始、計画作成完了 AI
2026-03-02 IT5 完了(Go 10 SP)、バーンダウン更新 AI
2026-03-02 IT6(PHP)開始、計画作成完了 AI
2026-03-02 IT6 完了(PHP 10 SP)、バーンダウン更新、Issue #6 クローズ AI
2026-03-02 IT7(Rust)開始、計画作成完了 AI
2026-03-02 IT7 完了(Rust 10 SP)、バーンダウン更新、Issue #7 クローズ AI
2026-03-02 IT8(C#/F#)開始、計画作成完了 AI
2026-03-02 IT8 完了(C#/F# 13 SP)、バーンダウン更新、Phase 2 完了 AI
2026-03-03 IT9 完了(Clojure 13 SP)、バーンダウン更新、Phase 3 開始 AI
2026-03-03 IT10 完了(Scala 13 SP)、バーンダウン更新、Issue #10 クローズ AI
2026-03-03 IT11(Elixir)イテレーション計画を作成 AI
2026-03-03 IT11 完了(Elixir 13 SP)、バーンダウン更新、Issue #11 クローズ AI
2026-03-03 IT12(Haskell + 統合)イテレーション計画を作成 AI
2026-03-03 IT12 完了(Haskell 13 SP + 統合解説 8 SP = 21 SP)、バーンダウン更新、Issue #12 #13 クローズ、Phase 3 完了 AI
2026-03-04 IT12 ふりかえり・完了報告書作成、IT12 チェックボックス更新 AI
2026-03-04 Release 3.0 リリース(v3.0.0 タグ、CHANGELOG 生成、Milestone クローズ)、プロジェクト完了 AI