What to do if the end user doesn’t want to collaborate?

Asked

Viewed 102 times

8

After reading a lot about agile methodologies and Domain-driven design, I was convinced that it is of vital importance for the development of software that the domain specialist (who is often the end user) participates in the process, talk to 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 necessary to build the software. Knowing the ubiquitous language, operations and requirements, one can also easily discover the responsibilities of each class.

The problem is that this assumes that first of all, the domain specialist wants to collaborate actively with development. What I have seen in practice, however, is just the opposite, the domain specialist not wanting to collaborate at all. The main points I have noted in this regard are:

  • The domain specialist avoids face-to-face meetings and wants to handle everything via email or other textual channels
  • The domain specialist provides textual requirements without major explanations and does not like much questioning. At this point, for him who is accustomed to that domain, that simple explanation is sufficient and seems obvious. For an outsider it’s not quite like that, and it’s extremely difficult to understand what he wants after all.
  • The domain expert thinks your role is just tell him what he wants working. He finds it totally unnecessary to explain the domain in more detail and doesn’t like the developer asking questions
  • Have you ever had a case that when answering an email questioning some requirements to see if my understanding of the requirement and the domain was correct, the domain expert got angry and said that I was inventing things and complicating everything, because it was all obvious that he had written.

Anyway, I could list a thousand more items in this sense. For all I read I found the proposal of agile methodologies and Domain-driven design very good. It is a proposal that answers several difficult questions such as "how to determine what should be programmed", and gives a much larger organization to the project. It turns out, though, that if that’s true, on the other hand, I’m finding very difficult make the domain specialist collaborate.

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

  • 2

    Hello Leonardo, all right? So this is a rather broad subject. While you think that the professional should have contact with the client, several companies (especially outside Brazil) think differently. There is a professional (or more) who has the accountability to raise all requirements in the best possible way. What comes, even for the developer, is just a document with everything "cute". Each company has its own methodology. Size, home time, and some "standards" influence how it should be done.

  • 2

    I comment on this based on conversations I have with colleagues from large companies and others who are outside of Brazil to work. Of course, I can’t generalize something like that in the same way that I think an answer to that question doesn’t fit the model of the site. Of course, that’s my opinion and others probably think differently.

  • 6

    Better than just talking to the user, it’s watching him work. And preferably, who has to do this survey of requirements needs to have an IQ of 100 up, to evaluate what the user does and speaks, which parts are correct and which need to be improved. I have done and seen many surveys of this kind in which even before starting development, the company has already corrected several procedures only based on what was found at this stage. But then it depends on how freely you have to interfere with the process, and how much the company you represent is cast.

  • 1

    In practical terms, someone pays for the project, either in cash or by the hours of work of the internal team , being you who is developing does not find support from the user at any stage (survey, test, homologation etc.), should first try a contact with the same ("go cool") not working to take the problem to your superior or to who pays for the project (the "will give m***") and wait for the guy to do his job or call someone for it.

1 answer

4

I believe that the best way out in these situations is to talk to the project sponsor and demonstrate to him what his needs are for information and attention of the end user, and he takes care to ask this user.

If the situation ultimately continues as mentioned (no face-to-face meetings, brief e-mails, etc.) we have to make extremely specific requests for information so that the subject addressed is deepened in the point we would like. In many procedural cases, it is interesting to carry out diagrams (or something like that) on the part of the user for our best understanding.

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

Note: This is my first attempt to reply and in a way I am "Making statements based solely on my opinion" (which is not advisable as an answer). But I would really like to state my point of view on the subject. I apologize if I’m in the way somehow.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.