Slide 1

Slide 1 text

仕様書駆動開発 (cc-sdd)を実務API開発で試してみた 株式会社エブリー 新谷 悠太

Slide 2

Slide 2 text

2 Copyright © 2015 every, Inc. All rights reserved. 自己紹介 • 名前 • 新谷 悠太 • 所属 • 株式会社エブリー 開発1部 • 経歴 • 株式会社エブリー 24新卒 • 業務 • toC / 食事管理アプリ • Go, AWS

Slide 3

Slide 3 text

エブリーの紹介 3

Slide 4

Slide 4 text

4 Copyright © 2015 every, Inc. All rights reserved. サービス紹介 「だれでもおいしく簡単に 作れるレシピ」を毎日配信 するレシピ動画メディア 「子育てを通じて、人が、社 会が、ともに手をとりあう世 界を実現する」ファミリー向 け動画メディア 「インフルエンサーと熱狂 を共創する」SNS・動画の プロフェッショナルチーム デリッシュキッチンのア セットを活かした「簡単に 楽しく続けられる」をめざ す食事管理アプリ デリシュキッチンを初め日本最大級のメディアを運営。生活に寄り添ったサービスを提供しています。

Slide 5

Slide 5 text

5 cc-sddについて

Slide 6

Slide 6 text

6 Copyright © 2015 every, Inc. All rights reserved. Kiroの開発方式をCoding Agentで実現 仕様駆動開発ツール 「cc-sdd」 Steering 要求定義 詳細設計 タスク分解 実装 Kiro方式 要求定義、詳細設計、タスク分解を 順次承認制で作成していく 12/03時点での対応Coding Agent requirements.md design.md task.md ● Claude Code ● Cursor ● Gemini CLI ● Codex CLI ● GitHub Copilot ● Qwen Code ● Windsurf

Slide 7

Slide 7 text

7 Copyright © 2015 every, Inc. All rights reserved. Kiroの開発方式をCoding Agentで実現 仕様駆動開発ツール 「cc-sdd」 Steering 要求定義 詳細設計 タスク分解 実装 Kiro方式 要求定義、詳細設計、タスク分解を 順次承認制で作成していく 12/03時点での対応Coding Agent requirements.md design.md task.md ● Claude Code ● Cursor ● Gemini CLI ● Codex CLI ● GitHub Copilot ● Qwen Code ● Windsurf 今回はClaude Codeで実装した話

Slide 8

Slide 8 text

8 Copyright © 2015 every, Inc. All rights reserved. なぜ実務でcc-sddを使ってみようと思ったのか 設計書だけでシステム完成したらチームの開発生産が上がるんじゃないか ● 並列作業 ○ AIが実装中は別タスクに着手可能 ● 設計の合意形成 ○ チームで設計が問題ないか認識を合わせられる、コードレビュー負荷軽減

Slide 9

Slide 9 text

9 Copyright © 2015 every, Inc. All rights reserved. なぜ実務でcc-sddを使ってみようと思ったのか 設計書だけでシステム完成したらチームの開発生産が上がるんじゃないか ● 並列作業 ○ AIが実装中は別タスクに着手可能 ● 設計の合意形成 ○ チームで設計が問題ないか認識を合わせられる、コードレビュー負荷軽減 実際に実務で使って確かめたい!

Slide 10

Slide 10 text

10 事例紹介 stearingファイル、 CLUDE.mdは事前に作成済み

Slide 11

Slide 11 text

11 Copyright © 2015 every, Inc. All rights reserved. 事例1:プッシュ通知設定API アプリにプッシュ通知のon/offボタンを作成 作成するAPI ● 現在設定の取得API ● 変更を保存する更新API

Slide 12

Slide 12 text

12 Copyright © 2015 every, Inc. All rights reserved. 事例1:プッシュ通知設定API

Slide 13

Slide 13 text

13 Copyright © 2015 every, Inc. All rights reserved. 事例1:適用結果 コード実装後、大きな 修正はなし で完了! 工数 ● design.md ○ チームへの共有も含めて3日ほどかけて作成・修正 ● task.md ○ 微修正 成功要因 ● ロジックが単純 ● DBスキーマも標準的

Slide 14

Slide 14 text

14 Copyright © 2015 every, Inc. All rights reserved. 事例2:ミッション達成計算 API ユーザーアクションで実績が解除される機能 作成するAPI ● ミッションの取得API ○ ミッションのマスター ○ 各ユーザーの進捗管理 ○ 達成条件の判定

Slide 15

Slide 15 text

15 Copyright © 2015 every, Inc. All rights reserved. 事例2:ミッション達成計算 API

Slide 16

Slide 16 text

16 Copyright © 2015 every, Inc. All rights reserved. 事例2:適用結果 コードの責務や書き方などが 不適切で大幅な修正が必要でした 😢 工数 ● design.md ○ チームへの共有も含めて5日ほどかけて作成・修正 ● task.md ○ 微修正

Slide 17

Slide 17 text

17 Copyright © 2015 every, Inc. All rights reserved. 事例2:うまくいかなかった原因 ● 詳細設計 ○ 複雑なロジックをdesign.mdに言語化しきれなかった ● コンテキスト不足 ○ CLAUDE.mdでの責務定義・テストの記述不足 ● レビュー不足 ○ task.mdへの分解段階のチェックが甘かった ■ design.mdに記載の実装がtask.mdには存在しないなど

Slide 18

Slide 18 text

18 Copyright © 2015 every, Inc. All rights reserved. 今回使ってみて詳細設計 (design.md)に思ったこと 設計フェーズで想定以上の時間がかかってしまった 理由 ● 自分の設計力不足 ● 何をどこまで書くべきか判断に迷った ● 別タスクとの並列作業によるスイッチングコスト

Slide 19

Slide 19 text

19 Copyright © 2015 every, Inc. All rights reserved. 最新アップデートによる解消 https://x.com/gota_bara/status/1988077497431589293?s=20

Slide 20

Slide 20 text

20 Copyright © 2015 every, Inc. All rights reserved. design.mdに書く内容を指定可能に! 何を書くべきかは事前に決めておける

Slide 21

Slide 21 text

21 Copyright © 2015 every, Inc. All rights reserved. まとめ ● 明確なタスクに最適 ○ 簡単でシンプルな実装であれば、修正不要で実装できる可能性がある ● 複雑な実装の課題 ○ コンテキスト整備(CLAUDE.md)や設計スキルが必須 ● 今後 ○ 試行錯誤しながら仕様書駆動開発を試していき、開発を爆速にしたい

Slide 22

Slide 22 text

22 Copyright © 2015 every, Inc. All rights reserved. every - Recruit Info 🔍 エブリー 採用 🔍 エブリー テックブログ 🔍 エブリー オウンドメディア メディア / ブログ 開発部 公式 @every_engineerで技術的な発信を行っています。 エンジニアリングに関する発信やイベント情報などをお 知らせしますので、フォローお願いします! 『every.thing』では、エブリーではたらく人、サービス・ 事業、開催イベント、働き方まで、社内の出来事をぜん ぶお伝えしています。 『テックブログ』では、エブリーの開発の裏側や技術的 な挑戦、エンジニアの知見を発信しています。 採用HP エブリーでは働く仲間を大募集中です! 「中の人と話してみたい」「まずはざっくばらんにエブ リーのことを知りたい」「選考に進むか悩んでいる」など など、 まずは面談にて気軽にお話しましょう!!

Slide 23

Slide 23 text

No content