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
9
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
9
GitHub Copilotと和解せよ
zgock999
0
290
我ギガスクール構想ニ勝テリ
zgock999
0
270
自力でTTSモデルを作った話
zgock999
0
650
GPUパススルーでVMからVRしてみよう
zgock999
0
2.9k
Other Decks in Programming
See All in Programming
TiDB Cloudのカスタムコントローラーによるオートスケール対応
takaidohigasi
0
120
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
140
Security issues being discussed on Web Platforms
petamoriken
0
940
App Intentsのビルドプロセスを支える技術
kntkymt
0
370
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
120
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
390
A2UI for Android: Safely Rendering AI-Generated UI with Jetpack Compose - DroidKaigi 2026
itsmedreamwalker
0
140
wkhtmltopdfの次どうするか問題2026
willnet
1
100
速習iPhone Duo対応
yuukiw00w
1
420
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
0
160
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
140
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
460
Featured
See All Featured
A Soul's Torment
seathinner
8
3.6k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
410
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Darren the Foodie - Storyboard
khoart
PRO
4
3.9k
The SEO identity crisis: Don't let AI make you average
varn
0
560
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
850
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
330
Utilizing Notion as your number one productivity tool
mfonobong
4
590
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
380
Google's AI Overviews - The New Search
badams
0
1.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
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