Artifact (software development)

From Wikipedia, the free encyclopedia

For other uses, see Artifact.

The term artifact in connection with software development is largely associated with specific development methods or processes e.g., Unified Process. This usage of the term may have originated with those methods.

An artifact is one of many kinds of tangible byproduct produced during the development of software. Some artifacts e.g., use cases, class diagrams, and other UML models, requirements and design documents help describe the function, architecture, and design of software. Other artifacts are concerned with the process of development itself - such as project plans, business cases, and risk assessments. The term occasionally may be used to refer to the code or executable software produced but the more common usage is in referring to the byproducts of software development rather than the product itself.

Much of what are considered artifacts is Software documentation.

Artifacts are significant from a project management perspective as deliverables. The deliverables of a software project are likely to be the same as its artifacts with the addition of the software itself.

The sense of artifacts as byproducts is similar to the use of the term artifact in science to refer to something that arises from the process in hand rather than the issue itself i.e., concerned with the means rather than the end.

[edit] References

Kroll, Per; Kruchten, Philippe (2003). The Rational Unified Process Made Easy: A Practitioner's Guide to the RUP. ISBN 0-321-16609-4.