Trabalhando com clientes que não sabem o que querem


19

Recentemente, iniciei um trabalho que me faz trabalhar em um sistema existente. Requer ajustes e atualizações, bem como novo código. Eu já fiz vários projetos de manutenção / recurso adicionando agora, e vários deles acabaram sendo significativamente diferentes do que foi realmente solicitado. Portanto, tive que programar o item várias vezes para chegar ao local desejado pelo solicitante.

Agora, não me importo de reprogramar o recurso se é isso que precisa ser feito. No entanto, gostaria de diminuir o tempo de resposta dos meus projetos. O gargalo parece estar na percepção do solicitante sobre o que precisa ser feito. Você tem alguma idéia do que eu poderia fazer para descobrir o que o solicitante precisa mais rapidamente?


1
Isso tem que ser melhor do que o oposto, clientes que sabem o que querem, mas não o que precisam.
Craig

2
Os clientes sabem o que querem?
Dominique McDonnell

6
"O cliente não sabe o que quer até que você dê o que ele pediu"
Benjol 10/10/10

Há muito tempo, comecei a fantasiar sobre a contratação de analistas de requisitos do crime organizado. "Você vai me dizer o que acontece quando um cliente não está no banco de dados ou eu tenho que ficar duro?"
precisa

Por favor, siga esta proposta para esse tipo de pergunta: Aspectos da organização
Maniero

Respostas:


20

Alguns conselhos:

  • Escute problemas, não soluções . Muitos clientes gostam de lhe dizer como resolver seus problemas. Não dê ouvidos a eles. Você é o programador e é seu trabalho encontrar soluções para os problemas. Em vez disso, ouça os problemas que os clientes estão enfrentando e descubra a melhor maneira de resolvê-los. como outros já disseram, os clientes realmente não sabem o que querem, às vezes você precisa mostrá-lo primeiro.

  • Faça perguntas . Quando terminar de fazer perguntas, faça mais algumas. Os clientes raramente são apresentados com detalhes, pois realmente não pensam nisso. A única maneira de obter as informações necessárias é extraí-las delas.

  • Faça as coisas por escrito Dependendo da situação do cliente, isso pode ser realmente importante mais tarde, quando eles começarem a reclamar sobre como o que você entregou "não é o que eles pediram". e, se nada mais, escrever especificações detalhadas pode ajudar a garantir que você tenha todas as informações necessárias e a esclarecer ambiguidades entre você e o cliente.

  • A comunicação é fundamental . não basta falar com o cliente, obter informações, digitar algum código e não conversar com ele até que esteja pronto. Sempre mantenha contato com o cliente. Faça perguntas durante todo o processo. mostre o progresso que você fez e obtenha feedback. Isso facilitará a vida de todos a longo prazo.


2
Excelente lista, especialmente o ponto 1. Muitos clientes perguntam 'você pode adicionar um botão aqui que faz X' ... mas se você perguntar mais sobre por que eles querem o botão, você descobrirá porque eles estão tentando resolver alguns problemas. problema que eles têm com um recurso completamente diferente.
GrandmasterB

2
Um pequeno acréscimo ao primeiro ponto, se eles precisam de um recurso para facilitar alguma tarefa, pergunte se você pode ver como eles executam a tarefa agora. Isso pode tornar muito mais fácil ver qual é o problema real e quais são as possíveis armadilhas.
glenatron

@glenatron: Essa é uma ideia muito boa, esp. já que é impossível aprender todo o sistema.
Michael K

@ GSTO: Em # 2, você está falando sobre o programador escrevendo a solicitação com a entrada do cliente, ou o cliente escrevendo? Um dos problemas que tenho é que a solicitação por escrito do cliente é imprecisa.
Michael K

Costumo fazer com que o cliente ou o solicitante realmente prove que o recurso ou alteração é uma necessidade e melhorará as coisas. Você pode não ter esse luxo, mas se conseguir que o cliente ou o solicitante mostre que ele entende completamente por que eles querem a mudança e como isso beneficiará os outros, você poderá oferecer uma alternativa para atender às necessidades deles, e não às necessidades deles. quer.
Josaph

5

Praticamente qualquer livro de auto-ajuda que você capta sobre comunicação oferece uma variação disso:

  • Procure primeiro entender, depois entender

Isso vem do livro dos 7 hábitos, mas são todas algumas variações do método de " escuta ativa ". O objetivo não é apenas entender, mas comunicar a eles que você entendeu.

Depois que penso ter uma boa idéia do que eles precisam (fique longe do que eles querem, principalmente se começarem a descrever os detalhes da implementação - esse é o seu trabalho, não o deles), dou-lhes exemplos de histórias de várias pessoas que usam o sistema e ver se que brinca com eles.

Então eu implemento isso, esperando que, uma vez que eles vejam o recurso, eles realmente percebam que não é exatamente isso que eles querem. Mantenha tudo flexível. A única constante é a mudança. Normalmente, trabalho com a maioria das arestas ásperas após a segunda atualização rápida após a inicial, mas sempre acho que estou me aproximando assintoticamente de algum ideal que nunca consigo alcançar. Eventualmente, você precisa deixar as coisas sem importância passarem para metas de maior valor.


