- 「AIは人間の開発者、ひいては開発組織、さらに進んでソフトウェア開発の全サイクルを代替できるのか?」
- AIの進歩によりアルゴリズムのコーディング能力は向上したが、ほとんどの企業は最高水準のアルゴリズム能力を必要としていない
- AIはバグを含むコードで学習するため、生成されたコードにもバグが存在しうる
- 最も重要な第一の論点は、AIがバグを見つけるためにあらゆるシナリオをテストし修正しなければならないことだが、これは難しそうだという点
- より大きな問題は、ソフトウェア開発が単なるコーディングを超えた複雑な問題を解決するプロセスを含むということ
- ソフトウェア開発に含まれるもの:
- 要件の収集と整理
- リソースの制約に応じた解決の優先順位づけ
- 将来を見据えたPlatform/Architectureの選択と設計
- 本当のコーディング - 単体/モジュールテスト - デバッグ - コードレビュー
- End2End (UX) テスト
- OPsとひとまとめにされがちなさまざまな運用上の課題
- ミッションクリティカルなソフトウェアの場合、無数のedge caseに対するformalな検証
- ソフトウェアを会社のBiz目標、visionに整合した状態で進化させていくこと
- 現在のAIは「本当のコーディング」の部分で良い成果を出しており、一部の領域では人間の指示に従って意味のある助けを提供している
- 問題の核心は、こうしたプロセスが
- 以前のバージョンとの互換性を必要なだけ維持しながら、
- 顧客層に自然だと感じられるように、
- 「もしかすると」一緒に働く本物の人間開発者を驚かせないように
- 他のAIとの協業関係を維持しながら進められなければならないということ
- つまり 「優雅なソフトウェア構成管理」
- だから AIは開発者、開発チーム、広い意味でのソフトウェア開発組織を完全に代替することはできない
5件のコメント
ごく簡単に言えば
企画書だけ入れれば開発が完了するレベルになれば、代替されたと評価できるだろう。
でも、その日がいつ来るのやら
20年前にも、開発者を代替できるといった売り込みや記事があふれていましたが、今ではあの時代をドットコムバブルと呼んでいますね。
私も少しびびっていましたが、まだなんとか食べていけています。
歴史は繰り返すと言いますが、どうでしょうね ;- )
定義すべき問題が大きく増えない状況で生産性だけが飛躍的に向上し、少数の人が大きな生産性を持つようになるのではないかと懸念もあります。
そのため、開発組織そのものを代替することはできなくても、多くの割合の開発者は代替できると思います。
AIが代替するのはソフトウェア開発組織ではなく、PMやPOの組織になるでしょう。
プログラマーを解雇してAIで置き換えるのは、テック業界における最悪の過ちである
こちらにコメントでお知らせいただいたので、別ニュースとして登録してみます。