本記事の概要
組み込み、フロントエンド、バックエンド、クラウドサービスと実装領域が多岐にわたるIoT開発を行いました。増員が見込めない状況下で開発スピードをスケールさせるため、私の現場でも生成AIツールを導入しました。
しかし、前提となる開発基盤がないままAIを活用すると、文脈を無視したコード生成や対向システムとの仕様不一致、レビュー工数の爆発といった新たなボトルネックを生み出します。
今回は、AIを活用しながら品質とスピードを両立させるために整備した開発標準化ルールを下記項目に分けて記載しています。
- ADRの活用
- CI/CDガードレール
- PRテンプレート運用
「HWとSWが密結合するIoTシステム」の開発に基づいています。
このシステムは、センサーが取得した生データ(物理量)をバックエンド等で高度に加工・分析し、ユーザーに意味のあるデータとしてWebUI(Next.js)上の時系列グラフに可視化・制御する構造を持っています。
1人目のSWエンジニア兼PMとして、この不確実性の高い開発をコントロールした知恵を共有しています。
ADRによる設計背景の可視化とAIコンテキスト共有
採用したアーキテクチャだけでなく、「検討した選択肢」「非採択理由」「メリット・デメリット」をADR(Architecture Decision Records)としてGitHub上で管理しました。
過去の設計判断とその前提条件を明確にしておくことで、AIに制約をプロンプトとして正しく与え、過去に却下したアプローチを再提案される手戻りを防止。前提環境の変化がない限り一貫した設計を保てる共通の物差しとして機能させました。
対向システム境界を意識したCI/CDガードレール
Lint、型チェック、モックを用いた単体テスト、ビルド検証をCIパイプラインで自動化し、機械的なチェックを完全に自動化しました。
さらに、「単体テストは通るが結合時に破綻する」事態を防ぐため、自プロジェクト内に閉じた検証を脱却。対向システムの最新ソースを参照したテスト構築や、AIを活用した対向システムとの突合レビューを導入し、領域境界での仕様不一致を水際で防ぐ仕組みを整えました。
トレーサビリティを担保するPRテンプレート運用
PRの起票ルールとして、「改修概要」「レビュー観点」「ドキュメント更新有無(設計書、通信IF、運用手順など種別ごと)」の記載を必須化しました。
レビュアーの確認ポイントを絞り込んで認知負荷を下げるだけでなく、リリース後の障害発生時やポストモーテムにおけるトレーサビリティを確保。ルールを押し付けるのではなく、現場からの改善意見を取り入れながらチーム全体で運用を洗練させていく文化を醸成しました。
振り返り
成果
AI協業による開発加速を行うことは、ツールの導入それ自体ではなく「AIに正しい文脈を与え、境界を守り、人間が安全に検証できるガードレールを敷くこと」にあります。
ADR、CI/CD、PRテンプレート。これらを多領域のインターフェースに合わせて標準化しておくことが、限られたリソースでも高い品質と開発ベロシティを両立させる最大の基盤となります。
振り返り
- 設計から試験までをテキストドキュメントで整備することでAIとの協業効率が向上した
- AI駆動によるコーディングのスピードを最大限の武器とするためのドキュメント整備が必要
- 現場の負担が高くなりすぎない、かつAI活用の効果を最大化する仕組み作りは常に見直す必要がある