【ChatGPT音声機能】前回の内容を引き継いで会話はできるのか?【システム開発】
これまで生成AIを使って要件定義をしてみたり、RFPの作成を試してみましたが、改めてシステム開発の各プロセスにおいて生成AIを有効活用するにはどうしたらいいのかという点に目を向けてみたいと思います。
- システム開発の各プロセスを体系立てて説明
- 生成AIのできること・できないこと
- 各プロセスでの生成AI活用法
今回は、システム開発の各プロセスを体系立てて説明、生成AIのできること・できないことについての解説をします。
目次
※このコラムの内容は動画で公開しています。Youtube版はこちらをご覧ください。
前提
本投稿の対象:
システム開発の発注者向け
経営者、経営企画等の役割を担う人
プロセス:
システム開発に入る前段階から考える
システム開発のプロセスは、通常だと要件定義からとなってしまいますが、それより前の段階、例えばふわっとしたアイデアがある、あるいはDX化をしたいが何をしていいか分からないというような段階を含めて、システム化のプロセスとしております。
今回のポイントはこの2つです。
- システムやアプリ開発のプロセスをアイデア段階から
- 生成AIができること・できないこと
上記2点を踏まえて、次回以降システム開発の各プロセスでの生成AI活用方法を解説します。
ステップ1 現状分析と課題整理
No | ステップ | 目的 | 例 |
---|---|---|---|
0 | 問題意識を持つ | 現状や課題を明確にし、解決策を検討するための第一歩を踏み出す | 業務で繰り返し発生している問題を記録・コスト増加の原因を整理・顧客クレームの具体例を収集 |
1 | 現状分析と課題整理 | 現状の業務フローや課題を洗い出し、システム化の必要性を明確にする | |
1-1 | 業務フローの把握 | 業務の流れを可視化し、ボトルネックを特定する | 受注業務での誤入力率を調査・現場スタッフへのヒアリング実施・業務プロセスを図式化 |
1-2 | KPIの確認 | 現在の業務成果や指標を確認し、改善の方向性を設定する | ECサイトの訪問者数の推移を確認・顧客単価をレビュー・リピート率を測定 |
1-3 | 課題の分類 | 現場の課題を分類し、解決の優先順位を決定する | 遅延が生じている作業の特定・高コスト業務のリスト化・ミスの発生頻度を分析 |
今や企業の問題点の多くをシステムの導入で解決できることが多いですが、問題の解決がシステム開発によるものかはともかくとして、現状の課題やボトルネックを明確にします。
それらは単なる思いつきのアイデアでも構いません。ふわっとして漠然としたものでも構いません。まずは何かしらの問題意識を持つことが自社の課題解決のスタート地点になります。
次に各業務の流れを整理して、改善可能な箇所がないかを探ります。
慣れ親しんだ業務について、意外と現場は問題意識を持っていないことが少なくありません。実は必要のない作業であっても、「先輩から教えられた手順通りにやってます」というようなことが実際にあります。
第三者の視点を持って客観的に業務を精査することが大切です。
KPIの確認という意味では、元々KPIが設定されていること・計測されていることが前提となります。元々行っていない場合はできないので、可能であれば改めてKPIを設定するのがよろしいでしょう。
また、問題を緊急度や事業に与える影響度の度合いなどで分類し、優先度の高い課題から取り組むという計画を立てましょう。
ステップ2 ビジョン設定とゴールの定義
No | ステップ | 目的 | 例 |
---|---|---|---|
2 | ビジョン設定とゴールの定義 | システム導入による改善目標や成果を具体化する | |
2-1 | ビジョンの共有 | 経営層や現場とシステム導入の目的を共有する | 全体会議で導入目的を説明・各部門からの意見を収集・業務目標を確認 |
2-2 | ゴール設定 | 定量的および定性的な目標を設定する | ミス削減率50%を目指す・顧客クレーム件数を半減・生産性を20%向上 |
2-3 | システム化範囲の決定 | システム化する範囲と対象外の範囲を明確化する | 販売管理と在庫管理業務を対象・自動発注は対象外・決済はシステムと連携 |
システム化の目的や背景を経営層に限らず、現場・関係者全員で共有しておくことが重要です。
ゴールは定量的、定性的に設定しますが、実際には定量化が難しいという目標もあります。しかし数値化しないと、個人の主観で判断することになってしまいます。そのため、できる限り目標は計測可能かつ定量化するようにすると良いです。
企業の業務は少なからず他の部署の業務と連携していると思います。システム化の検討作業においては、真剣に考えるほどいろんな連携をしたくなってくるのですが、そうするとプロジェクトの前提が変わってくることもあるため、システム化の範囲となる業務を明確にしておき作業範囲のズレを防ぎます。
ステップ3 要件の整理
No | ステップ | 目的 | 例 |
---|---|---|---|
3 | 要件の整理 | システムに必要な機能や性能、運用要件を明確化する | |
3-1 | 機能要件の定義 | 必要なシステム機能を定義し、具体的な要件を定める | 顧客情報は登録した項目で検索・売上データはリアルタイムで自動集計・受注時管理者へメール送信 |
3-2 | 非機能要件の定義 | システムの性能、セキュリティ、信頼性、可用性などを定義する | 検索速度は1秒以内を目標・24時間稼働を前提とする・セキュリティレベルをISO基準に準拠する |
3-3 | 優先順位付け | 必須要件と希望要件を整理し、優先順位を付ける | 支払処理の精度向上を最優先・顧客画面のUI改善は次フェーズ・新機能追加はリリース後に実施 |
機能要件はシステムが具体的に何をすべきかを示すものです。例えば会員登録ができる、商品の検索ができる等です。システムの利用者の目的を達成するための機能を定義します。
機能要件がシステムの何をすべきかを定義するのに対して、非機能要件はシステムの品質を定義するものです。例えばシステムの動作の速度・安全性・信頼性・使いやすさ等です。
ステップ4 コスト・効果の試算
No | ステップ | 目的 | 例 |
---|---|---|---|
4 | コスト・効果の試算 | 投資対効果(ROI)を明確にし、企画の実現可能性を判断する | |
4-1 | コスト見積もり | システム開発・運用・教育にかかる費用を算出する | 初期開発費用を算出・サーバー台数と維持費を見積もる・トレーニング費用を計算 |
4-2 | 効果の定量化 | コスト削減効果や売上向上などを定量化する | 業務削減時間を見積もり・新規顧客獲得数を予測・サポート対応コストの削減効果 |
4-3 | ROIの算出 | 投資額と効果を比較し、経済的妥当性を評価する | 投資額対効果をグラフ化・短期ROIと長期ROIを比較・投資回収期間を予測 |
システム開発で最も比重が大きくなるのは開発費ですが、運用のためには毎月のサーバー費用や保守費などがあります。これらは継続的に発生するものです。あらゆるコスト要素をできる限り漏らさず具体的に算出します。
効果の定量化は、効率化や収益増加がどの程度見込めるかを明確に示すということです。
ROIの算出とは、投資金額に対する利益を計算し導入の妥当性を判断するものです。しかしシステム投資が必ずしも利益に直結しない場合もあります。顧客満足度の向上など評価に向かない場合もあるので、ここは割愛するケースもあるかと思います。
ステップ5 ベンダー選定とプロジェクト計画
No | ステップ | 目的 | 例 |
---|---|---|---|
5 | ベンダー選定とプロジェクト計画 | 適切な開発パートナーを選び、プロジェクトを具体化する | |
5-1 | RFP作成 | システム要件を明確にし、提案を依頼する | 具体的な要件リスト化・スケジュール案を作成・RFPの説明 |
5-2 | ベンダー評価 | 提案内容を評価し、最適なパートナーを選定する | 各ベンダーの技術力をスコアリング・提案書を比較・契約条件を交渉 |
5-3 | プロジェクト計画の策定 | スケジュールや役割分担を計画する | プロジェクト進行のタイムライン作成・関係者間の役割分担を決定・リスク対応案を事前に準備 |
5-4 | ベンダーとの契約 | 契約条件を明確化し、ベンダーとの信頼関係を構築する | 契約書の作成・知的財産権とライセンスの取り決めを明記・納期と納品物を詳細化 |
要件やシステム化の範囲やスケジュール・予算を文章化してベンダーにRFPを提示して提案依頼をします。
ベンダー評価に関して、技術力のスコアリングといっても、提案書やベンダーのウェブサイトを見ても測ることはなかなか困難です。ベンダーへの質問・回答などのやり取りを通じて技術力や過去の実績・費用・スケジュールの適合性を評価して最適なパートナーを選定しましょう。
プロジェクト計画の策定とは、プロジェクトのマイルストーンを設定して、各関係者の役割分担やリスク管理体制を計画するというものです。
ベンダーとの契約ではベンダーからの提案内容に基づいて、納期・費用・システム化の範囲・知的財産権などを明確にした契約を締結します。意外に後から「言った」「言ってない」の水掛け論になることがあるので、ここをしっかり行うことでトラブルを未然に防いでプロジェクトを円滑に進める基盤を作っていきます。
ステップ6 プロトタイプの検証
No | ステップ | 目的 | 例 |
---|---|---|---|
6 | プロトタイプの検証 | システム設計や機能がビジョンに沿っているか確認する | |
6-1 | PoC(概念実証) | 小規模なシステムで実現性を検証する | データ検索機能の試作・データ処理速度の検証・現場での利用に耐えられるか検証 |
6-2 | ユーザーフィードバックの取得 | 現場ユーザーの意見を反映する | 操作画面の使い勝手を確認・利用者満足度アンケートを実施・インターフェース改善案を検討 |
本格的な開発に入る前に、一部の機能など最小限のシステムで設計や性能を確認して、全体を実装する前に課題を発見します。もしここで大きな問題が見つかると、次の開発に移れないということもあり得ます。システムの内容に依存しますが、その必要性を鑑みた上で実装します。
ユーザーフィードバックの取得は、ユーザーにプロトタイプを使用してもらい、改善ポイントを抽出→UIのブラッシュアップ・潜在的な要望の洗い出しに役立てるものです。
ステップ7 実行計画の策定
No | ステップ | 目的 | 例 |
---|---|---|---|
7 | 実行計画の策定 | 開発・導入・運用までの詳細な計画を立てる | |
7-1 | 開発スケジュールの確定 | フェーズごとのマイルストーンを設定する | 各工程に明確な期日を設定・作業進捗をモニタリングする方法を決定・ベンダーと共有するスケジュールを確定 |
7-2 | 教育計画の策定 | システム利用者向けのトレーニング計画を策定する | トレーニング日程の調整・操作マニュアルの作成・ユーザーサポート体制を計画 |
7-3 | 移行計画の策定 | データ移行や業務切り替えの計画を定義する | データ移行機能を作成・システム切り替え期間を決定・段階的移行を立案 |
各工程の成果物の納期であったり、大きすぎず、かといって進捗管理が煩雑にならないことを考慮した上でタスク分割をして進捗管理しやすい計画を策定しましょう。
教育計画の策定は、システム導入後の円滑な運用を目指してユーザー向けのトレーニングプランを用意するものです。
移行計画の策定とは新旧のシステム、これはもちろん旧システムがあっての開発のケースですが、そういった切り替えに伴うデータ移行や業務プロセスの変更を計画します。
どのタイミングでデータを移すのか?並行期間がある場合、その期間のデータ入力をどうするのか?ということも、大きな検討課題になります。
ステップ8 実行とフォローアップ
No | ステップ | 目的 | 例 |
---|---|---|---|
8 | 実行とフォローアップ | システム導入後の課題を解決し、持続的な改善を行う | |
8-1 | 本番稼働後のフォローアップ | 稼働後の問題点や課題を洗い出し、改善対応を実施する | トラブル時の緊急対応手順を策定・本番環境モニタリング体制を整備・ユーザーサポート窓口の設置 |
8-2 | 運用効果の分析 | KPIやフィードバックを基にシステム改善を検討する | 運用データレポートを作成・効果測定結果を分析・改善計画の策定と関係者への共有 |
システムを稼働させると、十分にテストしたとしてもバグが発生したりします。そういった運用上の不具合に迅速に対応し、ユーザーの不満を軽減するために本番稼働後のフォローアップを行います。
運用効果の分析で、KPIや利用者からのフィードバックを集めて追加改善のための案を計画していきます。
生成AIができること・できないこと
次に生成AIができることと、できないことの理解を深めておきましょう。
生成AIができること
1、情報の要約・整理
- 大量のテキストから重要なポイントを抜き出し、簡潔にまとめる
- 複雑な概念をわかりやすく説明する
クリエイティブなコンテンツ生成
- テキスト(記事・物語など)の作成
- 画像生成(イラスト・デザイン)
- 音楽や詩の作成
3、アイデア出し
- プロジェクトのブレインストーミングを支援
- キャッチフレーズやマーケティング戦略の提案
4、プログラミング支援
- コードの作成、修正、最適化
- エラーの診断や解決方法の提案
5、教育や学習のサポート
- 質問への回答
- 教材や学習プランの作成
6、コミュニケーションの自動化
- チャットボットとしての活用
- 顧客対応や問い合わせサポート
7、データ分析の補助
- 統計やデータの解釈
- 視覚化やレポートの作成
生成AIができないこと
1、最新情報の正確な提供
- 学習データが過去のものである場合、最新の出来事や情報を正確に提供できない
2、感情や意図の完全な理解
- ユーザーの微妙な感情や意図を読み取るのが難しい
- 人間特有の価値観や文脈に依存する判断が苦手
3、創造性の限界
- 既存のデータや学習内容に基づいて生成するため、完全に独自性のある発想は困難
- トレンドや文化的背景が急速に変化する領域では対応が遅れることがある
4、倫理やバイアスの問題
- 学習データに基づく偏った回答をする可能性がある
- センシティブな話題や倫理的な判断が必要な場面で、不適切な応答をすることがある
5、物理的な行動や現実世界での実行
- 物理的な行動や手作業はできない(例:製品の組み立てや修理)
6、完全な正確性
- 特に専門性の高い分野では、誤解や誤った情報を生成するリスクがある
- 結果を完全に鵜呑みにするのは危険
7、独自の意思や判断の欠如
- 指示された内容に従って動作するだけで、自ら意思決定や学習の方向を変えることはできない
生成AIのできないことについても説明しましたが、実は既にできるようになっていることもあります。これだから生成AIは嬉しい!という反面、常に最新情報を追っていないと置いていかれる・・・ということにも繋がります。
まとめ
今回はシステム開発の発注者の方が、システム開発のプロセスにおいて生成AIをどのように活用できるのかを考えるために必要な2つのことについて解説しました。
1つ目は、発注者の目線において問題意識を持つというところまで遡って、そこからのシステム開発のプロセスについて体系立てて説明しました。
2つ目は、生成AIができること・できないことについて改めて説明しました。
これらの内容を踏まえて、システム開発の各プロセスにおいて生成AIをどのように活用できるかを次回以降試していきたいと思います!