リリース計画 - アルゴリズムから始めるプログラミング入門¶
概要¶
本ドキュメントは、「アルゴリズムから始めるプログラミング入門」記事シリーズのリリース計画を定義します。
プロジェクト情報¶
| 項目 | 内容 |
|---|---|
| プロジェクト名 | アルゴリズムから始めるプログラミング入門 |
| 目的 | アルゴリズムとデータ構造を 14 言語で TDD しながら学べる記事シリーズの執筆 |
| 対象ユーザー | プログラミング基礎を持つ学習者、多言語比較に興味のある開発者 |
| 開発チーム | AI ペアプログラミング(1 名 + AI) |
満足条件¶
スコープ¶
Wiki 記事のうち最も完成度の高い Python 版を原本として作成し、Python 版を基に 13 言語へ多言語展開する。
| フェーズ | 内容 | 言語数 | ストーリー数 |
|---|---|---|---|
| Phase 1 | Python 原本作成 + OOP 言語展開 | 6 | 6 |
| Phase 2 | システム言語 + 関数型言語展開 | 8 | 8 |
| Phase 3 | 多言語統合解説 | - | 1 |
| 合計 | 14 + 統合 | 15 |
スケジュール¶
- 開発期間: 28 週間(7 ヶ月)
- イテレーション: 2 週間 × 15
- リリース: 3 段階リリース(Phase 1 → Phase 2 → Phase 3)
リソース¶
- 開発者: 1 名 + AI
- 想定稼働時間: 週 10-15 時間
ユーザーストーリー一覧とストーリーポイント¶
優先順位マトリックス¶
4 軸評価で優先順位を決定:
- 金銭価値(BV): 読者にとっての学習価値
- コスト(C): 執筆・実装コスト
- 知識習得(KA): 執筆者の技術的学習価値
- リスク軽減(RR): テンプレート確立・リスク軽減効果
ストーリーポイント基準¶
| SP | 基準 |
|---|---|
| 3 | Wiki 既存言語の移行(参照記事あり、コード例の言語変換のみ) |
| 5 | 新規言語の執筆(参照記事なし、ゼロから執筆 + 実装) |
| 8 | 統合解説の執筆(12 言語横断比較、図表作成) |
Phase 1: Python 原本 + OOP 言語展開(イテレーション 1-6)¶
Python 原本を最初に作成し、構造的に類似する OOP 言語へ展開する。
| ID | ユーザーストーリー | SP | BV | C | KA | RR | 優先度 |
|---|---|---|---|---|---|---|---|
| US-001 | Python 版(原本)の全 9 章を執筆・実装する | 5 | 高 | 中 | 中 | 高 | 必須 |
| US-002 | TypeScript 版を Python 版から展開する | 3 | 高 | 低 | 中 | 中 | 必須 |
| US-003 | Java 版を Python 版から展開する | 3 | 高 | 低 | 低 | 低 | 必須 |
| US-004 | C# 版を Python 版から展開する | 3 | 中 | 低 | 中 | 低 | 必須 |
| US-005 | Ruby 版を Python 版から展開する | 3 | 中 | 低 | 中 | 低 | 必須 |
| US-006 | PHP 版を Python 版から展開する | 3 | 中 | 低 | 低 | 低 | 必須 |
| 合計 | 20 |
Phase 2: システム言語 + 関数型言語展開(イテレーション 7-14)¶
言語固有の設計判断が必要な言語群を展開する。Wiki 記事は補助参照として活用。
| ID | ユーザーストーリー | SP | BV | C | KA | RR | 優先度 |
|---|---|---|---|---|---|---|---|
| US-007 | Go 版を Python 版から展開する | 3 | 高 | 低 | 中 | 低 | 必須 |
| US-008 | C 版を Python 版から展開する | 5 | 高 | 高 | 高 | 低 | 必須 |
| US-009 | Rust 版を Python 版から展開する | 5 | 高 | 高 | 高 | 低 | 必須 |
| US-010 | F# 版を Python 版から展開する | 5 | 中 | 中 | 高 | 低 | 中 |
| US-011 | Scala 版を Python 版から展開する | 5 | 中 | 中 | 高 | 低 | 中 |
| US-012 | Clojure 版を Python 版から展開する | 5 | 中 | 中 | 高 | 低 | 中 |
| US-013 | Elixir 版を Python 版から展開する | 5 | 中 | 中 | 高 | 低 | 中 |
| US-014 | Haskell 版を Python 版から展開する | 5 | 中 | 高 | 高 | 低 | 中 |
| 合計 | 38 |
Phase 3: 多言語統合解説(イテレーション 15)¶
| ID | ユーザーストーリー | SP | BV | C | KA | RR | 優先度 |
|---|---|---|---|---|---|---|---|
| US-015 | 多言語統合解説(14 言語横断比較)を執筆する | 8 | 高 | 高 | 高 | 低 | 中 |
| 合計 | 8 |
全体サマリー¶
| フェーズ | ストーリーポイント | イテレーション |
|---|---|---|
| Phase 1 | 20 SP | 1-6 |
| Phase 2 | 38 SP | 7-14 |
| Phase 3 | 8 SP | 15 |
| 合計 | 66 SP | 15 イテレーション |
ベロシティ見積もり¶
初期ベロシティ推定¶
| 項目 | 値 |
|---|---|
| イテレーション期間 | 2 週間 |
| チーム規模 | 1 名 + AI |
| 想定ベロシティ | 5-8 SP/イテレーション |
| バッファ係数 | 0.8(20% バッファ) |
| 実効ベロシティ | 4-6 SP/イテレーション |
基準ストーリー¶
US-001(Python 原本) を基準ストーリーとする。
- Wiki 記事は存在するが、原本として最も丁寧に執筆する必要がある
- テストコードの実装、記事との同期確認を含む
- 5 SP = 2 週間(1 イテレーション)で完了見込み
ベロシティ検証計画¶
- イテレーション 1-3 の実績で初期ベロシティを検証
- 移行(3 SP)と新規(5 SP)のコスト差を実測
- イテレーション 3 終了後にリリース計画を再調整
段階的リリース戦略¶
リリーススケジュール¶
計画スケジュール¶
gantt
title 計画スケジュール
dateFormat YYYY-MM-DD
section Phase 1 Python原本+OOP展開
IT1 Python(原本) :crit, p1-1, 2026-04-14, 14d
IT2 TypeScript :crit, p1-2, after p1-1, 14d
IT3 Java :crit, p1-3, after p1-2, 14d
IT4 C# :crit, p1-4, after p1-3, 14d
IT5 Ruby :crit, p1-5, after p1-4, 14d
IT6 PHP :crit, p1-6, after p1-5, 14d
Release 0.1.0 :milestone, m1, after p1-6, 0d
section Phase 2 システム+関数型展開
IT7 Go :p2-1, after p1-6, 14d
IT8 C :p2-2, after p2-1, 14d
IT9 Rust :p2-3, after p2-2, 14d
IT10 F# :p2-4, after p2-3, 14d
IT11 Scala :p2-5, after p2-4, 14d
IT12 Clojure :p2-6, after p2-5, 14d
IT13 Elixir :p2-7, after p2-6, 14d
IT14 Haskell :p2-8, after p2-7, 14d
Release 0.2.0 :milestone, m2, after p2-8, 0d
section Phase 3 統合解説
IT15 多言語統合解説 :p3-1, after p2-8, 14d
Release 1.0.0 :milestone, m3, after p3-1, 0d
リリース内容¶
Release 0.1.0(Phase 1 完了): Python 原本 + OOP 言語版¶
目標: Python 原本と OOP 系 5 言語への展開を完了
含まれる機能:
- Python 版(原本)全 9 章
- TypeScript 版全 9 章(Python から展開)
- Java 版全 9 章(Python から展開)
- C# 版全 9 章(Python から展開)
- Ruby 版全 9 章(Python から展開)
- PHP 版全 9 章(Python から展開)
- 各言語の TDD 実装コード(apps/)
リリース条件:
- 全 6 言語 × 9 章 = 54 章ファイルが完成
- 各言語のテストが全てパス
- MkDocs でローカルプレビュー確認済み
- mkdocs.yml の nav が更新済み
Release 0.2.0(Phase 2 完了): 14 言語完全版¶
目標: システム言語・関数型言語への展開を完了し、14 言語版を公開
含まれる機能:
- Go 版全 9 章(Python から展開)
- C 版全 9 章(Python から展開)
- Rust 版全 9 章(Python から展開)
- F# 版全 9 章(Python から展開)
- Scala 版全 9 章(Python から展開)
- Clojure 版全 9 章(Python から展開)
- Elixir 版全 9 章(Python から展開)
- Haskell 版全 9 章(Python から展開)
リリース条件:
- 全 14 言語 × 9 章 = 126 章ファイルが完成
- 各言語のテストが全てパス
- MkDocs でローカルプレビュー確認済み
Release 1.0.0(Phase 3 完了): 統合解説付き完成版¶
目標: 多言語統合解説を追加し、シリーズ完成
含まれる機能:
- 多言語統合解説(14 言語横断比較)
- 章ごとのアルゴリズム比較解説
- 言語パラダイム別の設計アプローチ比較
リリース条件:
- 統合解説の全章が完成
- 全内部リンクが正常に動作
- MkDocs ビルド・デプロイ完了
バッファ戦略¶
フィーチャバッファ¶
| フェーズ | 計画 SP | バッファ(30%) | 実効 SP |
|---|---|---|---|
| Phase 1 | 20 | 6 | 14 |
| Phase 2 | 38 | 11 | 27 |
| Phase 3 | 8 | 2 | 6 |
スケジュールバッファ¶
- 予備イテレーション: 2 イテレーション(4 週間)
- 全体バッファ: 15%(15 + 2 = 17 イテレーション = 34 週間)
バッファ消費ルール¶
- フィーチャバッファを先に消費(低優先度言語の後回し)
- Phase 2 の言語順序を入れ替えて効率化
- スケジュールバッファは最後の手段
イテレーション計画概要¶
イテレーション 1(Week 1-2)¶
ゴール: Python 原本の全 9 章を執筆・実装する
主なタスク:
- Python プロジェクト初期化(apps/python/)
- Wiki 記事の移行・再構成(9 章)
- TDD 実装と記事の同期確認
- mkdocs.yml に Python 記事を追加
目標 SP: 5
イテレーション 2(Week 3-4)¶
ゴール: TypeScript 版を Python 版から展開する
主なタスク:
- TypeScript プロジェクト初期化(apps/node/)
- Python 版を基に TypeScript 版 9 章を執筆
- TDD 実装と記事の同期確認
目標 SP: 3
イテレーション 3(Week 5-6)¶
ゴール: Java 版を Python 版から展開する
主なタスク:
- Java プロジェクト初期化(apps/java/)
- Python 版を基に Java 版 9 章を執筆
- TDD 実装と記事の同期確認
- ベロシティ検証・リリース計画再調整
目標 SP: 3
詳細は iteration_plan-3.md を参照。
イテレーション 4(Week 7-8)¶
ゴール: C# 版を Python 版から展開する
主なタスク:
- .NET プロジェクト初期化(apps/csharp/)
- Python 版を基に C# 版 9 章を執筆
- TDD 実装と記事の同期確認
目標 SP: 3
詳細は iteration_plan-4.md を参照。
イテレーション 5(Week 9-10)¶
ゴール: Ruby 版を Python 版から展開する
目標 SP: 3
イテレーション 6(Week 11-12)¶
ゴール: PHP 版を Python 版から展開する
主なタスク:
- PHP プロジェクト初期化(apps/php/)
- Python 版を基に PHP 版 9 章を執筆
- TDD 実装と記事の同期確認(145 テスト全通過)
- mkdocs.yml に PHP 記事を追加
目標 SP: 3
詳細は iteration_plan-6.md を参照。
イテレーション 7(Week 13-14)¶
ゴール: Go 版を Python 版から展開する
主なタスク:
- Go プロジェクト初期化(apps/go/)
- Python 版を基に Go 版 9 章を執筆
- TDD 実装と記事の同期確認
- mkdocs.yml に Go 記事を追加
目標 SP: 3 実績 SP: 3(達成率 100%)
詳細は iteration_plan-7.md を参照。
イテレーション 8-14(Week 15-28)¶
ゴール: システム言語・関数型言語(C, Rust, F#, Scala, Clojure, Elixir, Haskell)を Python 版から順次展開
目標 SP: C 5 SP、他 各 5 SP
イテレーション 15(Week 29-30)¶
ゴール: 多言語統合解説を執筆する
目標 SP: 8
リスク管理¶
技術リスク¶
| リスク | 影響度 | 発生確率 | 対策 |
|---|---|---|---|
| 言語固有のデータ構造が書籍のアルゴリズムと合わない | 中 | 中 | 各言語のイディオムに合わせた実装方針を事前に検討 |
| Nix 環境で特定言語のビルドが失敗する | 低 | 中 | Docker フォールバック環境を準備 |
| 関数型言語でのミュータブルなデータ構造の扱い | 中 | 高 | 永続データ構造やイミュータブル版の実装方針を定義 |
スケジュールリスク¶
| リスク | 影響度 | 発生確率 | 対策 |
|---|---|---|---|
| 新規言語の執筆が想定より時間がかかる | 高 | 中 | Phase 1 のベロシティで Phase 2 を再見積もり |
| 統合解説の執筆が大規模になる | 中 | 高 | 章ごとに分割して段階的に執筆 |
進捗管理¶
メトリクス¶
| メトリクス | 目標 |
|---|---|
| ベロシティ | 4-6 SP/イテレーション |
| 章ファイル完成率 | 100%(126 + 統合解説) |
| テスト通過率 | 100% |
| 予定達成率 | 90% 以上 |
進捗状況¶
| イテレーション | 言語 | 計画 SP | 実績 SP | 達成率 | 状態 |
|---|---|---|---|---|---|
| 1 | Python(原本) | 5 | 5 | 100% | ✅ 完了 |
| 2 | TypeScript | 3 | 3 | 100% | ✅ 完了 |
| 3 | Java | 3 | 3 | 100% | ✅ 完了 |
| 4 | C# | 3 | 3 | 100% | ✅ 完了 |
| 5 | Ruby | 3 | 3 | 100% | ✅ 完了 |
| 6 | PHP | 3 | 3 | 100% | ✅ 完了 |
| 7 | Go | 3 | 3 | 100% | ✅ 完了 |
| 8 | C | 5 | 5 | 100% | ✅ 完了 |
| 9 | Rust | 5 | 5 | 100% | ✅ 完了 |
| 10 | F# | 5 | 5 | 100% | ✅ 完了 |
| 11 | Scala | 5 | 5 | 100% | ✅ 完了 |
| 12 | Clojure | 5 | 5 | 100% | ✅ 完了 |
| 13 | Elixir | 5 | 5 | 100% | ✅ 完了 |
| 14 | Haskell | 5 | - | - | 未着手 |
| 15 | 統合解説 | 8 | - | - | 未着手 |
バーンダウンチャート¶
xychart-beta
title "リリースバーンダウン(計画)"
x-axis ["開始", "IT1", "IT2", "IT3", "IT4", "IT5", "IT6", "IT7", "IT8", "IT9", "IT10", "IT11", "IT12", "IT13", "IT14", "IT15"]
y-axis "残 SP" 0 --> 70
line "計画" [66, 61, 58, 55, 52, 49, 46, 43, 38, 33, 28, 23, 18, 13, 8, 0]
line "実績" [66, 61, 58, 55, 52, 49, 46, 41, 38, 33, 28, 23, 18, 13]
次のステップ¶
- ~~イテレーション 1 計画の詳細作成(Python 原本)~~ ✅ 完了
- ~~Python プロジェクト初期化(apps/python/)~~ ✅ 完了
- ~~Wiki 記事の Python 版を移行開始~~ ✅ 完了
- ~~イテレーション 2 計画の詳細作成(TypeScript 版)~~ ✅ 完了
- ~~TypeScript プロジェクト初期化(apps/node/)~~ ✅ 完了
- ~~Python 版を基に TypeScript 版 9 章の執筆開始~~ ✅ 完了
- ~~イテレーション 3 計画の詳細作成(Java 版)~~ ✅ 完了
- ~~Java プロジェクト初期化(apps/java/)~~ ✅ 完了
- ~~Python 版を基に Java 版 9 章の執筆開始~~ ✅ 完了
- ~~イテレーション 4 計画の詳細作成(C# 版)~~ ✅ 完了
- ~~.NET プロジェクト初期化(apps/csharp/)~~ ✅ 完了
- ~~Python 版を基に C# 版 9 章の執筆開始~~ ✅ 完了
- ~~イテレーション 5 計画の詳細作成(Ruby 版)~~ ✅ 完了
- ~~イテレーション 6 計画の詳細作成(PHP 版)~~ ✅ 完了
- ~~PHP プロジェクト初期化(apps/php/)~~ ✅ 完了
- ~~Python 版を基に PHP 版 9 章の執筆開始~~ ✅ 完了
- ~~イテレーション 7 計画の詳細作成(Go 版)~~ ✅ 完了
- ~~Go プロジェクト初期化(apps/go/)~~ ✅ 完了
- ~~Python 版を基に Go 版 9 章の執筆開始~~ ✅ 完了
- ~~イテレーション 8 計画の詳細作成(C 版)~~ ✅ 完了
- ~~C プロジェクト初期化(apps/c/)~~ ✅ 完了
- ~~Python 版を基に C 版 9 章の執筆開始~~ ✅ 完了
- ~~イテレーション 9 計画の詳細作成(Rust 版)~~ ✅ 完了
- ~~Rust プロジェクト初期化(apps/rust/)~~ ✅ 完了
- ~~Python 版を基に Rust 版 9 章の執筆開始~~ ✅ 完了
- ~~イテレーション 10 計画の詳細作成(F# 版)~~ ✅ 完了
- ~~F# プロジェクト初期化(apps/fsharp/)~~ ✅ 完了
- ~~Python 版を基に F# 版 9 章の執筆開始~~ ✅ 完了
- ~~イテレーション 11 計画の詳細作成(Scala 版)~~ ✅ 完了
- ~~Scala プロジェクト初期化(apps/scala/)~~ ✅ 完了
- ~~Python 版を基に Scala 版 9 章の執筆開始~~ ✅ 完了
- ~~イテレーション 12 計画の詳細作成(Clojure 版)~~ ✅ 完了
- ~~Clojure プロジェクト初期化(apps/clojure/)~~ ✅ 完了
- ~~Python 版を基に Clojure 版 9 章の執筆開始~~ ✅ 完了
- ~~イテレーション 13 計画の詳細作成(Elixir 版)~~ ✅ 完了
- ~~Elixir プロジェクト初期化(apps/elixir/)~~ ✅ 完了
- ~~Python 版を基に Elixir 版 9 章の執筆開始~~ ✅ 完了
- イテレーション 14 計画の詳細作成(Haskell 版)
- Haskell プロジェクト初期化(apps/haskell/)
- Python 版を基に Haskell 版 9 章の執筆開始
更新履歴¶
| 日付 | 更新内容 | 更新者 |
|---|---|---|
| 2026-04-10 | 初版作成 | - |
| 2026-04-11 | Elixir を対象言語に追加(13 言語体制、14 イテレーション、61 SP) | - |
| 2026-04-11 | IT-1 完了:Python 版 5 SP 達成(239 テスト全通過、カバレッジ 99%) | - |
| 2026-04-11 | IT-2 完了:TypeScript 版 3 SP 達成 | - |
| 2026-04-11 | IT-3 完了:Java 版 3 SP 達成(100% 達成) | - |
| 2026-04-12 | IT-4 開始:C# 版イテレーション計画作成、進捗状況更新 | - |
| 2026-04-12 | IT-4 完了:C# 版 3 SP 達成(238 テスト全通過) | - |
| 2026-04-12 | IT-5 開始:Ruby 版イテレーション計画作成、進捗状況更新 | - |
| 2026-04-12 | IT-5 完了:Ruby 版 3 SP 達成(137 テスト全通過) | - |
| 2026-04-12 | IT-6 開始:PHP 版イテレーション計画作成、進捗状況更新 | - |
| 2026-04-12 | IT-6 完了:PHP 版(145テスト全通過)・記事執筆完了 | - |
| 2026-04-12 | C 言語を Phase 2 に追加(IT-8、US-008、5 SP)。言語数 13→14、総 SP 61→66、イテレーション数 14→15 | - |
| 2026-04-12 | IT-7 完了:Go 版 3 SP 達成(60 テスト全通過)。IT-8 計画作成 | - |
| 2026-04-12 | IT-8 完了:C 版 5 SP 達成(204 テスト全通過)。Go 版記事全 9 章を Python 版構成に準拠して書き直し | - |
| 2026-04-12 | IT-9 完了:Rust 版 5 SP 達成(285 テスト全通過)。累計 33/66 SP、Phase 2 進捗 34.2% | |
| 2026-04-13 | IT-10 完了:F# 版 5 SP 達成(242 テスト全通過)。累計 38/66 SP、Phase 2 進捗 47.4% | - |
| 2026-04-13 | IT-11 開始:Scala 版イテレーション計画作成 | - |
| 2026-04-13 | IT-11 完了:Scala 版 5 SP 達成(125 テスト全通過)。累計 43/66 SP | - |
| 2026-04-13 | IT-12 完了:Clojure 版 5 SP 達成(50 テスト・204 アサーション全通過)。累計 48/66 SP、Phase 2 進捗 73.7% | - |
| 2026-04-13 | IT-13 開始:Elixir 版イテレーション計画作成 | - |
| 2026-04-13 | IT-13 完了:Elixir 版 5 SP 達成(111 テスト全通過)。累計 53/66 SP、Phase 2 進捗 86.8% | - |