An artifact is any software asset that is connected to or part of a software project. Artifacts are normally binary packages and are used to characterize or describe the function, architecture, and design of the application. Common types of artifacts are images, executables, data models, libraries, use cases and of course the compiled application binary.