Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Waterman Cometh - ウォーターフォールの復権 - LLMとウォーターフォール設...
Search
Tatsuya Ando
September 15, 2026
Programming
16
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Waterman Cometh - ウォーターフォールの復権 - LLMとウォーターフォール設計が妙に相性が良い話
VRChat個人開発集会で発表させてもらったスライドです
Tatsuya Ando
September 15, 2026
More Decks by Tatsuya Ando
See All by Tatsuya Ando
Claudeに吐かせた原始スライド(参考用)
zgock999
0
15
GitHub Copilotと和解せよ
zgock999
0
290
我ギガスクール構想ニ勝テリ
zgock999
0
280
自力でTTSモデルを作った話
zgock999
0
690
GPUパススルーでVMからVRしてみよう
zgock999
0
2.9k
Other Decks in Programming
See All in Programming
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
Event is what happens
moro
2
850
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
620
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
phperだってパンチカードでコーディングしたい
o0h
PRO
0
340
残高管理から台帳サービスへの進化
artoy
1
200
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
140
TechTown - Creating Composable Callables in Contemporary C++
rollbear
0
130
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
5
3.8k
npm との違いを手がかりにGo の依存管理を理解したい
optim
0
680
Agents on Rails - Rails at Scale 2026
irinanazarova
0
570
Featured
See All Featured
ラッコキーワード サービス紹介資料
rakko
1
5.4M
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Paper Plane
katiecoart
PRO
5
54k
How to make the Groovebox
asonas
2
2.5k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
570
Prompt Engineering for Job Search
mfonobong
0
520
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
360
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
850
Transcript
個人開発集会 / 30分枠 Waterman Cometh - ウォーターフォールの復権 Research → Spec
→ Oracle で Unity 開発を回してみた話 Unity 個人開発「ShapeSync」で、LLM エージェントを「速いコーダー」ではなく「開発チーム」として運用した記録 完成した方法論の宣伝ではありません。効いた範囲と弱点をそのまま話します。 発表者: zgock / 2026-xx-xx / ※ロゴ等の商標画像は使用していません
目安 1.5分 お前誰よ? — ずごっく(zgock999)と申します — わりと昔からopenSUSEユーザー会という組織でごにょごにょやってる OSSじじい — OpenZFS/openSUSEにちょいちょい
commitしたり — 最近は道楽でUnity Asset書いたり Waterman Cometh — 実験的方法論としての報告 2 / 16
ShapeSync なるものを作ってます — Unity用のキャラクターメイキング /着せ替えAsset — DAZ Studioライクな「ボーンごとモーフする Full Body
Morphシステム」 — VRC民にわかりやすく言うと「リアルタイム版もちふぃったー」 — リアルタイムで「n種類のキャラクター体形を任意比率でリニア合成」 — リアルタイムでHumanoid avator計算、GPU演算による法線マップリアルタイム合成 — StackMachine/Forth言語によるレンダリングパイプライン不問の GPUテクスチャ演算 — リアルタイム変形する runtimeと、pure Humanoid prefab/Scene Objectへのコンパイラ — 今日の本題ではないため、興味のある方は発表後に個別にお問い合わせを Waterman Cometh — 実験的方法論としての報告 2 / 16
目安 1.5分 始まりは単純でした — 「キャラメイクシステム欲しい!」 — 「Asset Storeを見ても、俺の欲しい DAZ Studio型の奴がどこにもない」
— 「じゃあ作るか!」 — 「だが待てよ!? Asset Storeにないということは何か技術課題があるに違いない」 — 「そこの実証実験からだな!」 — 「OK AI。↑をUnityで実現しようと思うと何がいる?」 — 「あ、そんな感じ?やっぱ単純ではないよね。OK、それ要件書に起こして!」 Waterman Cometh — 実験的方法論としての報告 2 / 16
何を言ってるかわからねえと思うが — Unityのキャラメイクシステムを作るつもりが、 いつの間にか 「LLMと親和性の高い開発プロセスの研究」 になっていた — これはそんなおバカの観察日記です 2 /
16
Specを積み上げながらのボトムアップ開発 — Spec1:「そもそも出来るんかこれ?」と思いながら「ボーンごと BlendShapeを実装」 — 「あ、いけるわ。なら応用で表情もいけるな」で Spec2積み上げ — 「うん、いける。 BlendShapeをn本に増やそう」で
Spec3 — 「あ、これいるね」で Specをどんどん積み上げ — 「これやりたいねえ、でもどうやるか見当つかんな」を Spec Xとして仮置き — 気づいたらSpec20まで積みあがっていた — 無意識に「後方リサーチ型開発」をやってたわけだけどそれは後述 3 / 16
最初(Spec1~8あたり)はいつもの雑開発でした — 要件書を雑に書いて、「実装計画書いて」>レビューする>「実装して」 — Ownership周りの取り決めが要件段階で超雑 — 実装中は良いが、「設計意図」「実装意図」が残っていかない — 結局「こいついつも同じとこ間違えてんな」と思いつつコードレビュー —
実装は1時間かもしれないが、レビューして動くものにするまでに12時間 3 / 16
そうだ、要件ちゃんと書こう — 要件ドラフトを雑に書く — 「OK AI。これで実装に入れる?何が足りない?」 — 「あっそう。Ownership。Rustのあれね?この情報の Ownershipは・・・こいつで」 —
「このデータを一時保持・・・あっそう。 escrowって言うと君がわかりやすいのね?じゃあそれで」 — 「なんか要件定義書というよりも要件契約書になってきたな」 — なんだかんだとAI君と2人で細かい要件書を2~3時間で仕上げる — 「OK。これでまとまったね。実装計画に落として」 3 / 16
そうだ、受け入れ条件書こう — 「工場のラインって絶対受け入れ検査あるよね」 — 「hogeを実現するためには fugaが必要、これ事前にわかるよなあ」 — 「これ書いておけば出荷前に達成してるかチェックすればいい。」 — 「何より俺のレビューが楽じゃん!」
— 「待てよ?そもそもこれあったら LLM君自身が自己レビュー出来るよね?」 — このあたりから実装では「続けて」「自己レビューして」ぐらいしか言わなくなった プロンプトエンジニアリング?何それ美味しいの? (正確にはプロンプトエンジニアリング相当を設計でやってるだけである) 3 / 16
誕生!Waterman 0.0 — Spec>Implement>Code — がっつり書いたSpecと、「人間とLLMどちらにも優しい中間言語」 ”実装計画”、実コードのセット — 実装計画には「実装記録」、「レビュー記録」をがんがん追記 —
あら不思議!「設計意図」「実装意図」が履歴として残る! — 「あれ?これ昔メインフレームの COBOLやFORTRANでさんざん書いたよね?泣きながら」 — ウォーターフォールは「理想としては正しかった」、 ただ「人間がやるにはコストが高すぎた」 今はLLMのおかげでそのコストが激減した — だったらやろうよ! 3 / 16
ところでなんで「 Waterman」? — The Stranglersのベーシスト、 J・J・バーネルのソロアルバム 「Euroman Cometh - ヨーロッパの復権
-」のオマージュです — これで理解できた方、音楽談義がしたいので後で個別にご連絡ください — ただ、もうすでに「名前の由来」なんかどうでもいいですよね? 3 / 16
このへんで「コードレビュー」がほぼ消えた — 「中間言語」レベルできちんとしてれば「コードの誤り」はほぼない — ほぼ 「あ?出来た?どう実装した?」 「あ、それ契約無視」 「あ、それ契約逸脱」 「あ、これ契約漏れだ。要件見直し!」 で、実装計画と要件の更新で片が付く
(というより、要件漏れ以外は自己レビューで LLM自身が大半を見つけてしまう) — ごくごく稀に「あれ?それでもおかしい?」時に初めてコードを覗く — 昔なら「恐怖」でしかなかった「要件変更」も気軽に、かつ自信を持って行える 3 / 16
そうだ、 Researchしよう — 「んー、要件ドラフトを手で起こす時、詰まることがあるなあ」 — 「あ、これ潰すべき技術課題が見えてないせいだ」 — 「OK、AI。要件としてやりたいことはこれ。潰すべき技術課題出して」 — 「あ、やっぱそれか。ほな要件としてこの段いるね(書き書き)」
— 「んー、それこの Specに入れるには重すぎるな。 Spec X追加と(書き書き)」 — 「あー、これ正式手順として組み込んだ方がいいな」 — かくして「要件フェイズ」の前に「リサーチフェイズ」が出来ました 3 / 16
そうだ、 Oracle作ろう — 「んー、実装から Human TestでどうしてもBlockerが出る。なんで?」 — 「あー、これ『あるべき姿』が実装時点で伝わってないせいだ」 — 「どっかの世界一大きい会社でさんざん言われたなあ、『あるべき姿』」
— 「OK AI。こういうテスト組み込もう。あ、これ Oracle Testって言うのね?じゃあそれで」 — どこかの Oという会社とは全く関係がないです。 あそこには OpenSolarisを殺された私怨があるので 3 / 16
そしてWaterman 0.1へ — Research>Spec Draft>Spec>Implement>Code>Oracle Test>Human Test — Researchは人間が書いたSpec DraftへのLLMレビューでもある
この時点で「Draftに何を合意として書き足せば Specになるか」を洗い出す — Spec Draft>Specは「人間が決めないと進めようがない事柄」を埋めてのコンパイル作業 人間がコンパイルされた Specをレビューする — Specを「実装計画」と言う名の「人間も LLMも読みやすい中間言語」にコンパイル ここも人間レビュー — Implement>Code>Oracle TestはLLMの自己レビュー8割、人間レビュー 2割 — Human Testは「UX等、人間じゃないと判断がつかない項目」をテストする 「顧客受け入れ検査」 3 / 16
偉そうに 0.1とか書いてますが — Waterman 0.0の時点で無意識にやってたことを 正式に手順にしただけです 3 / 16
ただ、「魔法のハンマー」ではない — Oracleが最初から作れる問題ばっかりなら誰も苦労しねえよ! — だからSpecに分解する段階で「 Oracleが作れる問題」まで噛み砕いていた — 「Oracleが定義できるもの」:仕様( Spec1~20) 「Oracleが定義できるまで揉む必要があるもの」:構想・願望(
Spec X) — Oracleが間違っていたら大惨事 リサーチ段階で「 Oracleは何」はしっかり決めよう。実装時もそこは慎重に 3 / 16
前方リサーチと後方リサーチ — 前方リサーチ( Waterman) 解決する課題が単一であり、 Oracleが明示できる問題に強い 「何を作ればいいかはわかってる。でもどう作ったらいいかが不透明」 こういう問題には向いてる — 後方リサーチ(
TDD/ProtoTyping) 解決する課題が複合課題であり、 Oracleを作ろうとすると発散する問題向き 「何を作ったらいいかそもそもわからん」 こういう問題に向いている (Spec1~10前後まではまさにこれだった) 3 / 16
では限定的なのかというとそうでもない — 最初は何だって複合課題 ただ、ちょっと洗うだけで単一課題に分解できる問題は案外多い 「Oracle作れるか?」を意識しながら後方リサーチすることで 後方リサーチ量を削減することは可能(なはず) — 大事なものは「ウルトラマンメビウス」から学んだ 「はじめは誰もヒーローじゃない 違う形のただちっぽけな星なんだ」
(ウルトラマンメビウス OPよりの引用) 3 / 16
で、実際どうなのさ — 設計/文書コストに振った分テスト /レビューコストは下がった Human Testが「本当に UX上の問題を洗うテスト」になった 結果として「30分でテトリス!」は無理になった ただ、 「12時間でホワイトボックス完備、
設計/実装意図までアーカイブしたドキュメント付きの エンタープライズ級品質のテトリス」 が作れるようになった — 一番大きいと感じたのは 「手書きなら一時間は悩むことになりそうな設計判断」 が、リサーチの力を借りて10分で出来るようになったこと 3 / 16
恥さらしその1 (Spec1.md) — 今見ると「これでよう作れたな」と思いますね 3 / 16
恥さらしその 2(Spec17.md) — 同じプロジェクトの要件書だと思えませんね 3 / 16
恥さらしその 3(Implement17.md) — すまない、 1800行あるmarkdownを見せて本当にすまない — codex/Terra君が12回の自己レビューで「もう大丈夫!」と言うまでに 何度もwhitebox足したり契約違反を修正しています — codex/Terra君がOracle
Testで 「誤差0.0002まで詰めました。計算順調整でまだ詰められます」 と大学の研究生みたいなことを言ってます 3 / 16
恥さらしその 4(Research18.md) — Claudeが勝手に、「過去設計の裏付けとそこで生じた契約漏れ」について分析して くれてます 3 / 16
ウォーターフォールに戻ろうとは言ってないですお — 俺だってウォーターフォール大嫌いでした — 写経のごとき「テスト仕様と期待値」を Excelに埋める仕事が好きな人挙手 — ただただ「たかが要件変更でこんな大騒ぎになるのは構造的問題では?」 と思っていました —
でも「ウォーターフォールの理想自体が悪いわけじゃない」という気づき — だから「ウォーターフォールのいいとこだけもらおう」という呼びかけです 3 / 16
まとめ(と予想される反応) — DAZ Studioもどきを Unityで作ってます 「ふんふん」 — こういうプロセスで作って行きました 「ふんふん」 —
なんか開発プロセスが固まったので ”Waterman”と名づけました 「???」 — 大事なものは全てウルトラマンメビウスにありました 「なに言ってんだじじい」 3 / 16
質疑 Questions & Discussion 想定される論点 — 自分の領域では Oracle をどう定義するか —
文書コストが見合う規模の下限はどこか — チーム開発(複数人)へ持ち込めるか — モデル / ツールを変えても成立するか — 「記憶のベンダーロックイン」対策の一つとしての効果 ご意見・反証は歓迎します Waterman Cometh — 実験的方法論としての報告 16 / 16