今さらながら、アジャイル開発について書こうと思う。
とは言え、アジャイル開発を実践した経験がないので、何となく隣の島から聞こえてきた話程度になる。
まず、何故にアジャイル開発なのかというと開発コストを低くするためと言うのが最大の目的だ。
何だかんだ言っても、物理的な材料を使ったアウトプットではないシステム開発では人件費がコストに占める割合が最も高額になる。
以前に何度も書いた土建業に類似した構造のIT業界では私のような末端の人件費がクライアントへの請求額になる時には数倍の金額になる。
そこには、管理費という得体のしれない金額が上乗せされていて、その費用というのはクライアントとの打合せに出席していたということだけが費用の根拠となることが多い。
まぁそこをとやかく言っても仕方が無い。
だが、もうじきソフトウェア開発にかかる作業はAIが行うようになる。
じゃあそのAIと言うのは自社のパソコンにちょこちょこっとインストールしたシステムで行われるのか?
恐らくだが、答えはNOだ。
まずはAmazonがAIによるプログラミングサービスを提供。
その費用は、CPUとメモリの使用状況で決定されるようになるだろう。
クライアントもAI開発でなければ後々のメンテナンス費用が高くつく時代となっているはずなので、それを使ったシステムでないと買いませんと言う時代になる。
大規模システムを一気にAIが開発できるとは思えないので、ここでこそアジャイル開発が本領発揮となる。
想像だが、小さな機能からAIを使い開発する際にAIコストを下げるためにできるだけ小さな機能から仕掛けていくことになる。
だが、ここに大きな落とし穴があり、細分化しすぎたシステムの組み上げ時点で全体の整合性が取れているのか、全くわからなくなる。
人間がテストすることは不可能になるので、テスト条件だけを人間が考えてテストの実施を行うが、テストに関してAIはアホみたいにCPUとメモリを食らい、バカ高い費用が発生する。
この辺りで人はふと気づく。
機能分割が最適にできなければ、AI開発もアジャイル開発もただの金食い虫だと。
そして、不適切な機能分割の修正を再びAIにさせるのか、その際に正しい機能分割ができていたと誰が保証できるのかというジレンマに陥る。
だが、もしかすると私の想像のはるか斜め上をAIが行くかもしれない。
人間が見ないのならソースコードなしのオブジェクトのみをAIに安価に作らせてそのまますぐに導入する時代になるのかもしれない。