liveBook · Manning

Software artifact

As explained in Shipping Go: Develop, deliver, discuss, design, and go again

A software artifact is a distributable result of software development, such as a library version, executable binary, or container image.

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:

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

How Shipping Go: Develop, deliver, discuss, design, and go again covers it

How deep it goes
Explains artifact forms, release-candidate testing, delivery, deployment, and feedback without detailing build-system internals.
Examples
Uses library versions, executable binaries, container images, release candidates, IoT updates, and downloadable packages.
What it assumes
Assumes code has been written and pushed, while teaching artifact types and their place in delivery.
What you can do after
Evaluate/understand how code becomes a distributable artifact and distinguish shipping it from deploying it.
How it connects
Connects software artifacts with software delivery, deployment, automated testing, release candidates, customer feedback, and metrics.

Also explained in

Compare how 4 books explain software artifact →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Shipping Go: Develop, deliver, discuss, design, and go again. The section links point to the parts of the book it draws on.