O que é realmente uma "equipe multifuncional"? [fechadas]

18

O significado geral de "equipe multifuncional" é uma equipe que combina especialistas em diferentes campos necessários para atingir a meta.

Mas parece que na funcionalidade cruzada ágil significa não apenas combinar diferentes especialistas, mas fazê-los se misturar. Henrik Kniberg define a equipe multifuncional da seguinte maneira: "A funcionalidade multifuncional significa apenas que a equipe como um todo tem todas as habilidades necessárias para criar o produto e que cada membro da equipe está disposto a fazer mais do que apenas suas próprias coisas".

Mas onde é traçada a linha? É normal pedir aos desenvolvedores que se tornem testadores para uma iteração, se necessário?

SiberianGuy
fonte
É comum que cada desenvolvedor esteja testando seu código. Por exemplo, a equipe Scrum não deve ter especializações - todos devem ser capazes de escrever e testar código. O motivo é que, no início da iteração (sprint), não há nada para testar; portanto, o testador puro não tem nada a fazer.
Ladislav Mrnka
2
@LadislavMrnka Cross-functional não significa que você ainda não deve ter especialistas!
Michael
@ Michael: Sim, você pode ter especialistas, mas eles devem ser multifuncionais = devem ser capazes de executar outras tarefas também.
Ladislav Mrnka
Ser especialista não significa saber uma coisa à custa de todas as outras.
Jeffo
3
Por que tantas vezes vejo conversas sobre "programadores devem poder testar", mas nunca "testadores devem poder programar"?
Steve Folly

Respostas:

11

Minha opinião é que uma equipe multifuncional é uma equipe que inclui pessoas das diferentes funções de uma empresa: engenharia, TI, redação técnica, marketing, finanças, jurídico, vendas, RH, operações, qualidade e executivo.

Nas empresas maiores, essas "funções" são colocadas em silos (linhas de gerenciamento), mas, para fazer as coisas, você geralmente precisa do tempo de alguém de todas elas.

Se você estiver fazendo TDD ou algo parecido, sim, é perfeitamente normal.

No entanto, em geral, a responsabilidade de assinar o trabalho do desenvolvedor não deve estar nas mãos desses mesmos desenvolvedores.

Peter K.
fonte
2
É exatamente isso que a funcionalidade cruzada não está em metodologias ágeis como o Scrum.
Ladislav Mrnka
1
@Lislislav Mrnka: Não ficou claro pela pergunta que isso era específico do Agile. Nas metodologias ágeis, ainda acho que está. Em qualquer metodologia, às vezes você precisa fazer algo fora da sua área de especialização ("função") para realizar o trabalho. C'est la vie, c'est la guerre!
Peter K.
Por que "a responsabilidade de assinar o trabalho do desenvolvedor não deve estar nas mãos desses mesmos desenvolvedores"? Não se você quiser diminuir o tempo de ciclo.
Todd Owen
@ToddOwen E diminua a qualidade do software.
Peter K.
@ Downowner: Algum comentário sobre o porquê de você não concordar? :-)
Peter K.
7

Uma equipe multifuncional é aquela em que especialistas funcionais de diferentes domínios se reúnem para definir o que criar e avaliar se o que está sendo construído é útil. Em um ambiente ágil, essas avaliações acontecem frequentemente.

No entanto, os especialistas em domínio determinarão como executar sua parte específica de um projeto . Os desenvolvedores de software desenvolverão software. Os testadores testarão. O pessoal de operações executará o software e assim por diante.

Ter as opiniões de desenvolvimento, teste e operações é extremamente útil na definição de um bom produto, e é aí que reside o valor das equipes multifuncionais.

Jay Godse
fonte
Não acho que a equipe defina o que construir, mas como construí-lo. O proprietário do produto decide o quê. Também acho que os membros da equipe não devem limitar suas atividades a um domínio em que são especialistas. A idéia é executar as tarefas que precisam ser realizadas para atingir o objetivo da equipe, criar um produto com qualidade de produção.
Kwebble
4

Uma boa equipe multifuncional possui e precisa de pessoas que são 'valiosas em todas as negociações', mas também são mestres em algumas . Geralmente um ou dois.

Por exemplo, naqueles em que trabalhei. Sou especializado em C ++ e em algumas linguagens da Web, mas sei cerca de um milhão. Sou fluente em edição de vídeo e mídia 3D e esse tipo de coisa ao lado, além de negócios e gerenciamento de projetos. Portanto, nessa equipe bastante pequena que realiza grandes projetos, eu fazia alguns códigos hardcore a maior parte do dia e passava parte dele trabalhando duro no site e preparando diferentes mídias.

Não são muitos os projetos que usam todas as minhas habilidades, mas, para contar com vários, acho que é 'funcionalidade cruzada'. Algumas vezes é um design realmente bom e eficiente, outras nem tanto.

Graças a Deus quando eu não tenho que ser um desenvolvedor / administrador de rede .. isso não é divertido. Essas pequenas empresas na minha área são insanas. Quem confia em sua rede para programadores, sheesh. A última coisa que você quer é me ver tentar 'depurar' sua tabela de roteamento: P

Garet Claborn
fonte
4

Uma "equipe multifuncional", na minha opinião, é mais um grupo de generalistas que se reúnem para fazer o trabalho. A vantagem está na versatilidade de lidar com diferentes tipos de tarefas, pois não há o gargalo que aconteceria em um grupo de especialistas em que algumas pessoas podem apenas executar algumas tarefas.

Sim, é normal que os desenvolvedores se tornem testadores se for necessário concluir o trabalho de uma iteração.


A funcionalidade multifuncional pode se enquadrar nesse território, onde é uma palavra da moda que pode ter vários significados, dependendo da empresa. Alguns podem considerar o nível mais alto, onde um desenvolvedor pode ser qualquer coisa, desde um esquilo a um CEO temporário e outros podem vê-lo muito mais especializado, de modo que são usados ​​diferentes tipos de desenvolvedores. Um desenvolvedor pode precisar ser analista de negócios, administrador de sistema ou testador algumas vezes. Lembro-me de alguns anos atrás, onde eu tinha acabado de iniciar um trabalho e outro desenvolvedor e estava testando um lançamento como uma de nossas primeiras tarefas, pois havia uma escassez de testadores naquele momento para testá-lo adequadamente.

JB King
fonte
1
Eu não acho que os desenvolvedores testadores se encaixam na definição interfuncional. Isso parece mais um cenário do tipo tudo de bom, em que os desenvolvedores também testam, recebem ligações de vendas, saem e compram café para reabastecer o escritório, etc., o que pode ser típico em uma startup. Um cenário multifuncional parece mais uma situação em que, por exemplo, você pode ser um desenvolvedor e eu posso estar em marketing, mas estamos trabalhando juntos como uma equipe para criar e comercializar o produto.
jmort253
2

Uma equipe multifuncional não se refere apenas a áreas de especialização, mas a atitudes em relação à realização de tarefas. Os membros se intensificam e assumem as tarefas em mãos. Você não ouve: "Esse não é o meu trabalho".

As restrições em um projeto nem sempre são técnicas. Às vezes, você não tem o luxo de contratar um especialista em todas as tarefas e exige apenas que todos trabalhem em sua área preferida.

Você nunca quer afastar os desenvolvedores da codificação, mas em algumas equipes isso não pode ser ajudado. Normal é relativo.

JeffO
fonte