The eternal conflict between customers and programmers

In my experience it is not a good idea to put in direct communication stakeholders (customers) and programmers, here is the typical result

drawing

Lets analyze this typical situation from the perspective of the stakeholder; he have all the reason to ask for new features, he does not possess strong technical skills, and since he is the one who actually pay to build the software, he does not understand why he cannot ask for a simple modification. Moreover the developer is speaking some obscure technical jargon, so he could not understand the reason behind these difficulties.

From the perspective of the programmer, the customer is the one who always change the game, he does not understand the technical implications that can lie behind a simple button, so he resort to intimidate him with technical jargon, hoping that at least he will understand that adding that ***** button will not be an easy task.

In the end both the contendants  feels that the other part is not doing his part of the work, it is not a good situation to manage.

But the ultimate question is “there is a solution?”, in my opinion the answer is “you need an analyst”.

drawing2

The analyst is capable to speak with customer in plain english, and since he possess some technical skills, he can anticipate some of the problems. Then he is capable to analyze the needs of the customer to find the way to fulfill them with alternate solution, quite often the alternate solution could be even better for the stakeholder. Then the analyst speak with the development team, he shows all the possibilities to the developers that will give to each alternative a weight. The final step is choosing the possibility that satisfy the customer but have no great impact on the system, if any.

The analyst is the logical connection between the needs of the customer and the programming team. His ultimate goal is to fully understand all stakeholder’s needs, finding alternatives to each goal, trying to anticipate problems and most important, he is constantly trying to eviscerate all customer’s needs as soon as possible. Without a good analysis you cannot write good software.

alk.

Tags: Analysis Software