Upgrade to Pro — share decks privately, control downloads, hide ads and more …

コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for ioki ioki
June 12, 2026

コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —

Avatar for ioki

ioki

June 12, 2026

More Decks by ioki

Other Decks in Programming

Transcript

  1. BUSINESS RULE DRIVEN DEVELOPMENT コンテキストの使い捨てをや める - ビジネスルール駆動開発 と miko

    - miko ビジネスルール駆動開発 のためのフレームワーク github.com/studyplus/miko 01 / 19
  2. ビジネスルール 「このビジネスで何が真か」の宣言 —— BR・仕様・ビジネスロジックは層構造 BR 「出荷済みの注文はキャンセルできない」 what の宣言 仕様 「キャンセル実行時に出荷済みならエラー文言を画面に

    表示」 how (挙動の決 め) ビジネスロジッ ク order.cancellable? && !order.shipped? how (コード) 仕様や実装が変わっても、BR は残る BR はビジネスの判断が変わらない限り 不変 07 / 19
  3. ビジネスルール例 ### レポート機能の権限管理 - ルール1 対象ユーザーの参照権限が有効でなければならない - ルール2 参照権限の有効期限は、1 年を超えて設定できない

    - ルール3 有効期限の指定がない場合、有効期限は付与から 1 ヶ月とする 汎用性のない、かつ、コードを読めばわかる情報は書かない 合理的な代替案テスト A案B案どっちでもいいのに、A案を選んでいるのは、ビジネス判断 A案しかないような状況なら書かない(A案じゃなければ、バグ) 08 / 19
  4. ビジネスルール駆動開発(BRDD)Flow BR から始まり、BR を更新して終わる 1 提案 /miko.propose 2 検証 /miko.harae

    3 実装 /miko.quick_impl BR への変更を proposal ファイルとして定義 proposal の BR に攻撃的検証 proposal を元に実装し、BR を更新 11 / 19
  5. 提案(propose) 「やりたいこと」を、BR の改訂案にする ❯ /miko.propose contract 有料契約に初期データをつくって /miko.propose [ケイパビリティ名] [やりたいこと]

    人は、変えたいことを話すだけ。miko が質問してくれる miko は関係 BR を読み、どのルールがどう変わるかを proposal にまとめる 変更の背景・動機・ルールの差分が、そのまま変更履歴として残る ここではまだ実装しない —— 判断を固め、合意してから実装へ 12 / 19
  6. proposal # 既存の有料契約アカウントに、初期のトライアルデータを付与する ## 背景・動機 トライアル機能のリリース前から有料契約のアカウントには... ## ビジネスルールの変更 (どの BR

    がどのように変更されるか) ## 機能仕様 ... ユーザーとの対話から得た背景などが記載される 仕様などの詳細な情報もここに記載される 13 / 19
  7. 検証 祓え(harae) 書いた BR を、6 軸で AI に攻撃させる ❯ /miko.harae

    contract/proposals/2026-06-09-init-data-for-paid-contracts.md 検証軸 例 内部矛盾 ルール A と B が同時に成り立たないケース 不完全性 決まっていない境界条件 境界の曖昧さ 「出荷準備開始」の正確な定義は? 時間軸の破綻 日付変更線をまたぐとどうなる? ビジネス毀損 このルールで売上が減るシナリオは? 悪用耐性 ルールの抜け穴を突く行動パターン 15 / 19
  8. 検証 祓え(harae): よかったこと 既存のメール送信機能で、予期しない問題が起きた その機能の BR を miko で書き起こし、祓えにかけると: 指摘の中に、その問題の再現フローが出てきた

    実装の誤りではなく、決めごとの考慮漏れ —— コードを読んでも「仕様どおり」 にしか見えない BR と祓えが先にあれば、実装の前に潰れていた 16 / 19
  9. ビジネスルール駆動開発(BRDD)Flow BR から始まり、BR を更新して終わる 1 提案 /miko.propose 2 検証 /miko.harae

    3 実装 /miko.quick_impl BR への変更を proposal ファイルとして定義 proposal の BR に攻撃的検証 proposal を元に実装し、BR を更新 18 / 19
  10. BRDD —— 変更を BR から始め、BR を残 して終える miko —— BRDD

    のためのフレームワーク github.com/studyplus/miko