Linguagem Ubíqua - conflito entre correção e usabilidade


10

Uma parte essencial do Design Orientado a Domínio é o uso consistente de uma linguagem onipresente em todo o sistema - em conversas, código, esquema de banco de dados, interface do usuário, testes, etc.

Estou envolvido em um projeto no qual já existe uma linguagem de domínio bem estabelecida, definida por uma organização internacional de padrões.

No entanto, o trabalho que estamos fazendo é para um site público, e os termos 'corretos' para o domínio não são necessariamente como o público normalmente os usa e entende.

O compromisso que estamos usando no momento é usar os termos 'oficiais' em qualquer lugar, exceto nos critérios de aceitação que se referem aos componentes da interface do usuário, onde usamos os nomes informais.

Parece uma abordagem razoável?


Você pode fornecer um exemplo? Eu poderia dar uma resposta mais detalhada então. Você precisa circunscrever os termos para eles ou existem termos que colidem com um total de significados diferentes? Seria possível encontrar um terreno comum entre os termos informais e a linguagem do domínio?
Falcon

11
Já faz um tempo desde que li essa parte do livro de Evans, mas achei que a linguagem onipresente deveria ser usada com o especialista em domínio? Eu certamente não esperaria que um usuário entendesse toda a terminologia do especialista em domínio, para que eu apresente apenas ao usuário o que você chamou de nomes informais.
Kaleb Pederson

Respostas:


7

Sim, isso parece razoável. Se o público-alvo não entender os termos do seu idioma ou interpretá-los incorretamente, a usabilidade do usuário final terá precedência.

Um programa ou conteúdo que um usuário típico não entende é de pouco valor. Mais ainda, se você quiser apenas apresentar a eles uma dica simplificada de um iceberg, porque eles não são e nunca serão especialistas em domínio.

Normalmente, quando você fala sobre o domínio durante o desenvolvimento, todos entendem o idioma porque ele é preciso e todas as pessoas estão dentro do domínio. Mas se o valor do negócio for criado pela comunicação do conteúdo para pessoas de fora do domínio, faça isso da maneira mais simples possível. Use palavras e idiomas com menor probabilidade de serem mal interpretados e use-os na interface do usuário.

Mantenha o idioma exato no seu código e para se comunicar com pessoas preocupadas com o domínio. Essas são as pessoas que têm as especificações e os principais usuários dos aplicativos, com quem você discute os detalhes lógicos dos negócios. Nos raros casos em que você realmente discute a maioria dos detalhes lógicos da empresa com usuários que não têm muita pista sobre o domínio e não precisa se aprofundar nele, incorpore o idioma no idioma do domínio, uma vez que eles ter uma linguagem comum e inequívoca (o que provavelmente não é o caso).

Mas verifique se os desenvolvedores de front-end conhecem seus termos informais e os termos de domínio correspondentes.


1

Eu acho que a maneira mais fácil de responder a isso seria desenhar uma linha exatamente onde você a desenharia se estivesse apresentando a interface do usuário em um idioma completamente diferente.

Se seus usuários finais precisassem ver coisas em sânscrito, como você faria a ponte entre a interface do usuário e o código (e outras comunicações internas).


Bem dito. Isso aponta o "Problema Humpty-Dumpty": as palavras não são apenas uma substituição, elas se referem a coisas que as pessoas sabem independentemente das palavras e de seu uso. Os animais entendem a idéia de "temperatura", por exemplo. Ficamos presos às palavras, quando são apenas símbolos de conceitos. Os conceitos são as coisas importantes.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.