A development process based on the notion of taking something apart to see how it works and then putting it back together again. Reverse engineering often means decoding or analyzing a device or program with the intent of using its technology to create another product. Most software user agreements now prohibit unauthorized reverse engineering, making it a violation of intellectual property rights.
One of the most blatant examples of this is the IBM-compatible PC (see: IBM-PC). Somewhere along the line, someone reverse-engineered the chips in the first IBM-PC and created a working counterpart without infringing upon IBM's copyrights.
This term is also used as slang for an interrogation, as in, "She reverse-engineered him all day until he finally fessed up about the office party." Another example is "We have to reverse engineer their homepage to figure out what people want, not what the client thinks they should want."