Software deployment

[3] When computers were extremely large, expensive, and bulky (mainframes and minicomputers), the software was often bundled together with the hardware by manufacturers.

If business software needed to be installed on an existing computer, this might require an expensive, time-consuming visit by a systems architect or a consultant.

It is arguable therefore that the spread of the internet made end-to-end agile software development possible.

Such flexibility led to the rise of continuous delivery as a viable option, especially for less risky web applications.

The complexity and variability of software products have fostered the emergence of specialized roles for coordinating and engineering the deployment process.