On the HamburgXpUsersGroup meeting on march, 17 there was the question how ExtremeProgramming ensures that the customer goal is really reached/approached. Or how and if the process fills the SemanticGap between the customer's wishes and the actual implementation. XP was challenged by the critique that XP has AcceptanceTest''''''s only on the lower (semantic) level, and that there is no process control, that these low-level tests match up and build up to the customer goal at large. The example was driving by car from Hamburg/Germany to New York - which will fail if I look only at the local problem at hand: I can drive all around Eurasias coasts without ever getting nearer than the French coast. The result of our discussion was the following hierarchy (high to low abstraction) : * CustomerSatisfaction * common ProjectVision (see also SystemMetaphor) * UserStories * AcceptanceTest''''''s * UnitTest''''''s * PlainOldCode The lower we go the faster the goal changes and the more relevant sub-goals exist. In a way the project vision is broken down into UserStories, which are prioritized and broken down into parts and then assigned time and people. AcceptanceTest''''''s are broken down into parts and drive the development of the UnitTest''''''s which again drive a actual implementation. This implicit hierarchy ensures, that the sub-goals add up to the ultimate customer satisfaction if XP is done properly. ---- See also SemanticGap