1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

レビューの方が実装より重要だった

1
Posted at

1. リード

ファイルが増える日は、進んでいる気分になる。増えない日は、止まっている気分になる。私は長い間、後者を嫌っていた。だが Version 1.0 に近づくほど、止まって見えた時間——レビュー、文書化、用語統一——の価値が反転した。実装よりレビューの方が、プロジェクトを前に進めていたと、今なら言える。

これは「コードを書かないから仕方なく」という話ではない。書ける人ほど、レビューを軽くしがちだ。軽くしたレビューは、速い負債を生む。非エンジニアのプロジェクトでは、負債の利息が、そのまま朝の負担になる。

2. 背景

Connector が増え、Dashboard が増え、Human Approval の話が出る。増えたものは、それぞれ正しい理由を持っていた。だが全体として説明できるかは別問題だった。説明できない状態で Version を上げると、Version はラベルになる。ラベルは、安心の代用品にしかならない。

Vol.04 で仕様のオーナーは人間、と書いた。オーナーシップは、文書に落ちなければ消える。消えた仕様は、実装の速さで上書きされる。上書きは、気づいたときに巻き戻す。巻き戻しは、新機能の二倍の時間を食う。

だから「もう一段、実装を止めて整理する」週が来た。コードを増やさない Architecture Review。地味な Step だが、後の RC には直結する。

レビューのサイクル

3. 今回のテーマ

テーマは、Documentation First と Architecture Review が、実装速度より効いた理由だ。

Documentation First は、きれいな文章を先に書くことではない。決めたこと、決めていないこと、変えた理由を、実装と同じタイミングで残すことだ。ADR(Architecture Decision Record)は、その短い形式。CHANGELOG は、外から見える履歴。architecture review は、散らばった設計を一枚の地図に戻す作業だ。

4. 実際の出来事

Step34.6 の Architecture Review は、Python も SQLite も Streamlit も触らなかった。触らないと、進んでいないように感じる。感じるが、成果物は多かった。glossary.md で用語を揃えた。Kagoshimaniax OS、Connector、SQLite Connector、Interactive MCP Connector、Human Approval——同じ言葉で話せるようになると、AI との会話が短くなる。

development-history.md で Phase を整理した。Step1 の MCP 統合構想は、方向転換ではなく成熟として記録した。成熟として書けると、過去の自分を責めなくてよい。責めないと、次の判断が速い。

ADR-0001 から ADR-0006 まで。SQLite、Connector、MCP、Interactive MCP、Human Approval、Local First。一つひとつは短い。短いから読める。読めるから、レビューで「これは既に決まっている」と言える。言えると、同じ議論の再演が減る。

constitution.mdphilosophy.md も置いた。North Star は「毎朝 10 分以内に運営方針を決定」。派手な機能より、地味な指標の方が、プロジェクトを縛ってくれた。縛りは、自由の敵ではなく、迷いの敵だ。

実装とレビューの比重

失敗談: 私は何度も「文書はあとでいい」と言った。あとで書くと、書けない。実装の細部は忘れる。忘れた細部は、推測で埋められる。推測は、バグより怖い。バグは直せる。推測は、方針になる。

もう一つの失敗は、レビューを責め合いにすることだ。レビューは正しさの裁判ではない。説明可能性の点検だ。点検で「分からない」が出たら、勝ち負けではなく、文書化のタスクになる。タスクに落ちると、前に進める。

三つめは、CHANGELOG を更新し忘れることだ。更新し忘れると、過去の自分が他人になる。他人の判断を信頼できないと、また同じ所で止まる。止まるたびに、実装は進んでいるのに心が疲れる。

Documentation First が効いた場面は、Human Approval の議論だった。操作の棚卸し表は、実装前に読んだ。読んでから Green を選んだ。選んだあと実装した。順番が逆だと、作ったあとに「これは危ない」と気づく。気づきは遅い。

文書を先に置く

