イテレーション 2 ふりかえり¶
概要¶
| 項目 | 内容 |
|---|---|
| イテレーション | 2 |
| 期間 | 2026-04-11(1 日で完了) |
| ゴール | TypeScript 版を Python 版から展開し、TDD で実装する |
| 実績 SP | 3 SP(計画通り) |
| 達成率 | 100% |
実績サマリー¶
成果物¶
| 成果物 | 状態 | 備考 |
|---|---|---|
docs/article/node/ 全 9 章 |
✅ 完了 | index.md 含む 10 ファイル |
apps/node/ TDD 実装 |
✅ 完了 | 259 テスト(257 パス、2 スキップ) |
| mkdocs.yml TypeScript セクション | ✅ 完了 | 全 9 章 nav 追加済み |
| CI/CD(Node ワークフロー) | ✅ 完了 | ci-node.yml 追加 |
| Python CI 修正 | ✅ 完了 | ci-python.yml カバレッジ修正(linked_list 218 行) |
実装した主要アルゴリズム¶
| アルゴリズム / クラス | 章 | 備考 |
|---|---|---|
| 基本アルゴリズム(最大値・中央値・素数等) | 第 1 章 | |
| 配列操作・バブルソート・選択ソート・挿入ソート | 第 2 章 | |
| 線形探索・番兵法・二分探索・ハッシュ法 | 第 3 章 | |
| Stack / Queue(固定・動的) | 第 4 章 | |
| 再帰(階乗・GCD・ハノイ)、EightQueen × 3 | 第 5 章 | バックトラッキング含む |
| ヒープソート・度数ソート・シェーカーソート | 第 6 章 | shakerSort() 追加実装 |
| BF / KMP / Boyer-Moore 文字列照合 | 第 7 章 | |
| 連結リスト(ArrayLinkedList)・双方向リスト | 第 8 章 | カーソルによる線形リスト |
| 二分探索木・ヒープ | 第 9 章 | dump() メソッド追加 |
追加補完¶
| 項目 | 内容 |
|---|---|
| dump() メソッド | 二分探索木の dump() を Python 版に合わせて追加 |
| shakerSort() | ソートアルゴリズムに Python 版との差分を解消して追加 |
| Python 版との差分解消 | 全 9 章について Python 版と内容差分チェックを実施 |
KPT ふりかえり¶
Keep(続けること)¶
技術的成功事項¶
- Python 版との差分チェックの実施: Python 版を基準に全 9 章の内容差分チェックを行い、dump() メソッドや shakerSort() など不足していた機能を補完できた。IT-1 の Try(T1)を実践した成果。
- TDD サイクルの徹底: Red → Green → Refactor サイクルで 259 テストを実装(257 パス、2 スキップ)。
- 記事と実装の同時コミット: IT-1 の Try(T2)を反映し、記事に記述した関数・クラスを同一コミットで実装するルールを守った。
- CI/CD の早期整備: ci-node.yml を追加し、TypeScript 版の品質ゲートを自動化した。
- 1 日での完了: Python 版を基準としたことで変換作業が効率化し、計画 2 週間のところ 1 日で完了した。
プロセス的成功事項¶
- AI ペアプログラミング: Python → TypeScript の変換を AI と並行して進めることで、型定義を含む変換作業が大幅に短縮された。
- IT-1 の改善アクション(T1/T2)の適用: ふりかえりの Try を意識して作業を進められた。
Problem(問題だったこと)¶
プロセスの課題¶
- T1/T2 チェックボックスの未更新: IT-2 計画の「IT-1 ふりかえりの反映(改善 DoD)」セクションで T1/T2 のチェックボックスが最初から
[x]になっていなかった。全タスク完了後に後から補完する形になり、進捗の可視化がリアルタイムではなかった。 - スキップテストの存在: 2 テストがスキップされている(EightQueen 関連の slow テスト)。テストカバレッジの観点では 100% だが、機能カバレッジとしては完全ではない。
見積もり精度の課題¶
- 大幅な見積もり超過(良い方向): 2 週間の計画に対して 1 日で完了した。Python 版を基準とした変換作業の見積もりが過大だった可能性がある。次イテレーション以降の見積もりに反映する必要がある。
Try(次に試すこと)¶
| # | アクション | 担当 | 期待効果 |
|---|---|---|---|
| T1 | 次イテレーション開始前に Python 版との差分チェックリストを事前定義する | IT-3 から | 差分チェックの漏れを防止 |
| T2 | 展開言語の SP 見積もりを 3 SP → 2 SP に下方修正を検討する | IT-3 計画時 | より正確なベロシティ予測 |
| T3 | 改善 DoD のチェックボックスを作業中にリアルタイムで更新する | IT-3 から | 進捗の可視化を改善 |
| T4 | スキップテスト(EightQueen slow テスト)を定期的に実行する仕組みを検討する | IT-3 以降 | 機能カバレッジの維持 |
ベロシティ実績¶
| 指標 | 値 |
|---|---|
| 計画 SP | 3 SP |
| 実績 SP | 3 SP |
| 達成率 | 100% |
| テスト数 | 259 |
| テスト通過数 | 257 |
| テストスキップ数 | 2 |
| テストカバレッジ | 100% |
IT-2 ベロシティ: 3 SP(計画通り)
次のイテレーション(IT-3)への申し送り¶
- 対象ストーリー: US-003 Java 版を Python 版から展開する(3 SP)
- Python 版を基準:
docs/article/python/の 9 章を Java に変換する -
DoD 追加事項:
-
差分チェックリストを事前定義してから作業を開始する
-
改善 DoD のチェックボックスをリアルタイムで更新する
-
見積もり検討: IT-2 の実績を踏まえ、SP の下方修正を検討する
- 環境準備:
nix develop .#java(Java 開発環境)の動作確認
更新履歴¶
| 日付 | 更新内容 | 更新者 |
|---|---|---|
| 2026-04-11 | 初版作成 | - |