Is it just an analogy? A useful metaphor? A software engineering process? A software engineering discipline? A technology? Or perhaps, a combination of these things? It appears that the software community has not yet converged on a singular meaning for the term and its scope as evidenced by the statements of our current authors and others cited in my references.
Hunt and Thomas claim that archaeology offers a pretty good analogy for the activities that one performs when tasked with fixing or revising legacy code and, in general, addressing the common problems of trying to understand someone else’s code. The major difference between software archaeology and real archaeology is that the objects of our efforts do not have to be a thousand years old. They use the terminology of real archaeology to describe useful techniques for working with someone else’s software.