Skip to content

plan-to-spec: 「未確認のまま残ること」が確定仕様へ移す工程で消え、「別途起票する」の宿題が失われる #840

Description

@takemi-ohama

何を見つけたか

計画文書の「未確認のまま残ること」が、確定仕様へ移す工程で消える。
そこに書かれた宿題(「抱えていれば別途起票する」)も一緒に消えるため、起票されないまま
誰も思い出さなくなる。

devbasex/devbase の v3.7.0 での実例。

段階 記述
計画(issues/old/PLAN63_base-image-rendering.md:86, 233) 「containers/lfm が同じ問題を抱えるかは未調査。抱えていれば別途起票する」
設計・実装の計画(同 -design.md:423 / -impl.md:152) 同文
Pull Request(devbasex/devbase#238 の「やらないこと(範囲外)」) 同旨。番号が付いていない唯一の行(他の 2 行には番号が付く)
確定仕様(docs/specifications/base-image-rendering.md:250-251) 「対象外である」だけが残り、「未調査」「別途起票する」が消えている

振り返りの「起票の取りこぼしを拾う」で拾えたが、拾えたのは計画ファイルが issues/old/ に
残っていたからである。
確定仕様だけを読むと、lfm は調べた上で対象外にしたように読める。

同じ形が v3.7.0 の中で 3 件あった(devbasex/devbase#243 / #244 / #245。いずれも
計画・設計に「別の課題である」「別途起票する」と書かれながら番号が付かず、確定仕様には
理由だけが残って宿題が消えていた)。

どこで見つけたか

  • skills/plan-to-spec/SKILL.md — 計画を確定仕様へ書き換える工程
  • skills/retrospective/SKILL.md の段 1「起票の取りこぼしを拾う」— 突き合わせる場所として
    「計画ファイルの『やらないこと』」を挙げるが、確定仕様化で計画が置き換わった後に
    この工程が来る
    ため、計画ファイルが残っていなければ突き合わせられない

順序の問題である。 工程表では確定仕様化が振り返りより前に来る。
plan-to-spec が「未確認のまま残ること」を落とすと、振り返りの入力が先に失われる。

なぜこの変更の範囲外なのか

devbasex/devbase の v3.7.0 の 8 課題は devbase 本体を対象としており、Skill の手順は
対象外である。

直さないと何が起きるか

  • 「別途起票する」と書いた宿題が、起票されないまま消える。今回は 6 件見つかり、
    5 件を起票した
    (1 件は別の課題へまとめた)
  • 確定仕様を読んだ人が、調べた上で対象外にしたのか 調べていないのかを区別できない。
    containers/lfm は後者だが、確定仕様からは前者に読める
  • 振り返りの段 1 が、計画ファイルの残り方に依存する。issues/old/ へ退避しない運用の
    リポジトリでは、突き合わせる相手が存在しない

直し方の案

案 内容
A plan-to-spec に「『未確認のまま残ること』の各行は、番号を付けてから確定仕様へ移す(または確定仕様へ番号つきで残す)」を足す。確定仕様化の時点で起票を強制するため、振り返りまで持ち越さない
B plan-to-spec に「『未確認のまま残ること』は落とさず、確定仕様の『確かめていないこと』の節へそのまま移す」を足す。起票は振り返りに任せる
C retrospective の段 1 の突き合わせ先に「確定仕様の差分(plan-to-spec が移した内容)」を足す。対症で、消えた行は復元できない

A が修正レイヤーである。 「別途起票する」と書ける時点で、何を起票するかは決まっている。
確定仕様化まで待つ理由が無い。

由来

devbasex/devbase の issue #161 / #188 / #192 / #203
(v3.7.0 の振り返り、PR devbasex/devbase#212)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    duplicateThis issue or pull request already exists

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions