Tipo de pergunta sim / não e por quê?
É responsabilidade do desenvolvedor de software entender o que o cliente quis dizer com sua solicitação ou é responsabilidade do cliente explicar adequadamente sua solicitação ao desenvolvedor?
A situação no trabalho é atualmente "o cliente já nos explicou o que deseja. É sua responsabilidade entender a solicitação e não fazer mais perguntas".
Embora o inglês não seja meu conjunto forte, todos os pedidos são escritos em inglês obscuro, com palavras equivocadas e frases difíceis de entender, alguns pedidos assumem um entendimento prévio do sistema da minha parte.
Eu sou o terceiro ou o quarto desenvolvedor do sistema (os últimos desenvolvedores deixaram o trabalho) e esse pode ser o motivo pelo qual o cliente espera ter alguma compreensão do lado do desenvolvedor.
O sistema em si é bastante confuso, tanto na interface quanto no nível do código-fonte. Parece-me codificação de macaco para mim - codifique e espero que você atenda à solicitação corretamente, sem realmente entender a solicitação.
Na verdade, estou pensando em deixar o emprego, mas ainda não o fiz, pois não tenho certeza sobre quem está certo e quem está errado.
fonte
Respostas:
Se é seu trabalho entender, é seu trabalho fazer perguntas até você
A pessoa que você pergunta pode ser alguém que não é o cliente (conversei frequentemente com um intermediário, que estava em contato com o cliente); portanto, aqueles que o proíbem de falar com o cliente devem responder às perguntas ou encaminhar você alguém que pode.
Mas, no final, deve haver ALGUM tipo de comunicação. Se eles negarem (e fornecer alguns documentos que você não entende está efetivamente negando a comunicação), faça como seus predecessores: fuja rapidamente.
fonte
Quando seus clientes e superiores deixam você com uma trilha de papel bagunçada, a única coisa que você pode fazer é reunir o máximo de sentido possível do que você tem e começar a escrever cenários em inglês simples, na tentativa de estruturar qual conhecimento existe sobre como o sistema deve se comportar.
Os cenários Dado / Quando / Então permitem que você entre em detalhes sobre o que precisa acontecer e, como eles estão escritos em inglês simples e estruturados, você pode usá-los para se comunicar com seu superior e cliente: "Ouça, Cheguei a esse ponto e não tenho idéia do que o sistema deve fazer aqui ".
Se você simplesmente se esquivou de pedir esclarecimentos adicionais, mesmo tendo investido esforços para documentar tudo o que faz e não entende, os desenvolvedores anteriores falharam não porque não sabiam como comunicar as especificações, mas porque é impossível fazer isso.
fonte
Na minha opinião, ambos (cliente e desenvolvedor) precisam obter o mesmo entendimento do problema e de sua solução.
Se você não entender a solicitação, não poderá criar a solução.
Então você tem que ler as especificações. Se a especificação não for clara o suficiente (ou não houver especificação escrita), deve haver alguém que possa dar as respostas.
Eu trabalho em equipes que têm uma pessoa que pode responder às questões de negócios. Esse empresário é um membro da empresa de desenvolvimento em que trabalho e que conhece os negócios dos clientes ou um membro da equipe de clientes.
fonte
Parece que em sua localização específica, o gerente de projeto teme que o cliente fique aborrecido se as mesmas perguntas forem feitas várias vezes (necessárias por causa da rotatividade de desenvolvedores) e que isso refletirá mal sobre ele e sua empresa.
Obviamente, se você não fizer essas perguntas, levará muito mais tempo para concluir / modificar o sistema e o resultado pode não ser o que o cliente queria, o que causará mais atrasos e também refletirá mal no gerente de projetos e em seus funcionários. empresa, pelo menos aos olhos do cliente.
Existem algumas razões pelas quais o gerente de projeto pode optar por não permitir que você faça perguntas:
O motivo 2 da IMO é improvável. Para eliminar o motivo 1, tente explicar as alternativas a ele e peça que ele faça uma escolha explícita entre elas - sugira explicar o problema ao cliente para reduzir o aborrecimento. Para eliminar o motivo 3, faça isso por escrito, para poder provar que estava ciente dos possíveis problemas desde o início e tentar corrigi-los. Mas, para ser sincero, se você suspeitar que isso seja necessário, provavelmente deverá chegar o mais rápido possível.
fonte
Eu acho que é sempre responsabilidade do provedor de serviços garantir que eles tenham entendido as intenções do cliente.
Como especialistas em nosso campo, não é apenas nosso trabalho preencher resumos, mas também ajudar a orientar nossos clientes no processo de usar nosso serviço, e isso envolve educá-los sobre as possibilidades que oferecemos e o que fazemos agora.
Acredito que uma abordagem focada no cliente é absolutamente a maneira de fazer as coisas, é um modelo de negócios testado e comprovado.
fonte
O cliente e os desenvolvedores precisam trabalhar juntos para refinar sua compreensão do sistema.
A empresa de software precisa chegar a um acordo com o cliente quanto ao que é exigido de cada parte, que é o aspecto fundamental de um contrato. Se não há "reunião de mentes", então, em um sentido muito real, não há contrato.
Assumir que você é um programador competente, se a especificação não estiver clara, será informado simplesmente que "é sua responsabilidade entender a solicitação, não faça mais perguntas" é uma bobagem.
fonte
Isso se baseia em algumas informações novas nos comentários sobre a pergunta original.
A afirmação de que
vem do líder do projeto; a lógica declarada é
Portanto, o que você está especificamente pedindo para evitar é incomodar o cliente com perguntas .
Pedir que você "gaste mais tempo interpretando a pergunta" não é necessariamente irracional. Você deve fazer um esforço razoável, ou talvez um pouco irracional, para descobrir quais são os requisitos com base no que o cliente realmente disse. Se nada mais, é uma habilidade valiosa.
Se isso falhar (e parece que já ocorreu, por vários motivos), peça ajuda ao líder do projeto. Tente ser o mais específico possível em suas perguntas, mostrando que você fez sua lição de casa. Por exemplo, em vez de
pergunte algo como,
Ou, se os requisitos são realmente tão mal escritos que você não pode decifrá-los, diga isso a ele.
Eu diria que, em última análise, é responsabilidade do líder do projeto garantir que os requisitos sejam entendidos corretamente (certamente é do interesse dele que o projeto seja bem-sucedido). Mas como membro da equipe, você compartilha parte dessa responsabilidade. Se você demonstrar que fez algum esforço, e o líder do projeto se recusar a ajudá-lo, ele assumiu toda a sua responsabilidade. Se chegar a esse ponto, verifique se ele sabe disso.
fonte
Em um mundo perfeito, deve haver uma lista de recursos e especificações em algum lugar, algo escrito em um contrato que vincule sua empresa e seu cliente.
Para responder à sua pergunta, o desenvolvedor deve realmente entender o que o cliente deseja e ter um documento escrito para que ambas as partes concordem com a mesma visão.
Obviamente, este não é um mundo perfeito e, muitas vezes, não há especificações, e se você não tiver nenhuma especificação escrita, bem, isso será difícil. Existe alguém na sua empresa que trabalhe como delegado de relacionamento com o cliente, que possa ajudá-lo a entender o que o cliente deseja?
Caso contrário, na sua posição, eu tentaria obter informações dos desenvolvedores anteriores, supondo que eles entendessem a tarefa, é claro.
fonte
Eu acho que o papel real de especificar quem cuida da compreensão dos requisitos varia de acordo com algumas dessas variáveis
Portanto, se você é apenas uma equipe de um homem, deve fazer todos os esforços para chegar ao final dos pedidos. se você é novo em um projeto em andamento, deve fazer um esforço para revisar as solicitações novamente com o cliente.
EDIT: O mais importante é que o cliente pode não saber que ele fez requisitos tão ruins, e o processo de coleta de requisitos geralmente é longo e tedioso, mas é um processo importante, e se ele cair sobre você porque ninguém mais o faz, então você deve faça isso com eles.
fonte