1. TOP
  2. レポート・ライブラリ
  3. アプリケーション開発へのAI活用(中編) - アプリケーション設計/実装におけるAI活用の可能性 -


ITR Review

コンテンツ番号:
R-224043
発刊日:
2024年4月4日

アプリケーション開発へのAI活用(中編)

アプリケーション設計/実装におけるAI活用の可能性

著者名:
甲元 宏明
アプリケーション開発へのAI活用(中編)のロゴ画像

世界レベルで多くのエンジニアがアプリケーション開発の各種作業においてAIの活用を試行している。アプリケーション開発における設計および実装段階は、現時点ではAIが得意とする作業は多くないが、AIが本質的に不適合ということではなく、発展の途上にある。企業は、自社におけるアプリケーション開発の生産性や品質向上のために、設計/実装段階へのAI適用に積極的に挑戦すべきである。

アプリケーション開発の設計/実装における代表的な作業

アプリケーション開発の企画から運用保守までの各タスクにおける代表的な作業を図1に示した。ビジネスに対してどのようなアプリケーションを開発するのかを議論/検討する企画段階(ITR Review『アプリケーション開発へのAI活用(前編)』R-224023)の次に、設計段階に入る。

図1.アプリケーション開発サイクルにおける代表的な作業

図1.アプリケーション開発サイクルにおける代表的な作業
出典:ITR

設計段階では、これまで多くの企業はユーザーや顧客の要求を分析したり、その結果からアプリケーションに対する要件定義を行ってきた。DXやビジネスイノベーションに取り組む企業も増えているが、そこでは全く新しい試みに挑戦することに意義があり、顧客やユーザーのニーズが顕在化していない段階から企画を始める必要がある。そのため顧客やユーザーから要求をヒアリングすることは困難かつ無意味であるため、ペルソナなどの手法で仮想的な利用者を想定し、その視点からユーザーストーリーやユースケースを策定することも多く行われている。
いきなりアプリケーション設計や開発に取り組むと、UX満足度の高いアプリケーションを構築することが困難となることから、プロトタイピングを用いてUXの良否を繰り返しチェックする作業を行う企業も多い。アプリケーション設計では、ITアーキテクチャが開発/運用/保守時の作業効率性やアプリケーション品質に大きな影響を及ぼすため、ITアーキテクトなどのアーキテクチャ設計に長けた専門家が設計することが一般的である。

設計段階を終了すると、実装に入る。アジャイル開発やDevOpsでは設計を完全に終了した後に実装に入るのではなく、設計/実装/保守のサイクルを短期間に繰り返す点に留意が必要である。実装においては、アプリケーションの詳細設計を行ったり、データベースのスキーマ設計を行うことが一般的である。PaaSやFaaSを利用する場合は、設計段階のアーキテクチャ設計作業で実装方針がほぼ確定するため、詳細設計やスキーマ設計が不要な場合もある。マイクロサービス・アーキテクチャを採用した場合やSaaSのような外部アプリケーションとの連携が必要な場合は、API設計も重要な作業となる。

実際のコーディング作業においては、IDE(統合開発環境)がコーディングのための補助機能を提供することが多い。単純なシンタックスエラーを自動修正したり、より良いコーディングを示唆したりすることでエンジニアの作業効率を向上する。コーディングやデバッグは実装での中心作業となるが、コーディング担当以外のエンジニアによるコード・レビューもアプリケーションの品質向上やエンジニア育成には重要な作業である。

今でも実装においてコーディング担当エンジニアがテストケースを作成しない企業も少なくないが、担当したアプリケーション機能のテストケースはエンジニア自身が作成すべきである。実装でのテストは、DevOps関連テクノロジ/サービスの進化も相まって自動で実施することが多くなっている。

ITR 著作物の引用について

ITRでは著作物の利用に関してガイドラインを設けています。 ITRの著作物を「社外利用」される場合は、一部のコンテンツを除き、事前にITRの利用許諾が必要となります。 コンテンツごとに利用条件や出典の記載方法が異なりますので、詳細および申請については『ITR著作物の引用ポリシー』をご確認ください。

TOP