開発プロセスにAIを最大限生かすには? 品質と速度を両立するアジャイル開発の実践
【13-C-2】AIが変えた開発のスタイル、そしてアジャイル
AI技術の進化は、ソフトウェア開発の現場に大きな変革をもたらしている。NECソリューションイノベータの藤原邦将氏は、アジャイル開発とAIの普及によって、より高品質かつ迅速な開発が求められていると指摘する。プロダクト品質の向上に寄与するためには、開発者はどのようにAIを活用するべきだろうか。藤原氏は、開発プロセス、特にテストにおいてAIを活用する可能性や、AI活用の文化を開発チームに定着させるためのヒントについて、同社の事例を交えて解説した。
AI時代の開発現場:スピードと品質の両立
NECソリューションイノベータは10,000人を超えるシステムエンジニア・ソフトウェア技術者を擁する国内最大規模のシステムインテグレータ。業務ソリューションやソフトウェア基盤など幅広い開発を手がけている。その中で、藤原氏はアジャイルチームでAI製品の開発に携わっている。
藤原氏は、「アジャイル開発とAIの普及で、開発には以前よりも短い期間で、より高い品質が求められるようになっている」と指摘する。
アジャイル開発が普及した背景には、不確実性が高く、市場に何が受け入れられるかわからないというビジネス環境がある。高い品質のプロダクトをすばやく作って市場に問うために、アジャイルという手法が普及したのだ。
この「品質と速度」を両立するために、開発現場ではすばやい「検証」が重要になってくる。藤原氏はその一つとして「テスト」の工程を取り上げて、重要な考え方を共有した。
「テストにおいて重要なのは、そのテストの結果が製品の目的に適合しているかを確認することです。しかし製品の目的を表現できていないテストも多く、とくにコード化されていないテストでは自然言語での記載になり、目的が不明瞭になりやすい。結果として、エンジニアの判断が製品の目的にとってかわることになるでしょう」
そのため藤原氏は、「製品目的を理解していないエンジニアがテストを行うと、バグの原因となる」と指摘し、「チームに所属するエンジニア全員が製品や機能のゴールを語れることが、品質に寄与する」と強調した。
次に藤原氏は、素早い検証活動の一つとしてTDD(テスト駆動開発)におけるUT(単体テスト)の課題に着目。開発中に「テストコードを書くのが大変」という声をよく聞くが、その原因をコードが複雑になってしまっているからだと考察する。
反対に、「UTがすんなり終わる」コードは、SOLIDの原則のS「単一責任の原則」に忠実なキレイなコードだ。「キレイなコード=テストしやすいコードと言える」と藤原氏は言う。
また、「関数やメソッドが動くことをテストしても意味がない。そのメソッドが何をしないといけないのか。その役割が製品においてどういう位置づけなのかをテストする必要がある」と藤原氏。
つまり、TDDにおいてエンジニアが製品のゴールを表現するには、「仕様や要件を適切な機能やクラスに落とし込むスキル」と「関数やメソッドを単一責任の原則に従い実現するスキル」が求められる。加えて、キレイなコードを維持し続けるために「リファクタリングに踏み切る勇気」も必要だという。
この記事は参考になりましたか?
- Developers Summit 2025 セッションレポート連載記事一覧
- この記事の著者
-
岡田 果子(オカダ カコ)
IT系編集者、ライター。趣味・実用書の編集を経てWebメディアへ。その後キャリアインタビューなどのライティング業務を開始。執筆可能ジャンルは、開発手法・組織、プロダクト作り、教育ICT、その他ビジネス。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
丸毛 透(マルモ トオル)
インタビュー(人物)、ポートレート、商品撮影、料理写真をWeb雑誌中心に活動。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
提供:NECソリューションイノベータ株式会社
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
