Taking a well-designed piece of code and, through a series of small, reversible changes, making it completely unmaintainable by anyone except yourself. The term is a humourous play on the term refactoring and was coined by Jason Gorman in a pub in 2002.

Refuctoring techniques include:

Using Pig Latin as a naming convention.

Stating The Bleeding Obvious - writing comments that paraphrase the code (e.g., "declare an integer called I with an initial value of zero").

Module Gravity Well - adding all new code to the biggest module.

Unique Modeling Language - inventing your own visual notation.

Treasure Hunt - Writing code consisting mostly of references to other code and documents that reference other documents.

Rainy Day Module - writing spare code just in case somebody needs it later.

Waterfall 2006 presentation.