この記事の内容
AIを使えば、専門的なプログラミング知識がなくても、ある程度のシステムを開発できる時代になりました。
私自身、AIを活用することで、以前なら外部に依頼していた開発を自分で進められるようになりました。少人数でも複数のシステムを開発・改善でき、開発や運用にかかる費用を抑えられた経験もあります。
一方で、開発を続けるうちに、別の難しさにも直面しました。
小さな変更が思わぬ不具合を引き起こす。修正を重ねた結果、システムが複雑になる。AIに依頼しても、原因の調査や修正に時間がかかる。
AIでシステムを作れることと、そのシステムを継続的に改善・運用できることは、別の話です。
では、AIの力を活かしながら、こうした問題をどう防げばよいのでしょうか。
1. AIで開発が速くなっても、難しさはなくならない
AIによる開発の大きな魅力は、実装のスピードです。
画面の追加、データの処理、既存機能の変更など、以前なら時間のかかった作業を短時間で進められる場合があります。
ただし、開発する機能が増えるほど、システム内の関係は複雑になります。
例えば、ある画面の表示を変更しただけのつもりでも、別の処理に影響が出ることがあります。
AIが提案した修正が、その場では問題なく動いたとしても、他の機能まで正常に動くとは限りません。
私自身、部分的な改修が別の機能の不具合につながったり、原因調査に予想以上の時間を要したりする経験をしてきました。
また、修正を繰り返すうちに、AIが過去の制約や実装経緯を過度に引きずり、以前よりも改修を進めにくくなる場面もありました。
こうした問題は、AIを使うこと自体が悪いという話ではありません。
開発の速度が上がったからこそ、システム全体の設計や品質を管理する重要性も高まったということだと考えています。
2. AIに任せきりにすると、開発の方向性がずれる
AIは、与えられた指示に対して実装案を提示したり、コードを書いたりできます。
しかし、そもそも何を実現すべきか、どの業務を変えるべきかという判断まで、AIに任せきりにしてよいわけではありません。
例えば、現場から「この画面に新しい入力欄を追加したい」という要望があったとします。
AIにそのまま依頼すれば、入力欄を追加することはできるかもしれません。
ただ、本来は別のシステムから情報を取得できるため、手入力自体が不要かもしれません。
あるいは、入力欄を増やすより、業務フローを見直す方が適切な場合もあります。
これは、AIの実装能力だけでは判断しきれない部分です。
私が重要だと考えているのは、業務の目的や現場の実態を理解している人が、開発の方向性を決めることです。
AIに実装を任せても、何を作るか、何を作らないか、何をもって完成とするかは、人間が判断する必要があります。
3. 曖昧な要望は、AIと一緒に設計を整理する
もっとも、最初から要件が明確になっているとは限りません。
「こういうことができたら便利そうだ」
「今の仕事を、もう少し楽にしたい」
実際の開発は、こうした曖昧な要望から始まることもあります。
その場合、私はAIにいきなり実装させるのではなく、まず設計や実装方針を整理することが重要だと考えています。
何を実現したいのか。どの業務に影響するのか。既存の仕組みを活用できないか。どのようなリスクがあるか。
こうした点をAIと対話しながら明確にしていきます。
ここで役立つのが、設計正本です。
設計正本とは、システムの目的、仕様、重要なルールなどをまとめた、開発時に基準とする情報です。
AIとの会話だけで仕様を管理していると、過去の判断や現在の正しい仕様が分かりにくくなることがあります。
そのため、何が正式な仕様なのかを明確にし、AIにもその基準に沿って開発させることが重要です。
4. 大きな変更を一度に行わず、小さく検証する
AIが多くのコードを書けるからといって、大規模な変更を一度に行う必要はありません。
私が実践しているのは、改修する範囲を絞り、小さな単位で開発する方法です。
変更前には、既存のコードや仕様にどのような影響があるかを調査します。
実装後は、自動テストで既存機能への影響を確認し、必要に応じてコードの構造も整理します。
さらに、本番環境とは別にテスト用の環境を用意し、実際の業務に近い条件で動作を確認します。
このような環境は、Sandbox(サンドボックス)と呼ばれることもあります。
自動テストですべての問題を見つけられるわけではありません。
実際の画面を操作したり、業務の流れに沿って確認したりする作業は、人間が行う必要があります。
私自身、こうした仕組みを整えることで、不具合を本番公開前に発見しやすくなり、開発・保守の効率も改善したと感じています。
- STEP 01影響調査
- STEP 02小さく実装
- STEP 03自動テスト
- STEP 04テスト環境で検証
- STEP 05人間が確認
- STEP 06本番反映
5. 開発ロードマップと「人間側の宿題」を管理する
AI開発で意外と重要なのが、プロジェクト全体の進行管理です。
AIに個別の開発を依頼しているうちに、当初予定していた機能や、未解決の課題が分かりにくくなることがあります。
そこで、開発ロードマップを用意し、次の情報を継続的に整理します。
- 何を、どの順番で開発するのか
- 現在どこまで完了しているのか
- まだ解決していない問題は何か
- 人間側で判断・確認しなければならないことは何か
私は、こうした情報をAIと一緒に整理することも重要だと考えています。
特に、人間側の宿題を明確にしておくことは欠かせません。
例えば、仕様の最終判断、画面の操作確認、業務上の例外対応の判断などは、AIだけでは完結しません。
人間とAIの役割を明確にすることで、開発を進めやすくなります。
また、システムの構成によっては、AIの利用料や外部サービスの利用料など、開発後の費用も変わります。
必要に応じて、開発前に想定される費用を試算しておくことも大切です。
6. AIの提案を採用しない判断も必要
AIは、問題を解決するために新しい仕組みや追加機能を提案することがあります。
しかし、それが常に最善とは限りません。
既存の仕組みを少し変更すれば済む問題に対して、複雑な機能を追加する必要はないかもしれません。
また、リスクの高い機能や重要なデータに関わる変更は、通常の改修より慎重に扱う必要があります。
私は、AIから提案された内容についても、不要な実装や過剰な設計であれば採用しないようにしています。
場合によっては、システムの一部を作り直すよりも、既存のSaaSを利用した方が合理的なこともあります。
AIを活用することと、何でも自社開発することは同じではありません。
7. 業務を理解する人が開発を主導できる強み
AIによる開発には、もう一つ大きな可能性があります。
それは、業務を理解している人が、自らシステムの開発を進められるようになることです。
従来は、現場で必要な機能を考える人と、実際に開発する人が別々であることも少なくありませんでした。
その場合、要望の説明、仕様の確認、認識のすり合わせなどに時間がかかります。
AIを活用すれば、業務の目的を理解している人が、実装をAIに任せながら、その場で結果を確認し、改善を繰り返すこともできます。
もちろん、セキュリティや専門的な技術判断が不要になるわけではありません。
それでも、業務理解と開発判断を同じ人が担える場合、開発の速度と品質を大きく高められる可能性があります。
まとめ:AIに何を作らせるかは、人間が決める
AIによって、システム開発の選択肢は大きく広がりました。
以前なら外部への依頼が必要だった開発も、少人数で進められる場面が増えています。
ただし、開発できることと、業務で使い続けられることは別です。
業務の本質を理解し、必要な機能を見極め、設計や品質を管理すること。
そして、AIに任せる作業と、人間が判断する作業を分けること。
AIの能力を活かすためにこそ、人間による設計と判断が重要になる。
これが、実際にAIを活用して開発・改善を続ける中で感じていることです。
AIを活用した業務システムの開発・改善をお考えの方へ
「AIを使って業務システムを開発したいが、何から始めればよいか分からない」
「今あるシステムを改善したいが、開発や保守に不安がある」
「外注に頼りきらず、必要な機能を効率よく実現したい」
そのような場合は、業務の整理、既存SaaSの活用、AIを用いた部分開発、運用・保守まで含めて、実現方法を一緒に検討できます。
初回オンライン相談45分無料
