Together with the participating teams and programmers, you will re-invent practices such as Refactoring, Testing, and TDD to understand how to grow software incrementally, maintaining maximum quality and delivering the highest possible number of functionalities.