After many years in working on software projects I realized that the most common reason of misunderstanding the design of an application is the lack of context or to be more precise, the lack of a shared context among the participants to the meetings.
The chance of working with a distributed team according to the CalAgile approach highlighted the need of clarifying this aspect. According to this approach a representative of the software consultancy firm kicks off the project at the customer’s premises by setting up communication channels between the customer’s business-oriented team and the remote software-development team. This kind of organization requires a continuous rethought of the customer’s needs as the representative actively reports to the team the model they should build. (more…)