A software artifact is the shippable result of development: something another person or system can use after code has been written and pushed. It turns implementation work into a deliverable that can generate customer feedback. section 1.2.4
Common artifacts include:
- A versioned library distributed for reuse. section 1.2.4
- An executable binary installed by a customer or device. section 1.2.4 section 11.4.3
- A container image used to run an application. section 1.2.4
- A package or update delivered to an IoT device or another deployment environment. section 11.4.3
Delivery means shipping the artifact, either privately or publicly. A release candidate can receive additional automated checks, such as load, user-interface, and smoke tests, before release. Deployment is the separate act of making that artifact run, such as installing it on a server, launching a container, configuring a serverless function, or sending an over-the-air update. section 1.2.4
From commit to customer feedback
A team builds an executable or container image from its code, tests a release candidate, and ships it to customers. If the application fails to start, usage reveals a defect; if it fails under load or users find little value, the team changes the product and repeats the loop. section 1.2.4 section 11.4.3
Figure 1.5 Code is built into an executable file or wrapped in a universal runtime, such as a container.
Visualizes code becoming an executable file or a container-based runtime, making the artifact boundary concrete. section 1.2.4



