ソフトウェア開発
現代のソフトウェア開発は複雑性と不確実性との戦い
目的の不確実性(何をつくるか)、手段の不確実性(どうつくるか)、コミュニケーションの不確実性
ウォーターフォールで完全に計画して予定調和を目指していく開発から
アジャイル
でこまめにリリースして不確実性に追従する開発へシフトした
ドメインの複雑性に対処するために
DDD
を用いて、常にドメインモデルを更新し続ける営み的な開発手法が採用されるようになる
ソフトウェアの変更容易性が最も重要視されるようになり、
クリーンアーキテクチャ
などが採用されるようになる
ソフトウェアはデプロイした時点から顧客価値が生まれる