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

AIフレンドリーなプロダクト開発を目指して 〜MCPを橋渡しにした環境移行〜

AIフレンドリーなプロダクト開発を目指して 〜MCPを橋渡しにした環境移行〜

Avatar for shinpr

shinpr

May 14, 2025
Tweet

Other Decks in Technology

Transcript

  1. ⾃⼰紹介 • 2025年2月に株式会社tacomsに入社 • アプリケーション開発部 EM • マネジメント専任でそろそろ9年 • 元々はBackend

    Engineer • ゲームと猫を愛でることが趣味 • アジャイルと向き合ってはや4年... 加川 申祐 (かがわ/@shinpr_p)
  2. 飲⾷業界のオンライン注⽂‧CRMをマルチプロダクトで⽀える 売上データ‧顧客データ‧商品データ‧外部API連携 注⽂ 管理 オンライ ン決済 店頭 Kiosk CTI /

    IVR 対⾯ 決済 デリバ リーPF 連携 POS 連携 店外 モバイル オーダー オープン API 店内 モバイル オーダー オンライン注⽂ 顧客 管理 セグメン ト分析 サブスク 管理 メルマガ / SMS プッシュ 通知 外部 CRM連携 クーポン 公式 アプリ ⾃社 ポイント ハウス カード CRM / マーケティング
  3. つまり? • 昨今の多分に漏れずマルチプロダクト化を推進している • 1プロダクトをみる1チームを目指している ◦ 小さくて自己管理されたチーム • やれることには限りがあるため、やるべきことにフォーカスしたい •

    AIを積極活用して生産性を爆上げしていく必要がある! • 開発組織としてはDevinの活用を進めてはいるものの、開発プロセス にAIががっつり組み込まれているとはいえない。まだまだこれから... ◦ https://zenn.dev/tacoms/articles/efeb008ce810f3
  4. 既存のプロセスと課題:課題 • ドキュメントやアクティビティが最小限なので、誰にどういう価値を 届けたいのか?何を目的にやっているのか?がわかりづらいまま開発 が進んでしまう • タスクもドキュメントもNotion管理だが、NotionとAIの親和性はそこ まで高くなく、AI活用はDevinに一部開発をお願いする程度に留まっ ている ◦

    (ヘイシャの問題)ドキュメントが構造化されておらず散乱している ◦ 共通のバックログにしたが故に、チーム都合に合わせてタスクページのプロパ ティが作られ、結果肥大化してしまっている ◦ Notionの検索精度がそれなりなのでMCP経由で期待した結果に辿り着けない ◦ NotionのBlockデータ構造になるとAIで解釈するには冗長
  5. • ドキュメントをAIで活用しやすくする • ドキュメントのメンテナンスにAIを活用する ◦ メンテナンスコストを下げる ◦ 下がったコストをドキュメントやアクティビティの拡充に充て、開発の背景情 報を理解した開発が行えるようにする •

    プロダクトマネジメントにおけるAI活用を推進する ◦ ユーザージャーニーの定義 ◦ 簡易的なユーザビリティテストの実施 ◦ プロジェクト計画の作成・メンテナンスの自動化 AIフレンドリーな開発プロセスの目標
  6. MCPを用いた具体的な取り組み • Markdown形式のPRDを生成し、GitHubで管理する ◦ PRDをAI活用させていきたいため、Markdown形式にしてGitHub上で管理する ◦ GitHub管理にしたことで、日本語はtextlintで校正し、PRで人の目を介して変 更が反映できるようになった ◦ Project

    Rulesもリポジトリに含め、チームで育てていけるようにした(実際に ユーザージャーニーに関する .mdc は SREが更新してくれた) ◦ 将来の展望はあれどまだまだ開発チームに布教できていないので努力が必要
  7. MCPを用いた具体的な取り組み . ├── .cursor/ │ └── rules/ │ ├── prd.mdc

    │ ├── router.mdc │ └── user-journey.mdc ├── .textlintrc ├── package.json ├── prh.yml ├── PRD/ │ ├── PRD_template.md │ └── camel-xxxx/ │ ├── images/ │ └── 機能A.md └── UserJourney/ ├── README.md ├── UserJourney_template.md └── camel-xxxx/ ├── README.md └── ペルソナA/ ディレクトリ構成 • Project Rules(.cursor/rules) ◦ ルールディスパッチャーと各成果物に対 応したルールの格納 • PRD ◦ PRDファイル生成先 ◦ UIはFigma MCPでpngを取得し、images 配下に格納 • UserJourney ◦ ユーザージャーニー生成先 ◦ ペルソナ毎にディレクトリを掘り、配下 にジャーニー単位のMarkdownを出力
  8. 工夫したポイントと得られた効果 • 工夫1: リクエスト制御によるデータ量管理 ◦ Blockの情報量が多い、Notion databaseのページプロパティが多い(自業自得) ため、基本となるNotion APIのクエリをProject Rulesに定義した

    ◦ 作業時点ではそもそも Cursor 上でエラーが出て進まなかったが、5/14時点で動 作はするようになった。ただし生成精度が圧倒的に落ちる # Notionの使い方 - UserStoryを参照する際は、Backlogを検索するようにしてください - BacklogのデータベースIDは `xxxxxxxxxxxxxxxxx` です - フィルターは以下のように設定してください ``` "filter": { "and": [ { "property": "team", "select": { "equals": "xxxxxxx" } }, { "property": "Status", "status": { "does_not_equal": "Backlog" } } ] } ```
  9. 工夫したポイントと得られた効果 • 工夫2: タスクの細分化と段階的実施 ◦ 一度に多くの作業をさせないようユーザーストーリーを5件ずつ取得させ、PRD ファイルを生成し、結果の確認を指示者に求めるようにした ◦ 内容に問題がなければ、APIのレスポンスにある next_cursor

    を使って次の5件 を取得し作業を継続するようにする。以下繰り返し ◦ 全ユーザーストーリー取得後、PRDファイル間の整合性や重複の検証を行わせる ◦ 生成の単位でタスク分解し、一度に多くの作業をさせないことが大事(プロダク ト開発みたいだ)
  10. 工夫したポイントと得られた効果 • 効果1: 新規プロダクト開発のフォーカス向上 ◦ ユーザーストーリーさえ作ればいいため、プロダクトマネジメント業務を削減で きた(ある程度固い見積もり、PRDの作成作業を削減) ◦ 逆に、先にユーザーストーリーを作り切る必要があったことで、開発着手する前 に全体像を把握でき、エンジニア全員がプロダクトローンチ時の完成イメージを

    持つことができた(と執筆時点で実施したレトロスペクティブで聞いた) • 効果2: GitHubへの集約が加速しつつある ◦ PRDなどの仕様群がGitHubへ移行できる筋道ができたことから、それならプロ ジェクト管理をNotionでする旨みはないのでは?という疑問が生まれ、プロジェ クト管理もGitHub Projectsへの移行が進んでいる