💡

AI時代の開発業務について考える

に公開

初めに

作者は元開発者で現在はPJの管理やSEみたいな業務をメインで実施している。
そんな私がここ数日AIを使った開発をしてみて、「これはまずい」と感じたので記事にしてみる。

AIって何ができるの?

今現在はほとんどすべてのことが指示次第ではできる状態になってきている。
AIの初期では入力値や出力値にかなりの制限があったため、例えば数百行程度のコードを生成することしか出来なかった。
しかし、現在ではGithubやClaudeなどに代表されるようにGithubに上がったコードの全体を見て局所的な修正を行うこともできるようになってきている。

何がまずいの?

何がまずいのかといえば、これはこれまでの開発業務のやり方を前提として理解しておく必要があると思う。
開発業務は、要件定義、設計、実装、テスト、運用といった一連のプロセスを経て行われる。
各プロセスで参加者が異なっており、それぞれで専門的な知識やスキルが求められる。

要件定義

要件定義は、システムが何をするかを明確にするプロセスであり、開発の基盤となる。
例えば「このシステムを作るとこれまでの作業手順がこうなるけどいい?」ってのを同意する工程である。
これは非常に重要で、ここでの合意が重要な点を抑えていないと後で「やっぱりこうしてほしい」みたいなことが起きてしまう。
結果として炎上するみたいなことが起きてしまう。

参加者としては、顧客(ビジネスサイド)、システム利用者、プロジェクトマネージャー、システムエンジニアなどが挙げられる。AIは、大量のドキュメントを分析し、矛盾点や不明瞭な点を指摘することで、要件定義の精度向上に貢献できる。また、自然言語処理を用いて、ユーザーの要望を構造化された要件に変換する手助けも可能だ。

設計

設計は、要件定義をもとにシステムの構造や動作を具体化するプロセスである。
この画面はこういう動作をする、あの画面はこういう動作をする、みたいなことを決める。
設計には、システム全体のアーキテクチャ設計、データベース設計、UI/UX設計、詳細設計など、多岐にわたるフェーズがある。AIは、既存の設計パターンを提案したり、コード生成ツールと連携して設計から実装への橋渡しを効率化したりすることができる。例えば、特定の機能要件に基づいて、最適なデータベーススキーマやAPIエンドポイントの設計案を自動生成することも可能になるだろう。


この文章はAIによって加筆・完成されました。

Discussion