4

Eu sinto sua dor....

A má notícia é: dependendo exatamente de que tipo de clientes você está lidando, isso pode ser normal.

Um problema geral comum é basicamente que os clientes não sabem o que querem . Eles geralmente sabem o que desejam ser alcançados, em termos de uma meta de negócios, mas geralmente não têm idéia de como deve ser a aparência da solução de software. Portanto, em muitos casos, você se encontrará nesse ciclo iterativo, em que um projeto alterna cinco vezes mais do que a estimativa inicial, porque o cliente continua mudando de idéia e deseja que a solução seja alterada e alterada novamente. E sim, não é incomum o resultado final se transformar em algo completamente diferente do que o objetivo inicial parecia.

Eu tive um exemplo épico disso acontecer alguns anos atrás - um projeto que inicialmente levou 10 semanas para codificar se transformou em uma rotina de re-iteração de 15 meses. Nesse caso, era principalmente porque diferentes gerentes e departamentos da empresa cliente queriam coisas diferentes, então eles continuavam enviando o trabalho de volta, para serem aprimorados e aprimorados (nosso software é baseado em assinatura e esse era um cliente importante, não havia uma pele financeira nas nossas costas - apenas um grande aborrecimento técnico).

Então, basicamente, meu conselho é este:

Se é assim que o seu setor em particular e esses clientes são (esse é um grande FI), basta se acostumar. Pense nisso como um trabalho ágil, orientado à manutenção (é assim que meu show atual é, mais ou menos). :)

Se não é assim que as coisas devem ser feitas, e você está sendo responsabilizado pelas longas reviravoltas, fale com seus chefes. Explique a eles que existem problemas de comunicação e que as especificações que chegam dos clientes não são claras o suficiente para você implementar a solução desejada. Você não quer se encontrar na situação em que está culpando por não dar aos clientes o que eles querem, se você não estiver obtendo todas as informações necessárias para dar o que eles querem.


1
Na verdade, é bastante normal aqui, mas é algo que eu gostaria de mudar pelo menos para meus projetos. Acho que muitos desses pedidos podem ser respondidos muito mais rapidamente - um simples pode levar de três a quatro (ou mais) semanas, dependendo.
Michael K

2

Primeiro de tudo, você deve aceitar o fato de que os clientes realmente não sabem o que estão procurando até vê-lo. Eles podem dizer agora que precisam do recurso X. Mostre a eles o recurso X e perceberão que o que realmente precisam é do recurso Y ou de outra variação do recurso X.

Uma boa maneira de descobrir o que o cliente realmente deseja mais rapidamente é abraçar e seguir o Agile Manifesto , que se concentra na comunicação e na colaboração do cliente. Divida o ciclo de desenvolvimento em iterações e mostre ao cliente um protótipo do recurso em cada extremidade da iteração. Dessa forma, você receberá feedback imediato e o alterará, de acordo com o feedback do cliente, sem ter que investir muito recurso no recurso. Dessa forma, você e o cliente ficarão felizes com o resultado do produto.

Tenho certeza de que a transição será difícil para sua equipe ou sua empresa, mas é uma das melhores maneiras de lidar com os requisitos que mudam rapidamente.


1
+1 em "Antes de tudo, você deve aceitar o fato de que os clientes realmente não sabem o que estão procurando até vê-lo". E isso não é ruim. Alguns dos piores projetos em que trabalhei são os que eles gastaram para sempre tentar descobrir o que queriam antes de envolver os desenvolvedores. Acredite ou não, várias iterações geralmente são mais rápidas que o design inicial massivo.
Jon Hopkins

1

Muitas e muitas histórias semelhantes podem ser encontradas aqui . Eu nunca, mesmo trabalhando como subempreiteiro de outra empresa de desenvolvimento, encontrei um cliente que sabia exatamente o que queria.

Estou feliz o suficiente por trabalhar com alguém que tem uma ideia muito boa do que não quer ou deseja evitar. Normalmente, eu posso trabalhar a partir daí para algo que eles estão felizes.

Porém, minha experiência é principalmente no desenvolvimento de aplicativos / plataformas. Felizmente, raramente tenho que lidar com questões estéticas, como os designers da web.


1

Depois de muitas reescritas irritantes, agora opero o que chamo de divulgação completa.

Portanto, depois de discutir os requisitos e desejos dos clientes, sempre escreverei o que percebi que eles desejam e como proceder para cumprir esse requisito. Depois enviarei o que escrevi e esperarei até que respondam afirmativamente antes de começar o trabalho.

Se for um projeto grande (mais do que dizer 5 dias de trabalho), eu também protótipo. Isso lhes dá a chance de mudar de idéia sem grandes alterações de código no meu final.

Nem sempre funciona, mas pelo menos estou em uma posição em que o cliente sabe que são eles que estão mudando de idéia e não eu implementando incorretamente.

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.