What does artifact mean?
The dictionary defines artifact as:
artefact, artifact [ˈɑːtɪˌfækt] n
something made or given shape by man, such as a tool or a work of art, esp an object of archaeological interest
anything man-made, such as a spurious experimental result
(Life Sciences & Allied Applications / Biology) Cytology a structure seen in tissue after death, fixation, staining, etc., that is not normally present in the living tissue
artifactoften appears in software development, software development cycles, effort estimation, etc. But the above definition doesn't make sense to me in that context.
Could someone please explain this word by giving some specific examples from software industry?
p2pnode is clearly not asking for the definition of the word "artifact". It's in the question, after all. Asking for how the word is used in a programming context may be a basic question, but it is still on topic.
The word is out of place in software development- too broad and shallow. It conjures up images of archeological dig sites; pots and shards.
@Robster, why do you say that? I've heard it used referring to build and test artifacts (dlls and test results). It seems pretty common and pretty specific.
In software development life cycle (SDLC), artifact usually refers to "things" that are produced by people involved in the process. Examples would be design documents, data models, workflow diagrams, test matrices and plans, setup scripts, ... like an archaeological site, any thing that is created could be an artifact.
In most software development cycles, there's usually a list of specific required artifacts that someone must produce and put on a shared drive or document repository for other people to view and share.
Really the only thing that I've never heard referred to as an artifact is code, but I don't see why code can't be an artifact.
@Thomas Owens: Code can be an artifact too, but it usually is considered separately (as in "make sure you back up your code and artifacts!") because the only people interested in this artifact are coders, and sometimes architects. Also, code goes into source control, most of the other artifacts should go into a document repository or a Wiki.
Actually in the Java world it is very common to refer code as artifact, for example when using Maven: http://stackoverflow.com/questions/2487485/what-is-maven-artifact