- Documents the current state (messy but functional code) - Lists all code smells present in the original implementation - Explains the refactoring goals and learning objectives - Provides guidance for the refactoring path