AIと品質活動
AIコーディングによって生まれた負債
AIコーディングによって以下の負債が生まれている
理解の負債
コードが「どう動くか」の知見
不具合発生時の原因分析コストの増大
意図の負債
コードが「なぜ動くのか」「どの課題を解決するのか」「どのようなトレードオフを許容したか」に関する知見
今動いているシステムが正しいことをしているかどうかの判断軸が失われる
また、チームでの開発・動作確認・レビューによって蓄積してきたナレッジが、セッション単位でリセットされるAIに置き換わることで失われている。
takumines.iconただ、このようなナレッジをmdファイルに蓄積するSkillなどを使ってある程度回避はできそう
AIコーディングの取り組み方によっては、高品質を保つことはできる。しかし、それが良いコードかどうかはプログラムが解決しようとしている課題や、プログラムの重要度、受け入れたトレードオフなどのドメイン知識があって初めて正確な回答ができる状態になる。AIにこの判断はできるのか?
AI登場以前の開発と品質活動
一般的なプロセス
決定
何を作るべきかについて、人間同士で合意形成する
合意した決定事項は、不完全だが人間は共有されたコンテキスト、ドメイン知識、システムに対する暗黙の理解を用いて、ギャップを埋める
この「共有された理解」が、品質を支える重要な知識になっていた
実装
合意に基づき、人間が設計・実装をしていた。
人間が書いたコードは理解しやすい状態を探求、レビュー・デバッグ・メンテナンスしやすい状態を作っていた
テスト
実装に漏れがないか検証するとともに、仕様の曖昧さやユーザーの実際のワークフローを実行した際の違和感などの発見という学習の場でもあった。
「共有された理解」の更新
ビジネスドメインへの理解
上記のプロセスを繰り返すことで、人間はビジネスドメインへの理解を深めていた
意図的に理解しようとしていのではなく、日々の作業の中での副産物としてドメイン知識を得ていた
この時間は、工数として事前に算出していたものではないはず
AIエージェントの利用によって、今までは作業するだけで得られていたドメイン知識を理解する機会が失われているため、「ドメイン知識を理解する時間」を別途確保する必要があるかもしれない
✏️...
元ネタ
https://nihonbuson.hatenadiary.jp/entry/QA-activities-in-response-to-generated-code