A equipe não técnica pode reunir requisitos em nome da equipe de desenvolvimento?

8

Trabalhando em uma organização grande, geralmente os membros da equipe de desenvolvimento não conseguem obter acesso direto ao cliente para reunir requisitos. É possível / aconselhável fornecer uma lista de perguntas a um gerente de contas para que eles possam reunir requisitos em seu nome?

sunwukung
fonte

Respostas:

5
  • Possível: sim :-)

  • Recomendável: somente se realmente não houver outro caminho. Isso resultaria facilmente em requisitos muito frágeis e pouco compreendidos. E os problemas podem aparecer apenas posteriormente, durante os testes de implementação ou aceitação.

Idealmente, a coleta de requisitos deve ser uma série de discussões detalhadas entre cliente e desenvolvedor (s).Os clientes geralmente têm idéias muito fracas do que realmente querem, implementando sua primeira descrição vaga, como é quase inevitavelmente levaria a problemas. Portanto, os desenvolvedores devem poder determinar o preço de cada ideia / história / requisito, o que ajuda os clientes a priorizar suas necessidades e fornecer feedback técnico sobre o que é possível e viável. Além disso, eles devem entender o domínio do problema com a profundidade necessária, a fim de fornecer a melhor solução técnica para o problema do cliente. E ao longo do caminho, eles devem garantir que entenderam o cliente adequadamente, o que significa pedir esclarecimentos e repetir com frequência o que eles entenderam com suas próprias palavras durante as sessões de comunicação (além de fornecer protótipos / maquetes de IU das idéias do cliente).O melhor meio para isso é a comunicação oral - se não for possível pessoalmente, uma videoconferência ou telefone é a próxima melhor opção.

Ter uma pessoa não técnica como canal de comunicação entre clientes e desenvolvedores limita severamente a eficiência da comunicação. Mesmo o envio e recebimento de documentos por e-mail seria melhor, onde não há pelo menos intermediário, portanto há menos uma possibilidade de mal-entendidos.

Péter Török
fonte
Concordo com você, mas por que não pode haver um proxy entre o desenvolvedor e os negócios? Minha experiência em projetos de grandes empresas abrange vários sistemas (com equipes de desenvolvimento possivelmente diferentes em diferentes locais), data warehousing e reporting, infraestrutura e até alterações no próprio processo de negócios. Você precisa de alguém para cuidar de tudo isso.
32 de softveda
3
@Pratik, é chamado analista de negócios (BA) em algumas lojas. Um BA é realmente útil em alguns casos (também temos um em nosso projeto atual). No entanto, um bom bacharel (IMHO) está longe de ser um gerente de contas: ela sabe muito sobre o domínio do problema e (embora não necessariamente no nível técnico profundo) sobre o aplicativo também.
Péter Török
Um proxy entre o desenvolvedor e a empresa pode funcionar, mas apenas se o proxy for treinado e com conhecimento suficiente para saber o que perguntar. Contar com alguém que simplesmente conhece as necessidades do cliente é uma receita para o fracasso, se ele não souber traduzir essas necessidades em especificações técnicas que atinjam o nível de detalhe necessário para o desenvolvimento.
Beofett 23/05
Como analista de negócios, tenho que discordar totalmente de que uma pessoa não técnica que atua como canal de comunicação limita severamente a eficiência. Na minha parte específica do setor de TI (contratação governamental), gastei muito tempo tentando entender exatamente como nosso cliente trabalha, como ele quer poder trabalhar e o que considera importante. Nossos engenheiros de software NÃO têm o tempo ou a inclinação (geralmente as habilidades sociais) necessárias para desvendar os aspectos bizantinos dos processos de negócios de nossos clientes. Eu sei muito sobre o usuário, e muito sobre a aplicação
JBiggs
5

Embora eu concorde com Péter Török que um intermediário pode limitar a eficiência, ter um não-desenvolvedor conversando com usuários finais pode aumentar a eficácia da comunicação.

Descobri que os desenvolvedores e os usuários finais costumam conversar juntos, mas ainda se entendem mal porque são de "mundos diferentes". Ao falar as mesmas palavras, eles podem entender que significam coisas completamente diferentes ... Um intermediário que entende a mentalidade / linguagem do usuário final e do desenvolvedor pode valer seu peso em ouro, melhorando a compreensão mútua do que é necessário / o que será desenvolvido.

