É normal que os desenvolvedores sugiram idéias de recursos aos proprietários de produtos? [fechadas]

16

Comecei a trabalhar como desenvolvedor recentemente, tendo trabalhado como administrador de sistemas antes.

Meu entendimento de como uma equipe de desenvolvimento de software usando funções ágeis é que a comunicação "o que precisamos implementar" acontece principalmente em uma direção, do proprietário do produto aos desenvolvedores. Os desenvolvedores podem expressar suas preocupações ao proprietário do produto sobre dívidas técnicas, mas apresentar ideias de recursos não deve ser uma de suas principais responsabilidades.

A empresa em que estou trabalhando tem uma visão diferente. Para eles, os desenvolvedores não devem ir apenas aos proprietários de produtos de sua própria equipe para sugerir idéias de recursos, mas também aos proprietários de produtos de outras equipes, se acharem que têm algo a contribuir para o produto dessa equipe. A idéia é que somos todos uma grande equipe <nome da empresa>, e todos os desenvolvedores devem usar seus conhecimentos para aprimorar os recursos que consideram úteis.

Essa abordagem é "normal", por falta de uma palavra melhor? Estou sendo muito passivo, devo tomar a iniciativa e começar a enviar idéias aos proprietários do produto? Por outro lado, a empresa entendeu tudo errado e eu deveria procurar emprego em outro lugar?

louniks
fonte
15
Certamente, os programadores geralmente sabem muitas coisas das quais o proprietário do produto nunca ouviu falar. Pegue o desenvolvimento web, existem serviços, APIs, qualquer quantidade de bibliotecas e plugins e itens de interface do usuário. Muitas vezes trabalhamos com clientes que não têm muito mais do que uma idéia aproximada do que desejam fazer, mas não sabem quais são as formas comuns de implementá-las ou quais recursos adicionais seriam possíveis.
226146 Thorsten Müller
1
Você sente ressentimento ou consequências negativas por não sugerir recursos? Parece que sua empresa deseja incentivar a prática e não punir aqueles que não o fazem.
JeffO 11/02
Esse é o processo normal em duas empresas nas quais trabalhei. Eu percebi que o pessoal da empresa simplesmente não tem idéia de quão valiosos os desenvolvedores são em habilidades de solução / resolução de problemas. É provável que o navio saltador encontre o mesmo problema. A sugestão de novos recursos para o pessoal do produto, como se houvesse uma solução, é chamada de gerenciamento de gerentes e funciona bem. O único problema é que isso significa que você não recebe crédito por suas idéias, mas pelo menos seus recursos são implementados.
11114 Jason
OMI é uma coisa muito boa e muito saudável. Os proprietários do produto podem ser especialistas no domínio comercial, mas provavelmente não conhecem todas as novas tecnologias ou abordagens técnicas disponíveis. Além disso, os desenvolvedores podem ter idéias sobre o sistema que vem da perspectiva diferente de trabalhar diretamente com o código. Você definitivamente quer ficar com uma empresa que acolhe idéias de todos, independentemente da função. Isso não significa que os proprietários não têm noção, significa que estão abertos às idéias de todos.
Ken Liu

Respostas:

2

Depende do que você entende por idéias de recursos.

No jogo de planejamento, não é incomum os desenvolvedores fornecerem informações sobre uma história que pode acabar na iteração. No entanto, isso é muito diferente dos desenvolvedores que apresentam histórias por conta própria.

Em sistemas maduros, os desenvolvedores podem sugerir uma maneira de contornar um problema conhecido que poderia transformá-lo em uma iteração.

Aprimoramentos podem ser bons, por exemplo, adicionar um gráfico para um relatório, mas os alarmes soariam para mim se os desenvolvedores estiverem apresentando novas histórias de boa-fé. Se houvesse valor real nisso, eu questionaria por que não havia uma história não implementada para isso ou por que nunca surgiu na retrospectiva.

Robbie Dee
fonte
1
Não interpreto a filosofia da minha empresa como pedindo aos desenvolvedores que apresentem histórias, e não me lembro de ver isso acontecer. O que eu acho que eles querem é que, uma vez que uma idéia tenha sido emitida e um desenvolvedor tenha se apropriado de sua execução, é responsabilidade do desenvolvedor defender essa ideia até o final.
Louniks
1
Então você está dizendo que os alarmes tocam quando um desenvolvedor pensa em uma idéia que o proprietário do produto não pensou? Por que isso seria uma coisa tão ruim?
Stefan Billiet
1
Jogar ideias é bom - é parte integrante do jogo de planejamento. Se fosse uma nova história, eu questionaria isso. As histórias oferecem valor ao cliente que, para ser franco, os desenvolvedores normalmente não estão em melhor posição para avaliar (a menos que sejam especialistas em domínio). Se algo aparece na iteração é determinado pelo valor da história e pelo esforço do desenvolvedor no jogo de planejamento. O envolvimento do desenvolvedor na criação de histórias pode causar um potencial conflito de interesses aqui. Isso não quer dizer que não poderia acontecer - apenas que o proprietário do produto precisaria defendê-lo, caso contrário, é a cauda que abana o cachorro.
Robbie Dee
47

A razão pela qual muitos desenvolvedores são "passivos", como você diz, é porque é preciso uma certa quantidade de conhecimento e experiência no domínio antes que boas idéias de produtos cheguem até você. Mas se eles vierem, não há razão para não sugeri-los e defendê-los.

Lembre-se: desenvolvedores, proprietários de produtos, vendedores etc. estão todos na mesma equipe, com o mesmo objetivo: construir um produto de sucesso. Trabalhe para esse objetivo da maneira que puder.

Stefan Billiet
fonte
Eu acho que você acertou em cheio - integrei uma equipe que trabalha com tecnologias com as quais tenho pouca experiência; portanto, é difícil ser proativo. Terá que haver um período de aprendizado durante o qual permaneço passivo. Depois, quando eu começar a me sentir confortável com a tecnologia, posso começar a ser proativo.
Louniks
1
@louniks não, você está perdendo o ponto. A tecnologia não é o que importa. O negócio é o que importa. Quão transparentes são as pessoas de negócios? Você está ciente de como a empresa pretende ganhar dinheiro? Você está ciente de como o produto em que você está trabalhando se encaixa com os outros produtos da empresa? Caso contrário, seu empregador está sendo injusto com você. Você não pode sugerir recursos se não conhecer o plano de negócios.
RibaldEddie
3
@RibaldEddie Eu discordo da última parte. Qualquer pessoa deve ser livre para sugerir recursos. Os proprietários do gerenciamento e do produto ainda estão livres para determinar se o recurso vai a qualquer lugar. Não subestime a possibilidade de que um desenvolvedor com domínio e conhecimento técnico suficientes possa criar um recurso enorme e lucrativo que esteja completamente fora do plano de negócios original. Um proprietário do produto pode nunca ter a mesma ideia devido ao conhecimento técnico limitado.
Dan Lyons
1
Parece uma situação perigosa: significa que as pessoas de negócios para quem você trabalha não sabem o que estão fazendo. É SEU TRABALHO ser especialista nessa área. Caso contrário, por que eles estão lá? Seriamente. Se os desenvolvedores estão fornecendo esse tipo de insight, os desenvolvedores também podem apenas administrar a empresa. Qualquer outra coisa é desperdício.
RibaldEddie
Você nem sempre precisa de conhecimento de domínio detalhada para sugerir melhorias técnicas ...
Robbie Dee
5

Com sua palestra sobre desenvolvedores e proprietários de produtos, parece-me que você não tem uma pessoa do meio responsável pelos recursos da sua organização.

Bem, na minha organização, sou essa pessoa. Eu sou o engenheiro de requisitos, aquele que aprendeu a fazer boas especificações e escolher os recursos que resultam em um software de alta qualidade com design de interação amigável. (Em outras organizações, é a pessoa do UX que consegue o mesmo emprego, você pode estar mais familiarizado com esse termo).

E posso lhe dizer: obter uma boa especificação é difícil. Obviamente, os desenvolvedores odeiam fazê-lo. É um fardo para eles - eles estão lá para construir um software, para não pensar em jogos de poder entre as partes interessadas e nos modelos mentais de usuários preguiçosos. Mas você sabe o que? Também é um fardo para os proprietários do produto. Eles não sabem melhor quais recursos o software deve conter do que os desenvolvedores ou os usuários. Criar uma especificação viável é uma habilidade aprendida e, se você nunca aprendeu, não poderá ser bom nisso. Claro, existem muitos desenvolvedores e proprietários de produtos que podem fazê-lo, porque eles precisavam fazê-lo em projetos anteriores. Mas o proprietário ou desenvolvedor médio do produto luta com ele, porque naturalmente não é o trabalho deles fazê-lo. Nem todo mundo que pode dirigir um carro pode projetar um carro; similarmente,

Você pode desenvolver software sem um engenheiro de requisitos? Certamente você pode. Mas colocar todo o peso da especificação nos ombros do proprietário do produto não é justo nem bom para o resultado do projeto. Especialmente porque ele se depara com uma tarefa que é incomumente difícil para ele, obter ajuda e apoio de outras pessoas é muito útil. Se você estiver nessa situação, não olhe para o seu pobre proprietário de produto e diga "me diga o que fazer para você e eu farei você", ele realmente não sabe do que precisa. Mas uma discussão com você o ajudará a articular seus pensamentos e explorar suas idéias.

Quando não há engenheiro de requisitos na estrutura do projeto, há outro problema: não há moderador. Todos os desenvolvedores estão do lado técnico, todos os proprietários do produto estão do lado comercial. Quando as duas culturas se chocam, conflitos podem surgir, com cada lado julgando o outro estúpido e irracional (porque usa seu próprio sistema de valores para julgar). Portanto, converse com o proprietário do produto sobre os possíveis recursos, mas seja educado e paciente, mesmo quando achar que ele não merece; o sucesso do projeto depende de quão bem vocês dois podem se dar bem e, às vezes, tomar a decisão subótima é melhor do que tomar nenhuma decisão devido a conflito. Pode ser útil estabelecer uma hierarquia e dar a última palavra a um de vocês, pois isso evita conflitos de conflito. Se ele receber a última palavra, adie-a mesmo que você ache injusto.

Sobre a parte "passiva": se você não tem idéias, não tente criar algo apenas para mostrar atividade. Se o proprietário do produto já é inseguro e não conhece bons critérios para avaliar suas idéias, idéias estranhas "apenas para ter alguma coisa" tornarão uma situação já difícil ainda mais difícil. Apresentar boas idéias de recursos não é mágico, mas requer conhecimento. Se você não aprendeu isso com os livros, provavelmente precisará de alguns anos de experiência com desenvolvedores, especialmente em projetos nos quais está exposto a usuários ou dados de usabilidade gerados por usuários (análises, medições de satisfação) antes que seu cérebro decida os padrões por si mesmo. e você começa a perceber: há um problema aqui que podemos resolver. Parece que os usuários estão perdendo algo nesta página, O que pode ser? Então você terá boas idéias para compartilhar.

Conclusão 1: Em projetos sem engenheiro de requisitos, é bom fazer sugestões quando você os tiver. Faça com sensibilidade e tato - é imperativo evitar conflitos, mesmo que isso signifique que sua boa ideia é cortada pela raiz.

E se você estiver em uma equipe com um engenheiro de requisitos?

Eu adoro ouvir idéias de recursos de todos! Sim, às vezes as idéias dos desenvolvedores são terríveis (quando querem que a interface do usuário siga a lógica de programação). As idéias dos proprietários de produtos também costumam ser terríveis (quando querem o sol e a lua com um orçamento apertado - ah, e o usuário deve inserir páginas de informações pessoais com a mais alta qualidade de dados, sem receber nada em troca). Mas é meu trabalho apresentar uma especificação que seja boa para todos da equipe. E mesmo que sua ideia nunca funcione, ouvir isso me faz perceber que você tem uma preocupação. Você pode ter escolhido a solução errada a sugerir, mas isso não torna sua preocupação menos válida. Se você o localizou, provavelmente precisará ser abordado (ou eu preciso apresentar uma razão pela qual não é uma ameaça). Se você possui um engenheiro de requisitos responsável pela especificação, nunca hesite em procurá-lo com sugestões. Se eles não o ouvem, estão fazendo algo errado (observe que "considerar" não significa "aceitar").