プロジェクトレビュー(Step39)では、Must と Nice、Known Limitations の話も整理した。整理しないまま RC に行くと、RC は「とりあえず出した版」になる。RC は、凍結の宣言であるべきだ。凍結を宣言するには、何を含み、何を含まないかが文書で説明できる必要がある。

Analytics のページが増えた時期も、実装は速かった。GA4、Search Console、Clarity、Metricool——グラフや表が並ぶと達成感がある。だがページだけ増えても、用語が揃っていなければ「どの数字を信じるか」が分からない。レビュー週に glossary.md を読み返したとき、自分が作ったはずの画面の説明が、他人の文章に見えた。他人の文章になるのは、決定の履歴が自分の頭にないからだ。履歴を外に出すと、頭が軽くなる。

README.md の書き直しも、実装ゼロの日に行った。表やリンクを整えるだけに見える。だが README は、プロジェクトの顔だ。顔が二枚あると、どちらも嘘っぽくなる。Architecture Review でブランド(Kagoshimaniax OS)と汎用アーキテクチャ(AI Local Business Platform)を分けたのも、同じ理由だった。分けると、何をこのサイトのためで、何を将来の型として残すかが話せる。

CHANGELOG に Step を追記する習慣は、最初は面倒だった。面倒な作業ほど、後から効く。効くのは、Qiita の原稿を書く今この瞬間だ。当時の感情を、ログと CHANGELOG が思い出させてくれる。思い出せるから、体験談として書ける。書けるから、技術解説ではない連載の価値が出る。

5. 考えたこと

レビューは、遅延ではなく圧縮だと思う。一回の整理で、何週間もの同じ議論を省略できる。省略は、時間の節約ではなく、注意の節約だ。注意は、非エンジニアの一番乏しい資源だ。

また、レビューは完璧を目指さない。用語が 100% 揃うまで待つと、永遠に出せない。揃えたところまでを Version で切る。切る勇気も、レビューの成果だ。Version 1.0.0-rc1 は、その切り方の一つになる。

AI はレビューに向いていた。反対意見、抜け漏れ、用語の揺れ——質問すれば返してくれる。返してくれるが、採択は人間だ。採択したものを ADR に残す。残すと、次の AI セッションも同じ地図から始められる。

レビュー週は、チームにとっての「休み」ではなかった。呼吸を整える週だ。散らばった判断を一度吸い上げ、吐き出す。吐き出したものが文書になる。文書は、次の実装の燃料になる。燃料がない実装は、短距離走には見えるが、マラソンには向かない。地域メディアの運営 OS は、マラソンだ。

非エンジニアがレビューを主戦場にできたのは、コード差分を読まなくても、決定と理由の文章なら査読できるからだ。査読できる領域を広げると、プロジェクトの主導権が自然と戻る。戻った主導権は、Human Approval の思想ともつながる。

Step ログを読み返す習慣は、レビュー週のあとも続けた。続けると、当時の「進んでいる感」が再現される。再現されると、同じ罠に気づける。罠は、成功体験のすぐそばにある。あるから、記録は祝杯の直後に書く。後だと美化される。美化は、体験談の敵だ。

6. 学び

  • ファイルが増える日と、説明できる日は同じではない
  • Documentation First は、決定と理由を実装と同時に残すこと
  • ADR と CHANGELOG は、同じ議論の再演を減らす
  • Architecture Review はコードを増やさなくても前に進める
  • 用語統一は、AI との会話コストを下げる
  • レビューは裁判ではなく、説明可能性の点検

7. 次回予告

次は、整理の先に置いた区切り——Version 1.0.0-rc1 までの道のり——を書く。足さない決断と、141 テストの話だ。


シリーズ情報

項目 内容
Season 1
Vol 08
現在の開発 Version 1.0.0-rc1
GitHub https://github.com/boraemon2000/kagoshimaniax-os/tree/main/docs/qiita

次回予告

Vol.09「Version1.0RCまでの道のり」
Step48 の凍結、Must チェックリスト、Known Limitations——RC の意味を書きます。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?