Dito isto, perguntar a um gerente, seja ele um gerente de contas ou qualquer outro tipo de gerente, não é o caminho a seguir. Fazer a ponte entre os mundos desenvolvedor e usuário final é uma habilidade e não algo que você faz "como um aparte".

Marjan Venema
fonte
Concordo plenamente que os desenvolvedores devem entender o domínio do problema, a fim de fornecer soluções reais, e estendeu a minha resposta ao longo desta linha, enquanto você estava escrevendo o seu :-)
Péter Török
@ Péter: sim, responder no StackOverflow é como pessoas falando simultaneamente. Você só ouve o que alguém disse depois que disse e parou de falar (responder) a si mesmo (ou carregar novas respostas). Seria bom para obter uma indicação de que alguém está digitando, como você faz em uma sessão de bate-papo, mas eu acho que seria pedir demais dos servidores StackOverflow ... :-)
Marjan Venema
Concordo. Como analista de negócios, tenho de servir como ponte entre engenheiros de software que sabem muito pouco sobre como o cliente pensa e trabalha e o cliente, que sabe muito pouco sobre como o software é desenvolvido. Ouvi de ambos os lados que as pessoas que fazem o que faço são inestimáveis ​​para a comunicação. Lembro-me de várias vezes em que consegui representar o cliente durante uma sessão de planejamento que estava seguindo um caminho centrado na tecnologia legal, dizendo algo como "isso é ótimo, mas não é assim que eles querem usar" eles precisam ser capazes de ver o ... "
JBiggs
2

Em suma, essa maneira de trabalhar é repleta de perigos e foi uma das razões pelas quais o Manifesto Ágil nasceu.

{má tentativa de humor} Implore, peça emprestado, lute, trapaceie, roube, encante, vá ao pub, faça o que puder para realmente se envolver com o usuário final {/ má tentativa de humor}

Mas, falando sério, se você não puder obter acesso, verifique se há um ciclo rápido de feedback. Portanto, sim, você pode fazer perguntas através do gerente de contas (se você pode acessar o cliente diretamente, mesmo que remotamente por e-mail ainda seja melhor), mas faça-o todos os dias e forneça um protótipo o mais rápido possível para que o cliente experimente.

Caso contrário, você tem um risco enorme de entregar algo que o cliente final realmente não deseja.

Martijn Verburg
fonte
2

Eu trabalho em uma organização de médio e grande porte e temos uma equipe de soluções de negócios que tem muitos analistas de negócios. Eles fazem um trabalho importante, pois entendem muito bem o processo de negócios e traduzem o que a empresa deseja e o que o desenvolvedor entende. Funciona de outra maneira também. Se eu detectar algum problema de design e / ou arquitetura ou propuser uma maneira alternativa de resolver o problema, converso com eles e eles, por sua vez, nos negócios.

Em uma empresa de grande porte, há muitas coisas a considerar, além de técnicas, ao fazer um requisito. Assim como os problemas de treinamento da equipe, como não impactar um cliente com uma alteração, como um processo de compensação existente para tornar sua pergunta um problema, ou "John" é marketing, usa essa função e você não pode simplesmente mudar isso etc.

Para responder sua pergunta, se você possui uma estrutura, use-a. Dê a eles a lista de perguntas para acompanhamento com os gerentes de contas comerciais.

softveda
fonte
1

Você está jogando a versão de coleta de requisitos do jogo por telefone. Na melhor das hipóteses, isso causará muita ineficiência na comunicação. Na pior das hipóteses, causará requisitos reunidos incorretamente. A importância desse ciclo de feedback e sua eficiência é um dos principais motivos pelos quais o Representante do Cliente é uma das funções mais valiosas (e mais difíceis de dimensionar) de uma equipe Agile.

Rein Henrichs
fonte
0

NÃO

Tomando sua pergunta literalmente, a resposta não pode ser outra coisa senão um retumbante "NÃO! NÃO! MIL E VINTE E QUATRO VEZES NÃO!" a menos que o "Gerente de contas" também seja consultor, analista e desenvolvedor treinado

Se houver um intermediário não treinado no processo, é melhor enviar as pesquisas dos usuários por e-mail e apenas ligar o gerente de contas. Ele / Ela não pode agregar valor ao processo, mas certamente pode distorcer as comunicações.

A função apropriada do gerente de contas nesse processo é participar da conversa como parte interessada , não jogar middleware ou analista amador.

Steven A. Lowe
fonte
+1, tem que concordar. Isso acontece muito, mas eu nunca vi isso dar certo.