Um engenheiro de requisitos deve visualizar o projeto do ponto de vista de cada parte interessada separadamente (e às vezes ao mesmo tempo). Nós somos apenas humanos, e falhamos com frequência. Se você está lá para fornecer seu ponto de vista verdadeiro, em vez do ponto de vista que achamos que você tem, sua opinião é muito valiosa.

Você pode ser mais livre em seu comportamento aqui. É meu trabalho fazer a dança da sensibilidade. Não seja abertamente agressivo, isso atrapalha meu trabalho, mas você precisa de menos autocontrole e consciência cultural / comunicacional, porque eu posso assumir a folga. Você também não está flutuando, em uma situação em que existem duas idéias conflitantes e ninguém pode julgar qual é a melhor. Eu deveria saber disso, e se não der certo, é minha cabeça no laço.

Conclusão 2: Se houver um engenheiro de requisitos na equipe, consulte-o com sugestões de recursos do produto. Você não precisa de luvas de veludo neste momento.

E, finalmente, e se não houver engenheiro de requisitos, o proprietário do produto estiver sobrecarregado e lutando por idéias, o chefe estiver olhando diretamente para você e você não tiver idéias para oferecer?

Você tem poucas opções. O primeiro é, como você mencionou, sair. Nem todas as organizações funcionam dessa maneira e, se esse ambiente não for adequado para você, encontre um melhor. Será bom para você a longo prazo.

Você também pode esperar e ver se algo muda. O próximo projeto pode ter um proprietário do produto mais experiente (ou um com mais liderança). Mas você não pode parar para sempre.

A terceira opção é realmente aprender alguns requisitos de engenharia por conta própria. Essa é uma habilidade muito procurada atualmente. Mesmo que você nunca planeje assumir posições em que é engenheiro de requisitos em tempo integral, essa habilidade aprimora seu valor como desenvolvedor, pois permite entender melhor os outros membros de sua equipe (e seus usuários) e torna o processo de desenvolvimento é mais tranquilo. E você não precisa se aprofundar nisso. Um livro básico que explica tarefas, fluxos de trabalho, modelos mentais e modelos de dados centrados no usuário já permitirá identificar muitas oportunidades de melhoria em um software projetado por uma equipe de empresários e desenvolvedores. Don ' Não procure os livros mais espessos, como referência para os acadêmicos (como a recente tradução de Pohl para o inglês) - eles são mais uma lista de todos os métodos possíveis para cada pequeno passo, sem uma explicação sobre como realmente fazê-los. Escolha algo orientado para a prática.

Se você tentar e achar que não tem interesse pessoal na área, tudo bem. Não se force a fazer algo que você não gosta. Mas você provavelmente deve estar procurando emprego em uma organização com uma estrutura de equipe diferente.

Conclusão 3: em vez de esperar anos para obter um entendimento intuitivo, leia um ou dois livros e você já terá boas idéias para fornecer

rumtscho
fonte
+1 Essa é uma resposta realmente abrangente. As "Conclusões" funcionam como um bem TL;DR.
James Khoury
4

Sim, é bastante normal.

Há um modelo bem conhecido de 80% de trabalho - 20% no google, onde as pessoas em 20% de seu tempo se dedicam a algo que gostam. Dessa forma, eles não apenas obtêm novos recursos, mas também produtos e serviços totalmente novos.

Estou sendo muito passivo, devo tomar a iniciativa e começar a enviar idéias aos proprietários do produto?

Isso depende da sua personalidade. Eu trabalhei com pessoas realmente apaixonadas, mas também com pessoas sem emoção que fazem o turno de 8 horas e vão para casa.

BЈовић
fonte
Parece que no Google os desenvolvedores estão passando parte do tempo sendo proprietários de produtos.
JeffO 11/02
Os funcionários do Google que trabalham em seus próprios projetos não são a mesma coisa, a menos que você esteja falando de outra iniciativa?
Robbie Dee
@RobbieDee Sim, certo. Eles trabalham em seus projetos, mas o Google vende serviços que saem dos projetos.
1128
O que quero dizer é que esses projetos não necessariamente residem na esfera de um projeto ágil existente. Eles podem ser completamente autônomos.
Robbie Dee