Skip to content

課題本文の「実測」を計画の前に踏み直す段が無く、4 束すべてで設計の途中に誤りが出た #838

Description

@takemi-ohama

何を見つけたか

課題の本文に「実測」として書かれた値が誤っていることが常態だった。
devbasex/devbase の v3.7.0 は 6 束・12 本の Pull Request で通したが、設計の束 4 つすべてで
issue 本文の実測が誤っており、設計または実装の途中で初めて分かった。

課題 本文の記述 実際
devbase#161 「直し方(検証済み)」として fontconfig の設定を全文で掲載 その設定は serif:lang=zh-cn と Arial:lang=zh-cn を壊す。中国語・韓国語を明示したときのフェイスを保つはずの match target="pattern" が、Arial の指定まで CJK へ引き寄せる
devbase#188 「見出しだけを変えるなら、差し替えるのは 2 か所で足りる」 実際は 5 か所
devbase#192 「cmd_scale は compose_env() が適用されない」 cmd_scale だけでなく cmd_login にも適用されていなかった
devbase#203 「syncer が唯一の入口」 env import も projects/ にディレクトリを作る

誤りの種類が 4 件とも違う。 検証したつもりの設定(#161)、影響範囲の数え落とし(#188、#192)、
入口の見落とし(#203)である。1 つの原因ではなく、起票の時点の調査が
「症状を再現するところまで」で止まり、修正の範囲までは確かめていない
という共通の形を持つ。

どこで見つけたか

devbasex/devbase の v3.7.0 の 4 束(PLAN63 / PLAN64 / PLAN65 / PLAN66)の設計と実装。
各束の設計のフェーズが、issue 本文を入力として読んだ時点で食い違いを見つけている。

現在の手順では、この再実測を求める場所が無い。

Skill 何をするか 課題本文の実測を確かめるか
requirements-design 受け入れ条件を作る 課題本文を入力として読むが、実測の再現は求めない
implementation-plan 計画を作る 「目的と非目的」を決める。実測の再現は求めない
investigation-rules 調査レポートの書き方 書く側の規則で、読む側が確かめる段を持たない
design データ構造と契約を決める 進む前に突き合わせる対を持つが、対象は設計の内部

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

v3.7.0 の 8 課題は devbase 本体の不具合と文書を対象にしており、Skill の手順は対象外である。

直さないと何が起きるか

直し方の案

案 内容
A requirements-design(または implementation-plan)に「課題本文の実測を 1 つずつ踏み直し、食い違いを issue へコメントで戻す」段を足す。踏み直した結果は受け入れ条件の入力になる
B investigation-rules に、起票する側へ「修正の範囲(どのファイルの何か所か)まで数えて書く」を足す。書く側で防ぐ
C 課題本文の実測に「いつ・どの版で測ったか」を必須にし、版が変わったら再実測を求める

A は読む側、B は書く側である。4 件の誤りの種類が違うため、片方だけでは防げない可能性が高い。
A を先に入れて、踏み直しで見つかった食い違いの種類を溜めてから B を決めるのがよい。

入れる場所

関連

由来

devbasex/devbase の issue #161 / #160 / #188 / #192 / #195 / #203 / #208 / #209
(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

    area: ndf-skillNDF の Skill 本体enhancementNew feature or requestpriority: medium保守性・設計一貫性など、計画的に対応する

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions