This document discusses how to implement iterative design practices within agile development frameworks. It notes that while user stories and test-driven development brought iterative requirements and testing, design practices have not been as clearly defined. It suggests that collaborative design approaches that leverage the knowledge of self-organizing teams can help "the best architectures, requirements and designs emerge." The document then examines how agile ceremonies and definitions of done can support iterative design work.