Skip to content

イテレーション 4 ふりかえり

イテレーション情報

項目 内容
イテレーション 4
期間 Week 7-8
実施日 2026-03-02
参加者 開発者 + AI(Claude + Codex)
フォーマット KPT

実績サマリー

完了状況

項目 計画 実績 差異
ストーリーポイント 13 SP 13 SP 0
記事数 12 章 12 章 0
テスト数 - 39 -
カバレッジ(Line) 80%+ 95.95% +15.95pt
カバレッジ(Branch) 80%+ 100.0% +20pt
コミット数 - 10 -
RuboCop エラー 0 0 0

主要成果物

カテゴリ 数量
記事ファイル 12 章 + index(3,037 行)
ソースコード 15 ファイル(290 行)
テストコード 7 ファイル(723 行)
CI ワークフロー 1 ファイル(ruby-ci.yml)

モジュール別構成

モジュール ファイル数 役割
domain/model/ 2 FizzBuzzValue、FizzBuzzList
domain/type/ 4 FizzBuzzType 基底 + 3 サブクラス
application/ 3 FizzBuzzCommand + 2 実装
fibonacci/ 5 Command + 3 アルゴリズム + barrel
テスト 7 4 FizzBuzz + 2 Fibonacci + helper

KPT 分析

Keep(続けること)

技術的成功事項

  • Codex 分業体制の安定運用: 部単位(3 章)で Codex に実装指示 → Claude が受入検証の流れが完全に定着
  • TDD サイクルの徹底: 全章で Red-Green-Refactor を厳守し、Branch Coverage 100% を達成
  • Ruby 固有機能の活用: Enumerable Mix-in、frozen_string_literalthen パイプライン、パターンマッチング(case/in)を適切に活用
  • 4 エピソード言語の第 4 部: Fibonacci 3 アルゴリズム + Minitest::Benchmark によるパフォーマンス比較が完全に動作

プロセス的成功事項

  • 部単位コミット戦略: feat(実装)+ docs(記事)の 2 分割コミットが 4 イテレーション通して一貫
  • IT1-IT3 テンプレートの成熟: 4 回目のイテレーションでテンプレート再利用が極めて効率的
  • CI の早期追加: IT4 セッション内で ruby-ci.yml を追加し、品質ゲートを確立

Codex の実装品質

  • 第 3 部(OOP): 11 ソースファイル + 4 テストファイルを一度の指示で正確に実装完了(22 テスト、0 失敗)
  • 第 4 部(FP): 16 ファイルの修正/新規作成を一度の指示で完了(39 テスト、0 失敗)
  • 受入時の手戻りゼロ: bundle exec rake check が常にパスし、RuboCop 違反もゼロ

Problem(問題点・課題)

技術的課題

  • RuboCop Style/OneClassPerFile: FizzBuzzTypeName モジュールを fizz_buzz_type.rb に追加した際、rubocop:disable コメントが必要になった。別ファイルに分離すべきだったか検討の余地あり
  • テストカバレッジ 95.95%: 6 行の未カバー行が存在(主に FizzBuzzType#generateNotImplementedErrorFizzBuzzCommand#executeNotImplementedError)。基底クラスの抽象メソッドは意図的に未カバー

プロセス課題

  • コンテキスト消費: 12 章通しの作業でコンテキストウィンドウを大きく消費。部ごとの /compact が必須だった
  • Release 1.0 準備が未完了: タスク 5.1-5.3(クロスレビュー、MkDocs 確認、タグ付け)が残存

Try(次に試すこと)

# アクション 責任者 期限 期待効果
1 Release 1.0 のクロスレビューとタグ付けを完了する AI IT4 バッファ Phase 1 完了
2 4 エピソード言語のベンチマークテンプレートを標準化 AI Phase 2 再利用効率の向上
3 RuboCop disable コメントを減らすファイル分割方針を策定 AI Phase 2 コード品質の改善
4 ベロシティトレンド分析(4 IT 実績)を次フェーズ計画に反映 AI Phase 2 計画精度の向上

次イテレーションへの引き継ぎ事項

必須対応事項

  • IT4 全 12 章の記事・実装が完了
  • テストカバレッジ 80% 以上を達成(Line 95.95%, Branch 100%)
  • RuboCop 違反ゼロ
  • Release 1.0 準備(クロスレビュー、MkDocs 確認、タグ付け)

テンプレート確立事項

  • 4 エピソード言語(Ruby)の第 4 部執筆パターンが確立(Fibonacci + Benchmark)
  • Codex 分業体制の最適粒度が再確認(部単位が最適)
  • Ruby Bundler + Minitest + RuboCop + SimpleCov 環境の標準セットアップが確立

Phase 2 への知見

  • Phase 1 の 4 言語(Java, Python, Node/TS, Ruby)のテンプレートが完成
  • Phase 2 の言語(PHP, Go, Rust, C#/F#)は 3 エピソード言語が中心
  • 4 IT の実績でベロシティは安定して 10-13 SP/イテレーション

メトリクス

開発メトリクス

メトリクス
コミット数 10
feat コミット 4
docs コミット 4
ci コミット 1
chore コミット 1
ソースコード行数 290 行
テストコード行数 723 行
記事行数 3,037 行
テスト/ソース比率 2.49

品質メトリクス

メトリクス 目標 実績 判定
テストカバレッジ(Line) 80%+ 95.95%
テストカバレッジ(Branch) 80%+ 100.0%
テスト数 - 39
アサーション数 - 72
RuboCop エラー 0 0
ベンチマーク 3 3

プロセスメトリクス

メトリクス
計画 SP 13
実績 SP 13
達成率 100%
ベロシティ 13 SP/イテレーション

IT1-IT4 比較

メトリクス IT1(Java) IT2(Python) IT3(Node/TS) IT4(Ruby)
SP 10 10 13 13
達成率 100% 100% 100% 100%
テスト数 27 23 53 39
カバレッジ 97%+ 98%+ 97.27% 95.95%
コミット数 8 7 8 10
記事行数 約 2,500 約 2,700 2,971 3,037
ソース行数 約 300 約 280 312 290

学び(Lessons Learned)

技術的学び

  • Ruby の Enumerable: include Enumerable + each 定義で map, select, find 等が自動的に使えるが、戻り値は Array。FizzBuzzList を返すには独自メソッド(select_type 等)の追加が必要
  • パターンマッチング: Ruby 3.x の case/in + deconstruct_keys で自作クラスに対するパターンマッチングが可能。TypeScript の Type Guards に相当する機能
  • anonymous block forwarding: Ruby 3.x の def method(&) / @value.select(&) で明示的なブロックパラメータ名を省略できる。RuboCop も推奨

プロセス的学び

  • 4 イテレーション目の成熟: テンプレート・ワークフロー・Codex 分業がすべて安定し、13 SP を問題なく消化。Phase 1 の 4 言語を通じてプロセスが完全に確立された
  • CI の早期追加: IT4 で ruby-ci.yml を開発初期に追加したことで、品質ゲートが最初から機能した
  • テスト/ソース比率: Ruby は 2.49 と他言語(Java 1.0, Python 1.0, Node 1.33)より高い。Minitest のテストケースが詳細なため

更新履歴

日付 更新内容 更新者
2026-03-02 初版作成 AI

関連ドキュメント