What if the end user does not want to collaborate? [closed]

8
After reading extensively about agile methodologies and domain-driven design, I was convinced that it is vitally important for the development of software that the domain specialist (who is often the end user) to participate in the process, talk to the developers explaining what the system needs and how related operations are in that domain.

The involvement of the domain specialist then allows the construction of a ubiquitous language, from which it is possible to find out which entities, aggregates, and etc are needed to build the software. Knowing the ubiquitous language, operations and requirements, you also easily discover the responsibilities of each class.

The problem is that this assumes first of all that the domain expert wants to actively collaborate with development. What I have seen in practice, however, is just the opposite, the domain expert does not want to collaborate at all. The main points that I have observed in this aspect are:

  • Domain specialist avoids face-to-face meetings and wants to handle everything via email or other textual paths
  • The domain specialist provides the requirements via text without much explanation and does not like much questioning. At this point, to him who is accustomed to that domain, that simple explanation is sufficient and seems all obvious. For someone from outside it is not quite like that, and it is extremely difficult to understand what he wants after all.
  • The domain expert thinks his role is just to say what he wants working . He finds it totally unnecessary to explain the domain in more detail and does not like the developer to ask questions.
  • I even had a case that when responding to an email questioning some requirements to see if my understanding of the requirement and the domain was correct, the domain expert became irritated and said I was making things up and complicating everything because it was all obvious he had written.

Anyway, I could list a thousand more items along those lines. For all I read I found the proposal of agile methodologies and very good domain-driven design . It is a proposal that answers a number of difficult questions such as "how to determine what to program" and how to give a much larger organization to the project. However, if this is true, on the other hand, I find it very difficult to make the domain expert collaborate.

My question here is: how do the domain expert, the end user, actually collaborate with development to develop the right thing?

    
asked by anonymous 26.12.2016 / 18:04

1 answer

4

I believe the best way out in these situations is to talk to the project sponsor and demonstrate to him what his information needs and end user's attention is, and he takes care of requesting it from this user.

If, in the last case, the situation continues as mentioned (without face-to-face meetings, succinct e-mails, etc.), we have to make extremely specific requests for information so that the subject can be deepened to the point where we would like it. In many procedural cases, it is interesting to make diagrams (or something of the sort) on the part of the user for our better understanding.

Unfortunately, if we do something without proper communication and help from the user who really understands the process, it is almost inevitable that there will be rework, and consequently more dedicated hours to the project.

Note: This is my first attempt to respond and in a way I am " Making claims based only on my opinion" (which is not advisable as a response). But I would really like to put my point of view on the subject. I apologize if you are disturbing in any way.

    
26.12.2016 / 18:34