In information technology, a kludge (pronounced KLOOdzh) is an awkward or clumsy (but at least temporarily effective) solution to a programming or hardware design or implementation problem. According to Eric Raymond, the term is indirectly derived from the German klug meaning clever. Raymond considers "kludge" an incorrect spelling of kluge, a term of the 1940s with the same general meaning and possibly inspired by the Kluge paper feeder, a "fiendishly complex assortment of cams, belts, and linkages...devilishly difficult to repair...but oh, so clever!"
By submitting your email address, you agree to receive emails regarding relevant topic offers from TechTarget and its partners. You can withdraw your consent at any time. Contact TechTarget at 275 Grove Street, Newton, MA.
A kludge originates because another, more elegant or appropriate solution is not currently possible (perhaps because of time constraints). Hardware and software products are sometimes the result of adding a new and basically incompatible design to the original design rather than redesigning the product completely. What is a kludge can be a matter of opinion. Users often have a different opinion than the designers, who understand the problems that had to be overcome. To the extent that information technology products are combinations of elements originating from a variety of design philosophies and constraints, almost any product is bound to contain some element of kludginess.
A kludge could be considered a type of workaround.