Skip to content

リリース計画 - アルゴリズムから始めるプログラミング入門

概要

本ドキュメントは、「アルゴリズムから始めるプログラミング入門」記事シリーズのリリース計画を定義します。

プロジェクト情報

項目 内容
プロジェクト名 アルゴリズムから始めるプログラミング入門
目的 アルゴリズムとデータ構造を 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 軸評価で優先順位を決定:

  1. 金銭価値(BV): 読者にとっての学習価値
  2. コスト(C): 執筆・実装コスト
  3. 知識習得(KA): 執筆者の技術的学習価値
  4. リスク軽減(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 週間)

バッファ消費ルール

  1. フィーチャバッファを先に消費(低優先度言語の後回し)
  2. Phase 2 の言語順序を入れ替えて効率化
  3. スケジュールバッファは最後の手段

イテレーション計画概要

イテレーション 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. ~~イテレーション 1 計画の詳細作成(Python 原本)~~ ✅ 完了
  2. ~~Python プロジェクト初期化(apps/python/)~~ ✅ 完了
  3. ~~Wiki 記事の Python 版を移行開始~~ ✅ 完了
  4. ~~イテレーション 2 計画の詳細作成(TypeScript 版)~~ ✅ 完了
  5. ~~TypeScript プロジェクト初期化(apps/node/)~~ ✅ 完了
  6. ~~Python 版を基に TypeScript 版 9 章の執筆開始~~ ✅ 完了
  7. ~~イテレーション 3 計画の詳細作成(Java 版)~~ ✅ 完了
  8. ~~Java プロジェクト初期化(apps/java/)~~ ✅ 完了
  9. ~~Python 版を基に Java 版 9 章の執筆開始~~ ✅ 完了
  10. ~~イテレーション 4 計画の詳細作成(C# 版)~~ ✅ 完了
  11. ~~.NET プロジェクト初期化(apps/csharp/)~~ ✅ 完了
  12. ~~Python 版を基に C# 版 9 章の執筆開始~~ ✅ 完了
  13. ~~イテレーション 5 計画の詳細作成(Ruby 版)~~ ✅ 完了
  14. ~~イテレーション 6 計画の詳細作成(PHP 版)~~ ✅ 完了
  15. ~~PHP プロジェクト初期化(apps/php/)~~ ✅ 完了
  16. ~~Python 版を基に PHP 版 9 章の執筆開始~~ ✅ 完了
  17. ~~イテレーション 7 計画の詳細作成(Go 版)~~ ✅ 完了
  18. ~~Go プロジェクト初期化(apps/go/)~~ ✅ 完了
  19. ~~Python 版を基に Go 版 9 章の執筆開始~~ ✅ 完了
  20. ~~イテレーション 8 計画の詳細作成(C 版)~~ ✅ 完了
  21. ~~C プロジェクト初期化(apps/c/)~~ ✅ 完了
  22. ~~Python 版を基に C 版 9 章の執筆開始~~ ✅ 完了
  23. ~~イテレーション 9 計画の詳細作成(Rust 版)~~ ✅ 完了
  24. ~~Rust プロジェクト初期化(apps/rust/)~~ ✅ 完了
  25. ~~Python 版を基に Rust 版 9 章の執筆開始~~ ✅ 完了
  26. ~~イテレーション 10 計画の詳細作成(F# 版)~~ ✅ 完了
  27. ~~F# プロジェクト初期化(apps/fsharp/)~~ ✅ 完了
  28. ~~Python 版を基に F# 版 9 章の執筆開始~~ ✅ 完了
  29. ~~イテレーション 11 計画の詳細作成(Scala 版)~~ ✅ 完了
  30. ~~Scala プロジェクト初期化(apps/scala/)~~ ✅ 完了
  31. ~~Python 版を基に Scala 版 9 章の執筆開始~~ ✅ 完了
  32. ~~イテレーション 12 計画の詳細作成(Clojure 版)~~ ✅ 完了
  33. ~~Clojure プロジェクト初期化(apps/clojure/)~~ ✅ 完了
  34. ~~Python 版を基に Clojure 版 9 章の執筆開始~~ ✅ 完了
  35. ~~イテレーション 13 計画の詳細作成(Elixir 版)~~ ✅ 完了
  36. ~~Elixir プロジェクト初期化(apps/elixir/)~~ ✅ 完了
  37. ~~Python 版を基に Elixir 版 9 章の執筆開始~~ ✅ 完了
  38. イテレーション 14 計画の詳細作成(Haskell 版)
  39. Haskell プロジェクト初期化(apps/haskell/)
  40. 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% -