
ソフトウェア開発ライフサイクル(SLDC) で人工知能(AI)を活用するには
今すぐご利用いただけます • オンデマンド
AI支援開発は、匿名化された何百万件ものコードパターンから得られた専門知識を活用して、開発者がソフトウェアを開発する際にコンテキストに適したツールやパターンを推奨する機能です。これにより、複雑なタスクにおいてもロジックフローをすばやく正確に作成できるようになるため、開発に集中し、生産性を高めることができます。
また、オンラインヘルプやその他の情報源をタイミングよく提示するヘルプと、ビルド済みコンポーネントのサジェスチョンによって、負担や知識不足を解消できます。
AI支援開発には主に2つのメリットがあります。
1つ目のメリットは、コーディングスキルがないユーザーでもソフトウェア開発に参加しやすくなることと、既存の開発者のスキルを強化して開発効率や生産性を向上させられることです。開発者の欠員は米国だけでも100万人にのぼっており、AI支援開発がこの人材不足の解消に役立つ可能性があります。
2つ目のメリットは、AIで開発のベストプラクティスを特定し、徹底させることができる点です。ベストプラクティスに従わないと、ソフトウェアの実行速度が低下したり、バグやセキュリティ脆弱性が発生しやすくなったりします。AI支援開発によってこれらを防止することで、将来的にも有効でパフォーマンスやレジリエンスの優れたソフトウェアを開発できます。
このトピックの本題に入る前に、まず人工知能(AI)の定義をはっきりさせておきましょう。
OutSystemsでは、タスク(ここではコードの記述)を高速化したり自動化したりするための機械学習や自動推論といったテクノロジーなどを指す言葉としてこの用語を使用しています。
そのため、OutSystemsにおけるAIの利用は、機械学習を適用して開発者をサポートしたり、開発者が職務をより迅速に、エラーをあまり発生させず遂行できるようにしたりするなど、個人への配慮を基本としています。
ソフトウェア開発ライフサイクル(SDLC)を通じた開発プロセスの支援にAIを適用するにあたり、OutSystemsでは3本の柱を意識しています。今説明した仮想エキスパート機能は、ガイダンスの提供、一般的なタスクの実行、コードのレビュー、ソフトウェア品質の検証を行うなど、テックリードのような役割を果たします。
AIは、OutSystemsのパートナーが使用しているテストツールでも重用されています。テストが必要となる重要な領域を特定し、その後のテスト実行を自動化することで、DevOps時代のスピード感ある生産スケジュールに遅れることなくテストを実施できるのです。
アプリケーションのテストが失敗した場合も、AIが修正の必要な領域を開発者にフィードバックしてくれます。
優秀なDevOps担当者は1日に何度もクリーンなコードを本番環境にリリースします。AIによる自動化を利用しなければ、このようなスピードを維持することはできません。ましてや加速させることなど論外でしょう。
OutSystemsとしては、開発プロセスにおけるAIの役割は今後さらに拡大すると予想しています。AIは、シンプルなタスクをより簡単にし、複雑なタスクを対処可能なものにします。また、不要なタスクや反復的なタスクを減らしつつ、複雑なアプリケーションに求められる性能は維持します。
OutSystemsのミッションは、ソフトウェアの力によってあらゆる企業のイノベーションを支援することです。OutSystemsプラットフォームは、開発プロセスの各段階にAIを導入することにより、開発チームが既存の能力を最大限発揮し、現状維持のためだけの作業に時間を費やすのではなく、真の違いを生み出すソフトウェアの開発に集中できるようにします。
AIは、ソフトウェア開発ライフサイクルだけでなく、エンドユーザーアプリケーションのエクスペリエンス向上にも役立ちます。OutSystemsプラットフォームで簡単に実装できる自動画像検出、センチメント分析といった機能がそのよい例です。
先ほど説明したとおり、AI支援開発はソフトウェアエキスパートであるテックリードのような存在として、作業中いつでも開発者に寄り添い、サポートします。先ほど説明したとおり、AI支援開発はソフトウェアエキスパートであるテックリードのような存在として、作業中いつでも開発者に寄り添い、サポートします。