Legacy code. We’ve all dealt with it, we’ve all screamed at it. And we’ve all written it. A project becomes legacy when developers no longer have the context of old decisions. The transition to legacy status happens step by step, decision by decision. This talk will examine patterns that lead to legacy code, such as “personnel turnover”, “shifting priorities”, and “developer fads”. We’ll show how the pattern turns code into legacy and, more importantly, how it can be avoided or mitigated. At the end of the talk, you’ll be able to keep your project from sliding quickly into the legacy swamp.