"Refactoring - a key principle of XP - may work behind-the-scenes, but it doesn't work for what's visible. In fact a key tenet of refactoring is that doesn't change the observable behaviour of the software, it improves its internal structure. Which needless to say requires that the programming object be well-designed, even if it's first implementations are kludgy."..."While XP programmers understand this in terms of programming objects, we need to get them to understand this is true of the user interface. In essence the entire user interface is just a big collections of "objects" (screens), each with required inputs and outputs. These need to be well-designed before you start coding."