Possibly from German klug ("clever") Originally spelled "kluge," and used as early as the 1940s in Great Britain, term originally applied to any solution for accomplishing a task, especially mechanical, which consisted of various otherwise disrelated parts and mechanisms, cobbled together in a untidy or downright messy manner. Presumably through military co-action, Americans eventually adopted the term. In Naval parlance, a kluge was usually a machine or process which worked perfectly ashore, but never aboard ship. The resulting inoperative machinery was regarded as so much clutter, and a minor naval usage of the word came to apply to clutter in general, especially as it might impede shipboard operations.
In 1962, an article appeared in an American computing magazine which appears to have adopted the term under the misspelling "kludge" (while retaining the klooj pronunciation, in defiance of American English convention) to refer to ingenious but unwieldy solutions in that field. American technical specialists appear to have carried the misspelling forward.
In modern computing technology, kludge is a method of solving a problem, doing a task, or fixing a system (whether hardware or software) that works but is inefficient, inelegant, or unfathomable.