Time de Desenvolvimento: Construindo Alto Valor

5

O Time de Desenvolvimento

Time de desenvolvimento ou Dev Team é o nome dado aos membros do Time Scrum que realizam o trabalho da Sprint.

É importante entender a diferença entre os nomes no scrum, pois temos o “Time Scrum” e o “Time de Desenvolvimento“, o primeiro é composto por: Dono do Produto, Scrum Master e Time de Desenvolvimento, o Time Scrum está relacionado de forma ampla aos papéis do scrum, já o segundo diz respeito aos desenvolvedores.

Neste texto vamos falar sobre o Time de Desenvolvimento e saber mais sobre ele.

Antes de começarmos, vamos conhecer as características fundamentais de um Dev Team, são elas:

Auto-organizados, multifuncional, não reconhece títulos, não reconhece sub-times, responsabilidade mútua, tem tamanho minimo e máximo.

A seguir vamos ver mais sobre cada uma delas:

Auto-organização

O que diz o Guia do Scrum:

Eles são auto-organizados. Ninguém (nem mesmo o Scrum Master) diz ao Time de Desenvolvimento como transformar o Backlog do Produto em incrementos de funcionalidades potencialmente liberável

De acordo com a frase acima, podemos dizer que o Time de Desenvolvimento não funciona como em organizações tradicionais onde uma determinada equipe trabalha de acordo com a solicitação de um encarregado, supervisor, gerente, etc..

Em Times Scrum, os Membros do Dev Team se auto organizam para realizar o trabalho da Sprint.

Auto organização significa que como são eles que irão desenvolver o produto, muito provavelmente já tem alguma experiência, senão vasta experiência com o que aquele serviço e muitas vezes o “chefe” não tem o conhecimento técnico necessário, por isso em scrum recomenda-se que os desenvolvedores do produto decidam como fazer o trabalho da melhor maneira.

Times de Desenvolvimento Multifuncionais

O que diz o Guia do Scrum:

“Times de Desenvolvimento são multifuncionais, possuindo todas as habilidades necessárias, enquanto equipe, para criar o incremento do Produto”

O que significa um time multifuncional? Vamos dar um exemplo simples (imagine que você é gerente de uma empresa de desenvolvimento de sites) vejamos o problema abaixo:

Vamos supor que a empresa X solicita o desenvolvimento de um website moderno, que se adapte a vários dispositivos e que converta visitantes em clientes.

Vejamos as especialidades necessárias para o projeto: Arquitetura de software, programação, design gráfico, edição/redação, SEO, Banco de Dados, UX Design, Marketing Digital e por aí vai….

Como resolver esse problema se para sobreviver as empresas precisam cada vez mais ter equipes enxutas?

Simples, combine com seu departamento de RH que priorize a contratação de pessoas multifuncionais, para que quando houver uma necessidade como a apresentada acima, você garanta que as equipes se auto organizem de forma que com poucas pessoas seja possível realizar qualquer trabalho, já que cada um pode fazer muitas coisas e não apenas por exemplo, Banco de Dados…

Sugestão para resolver o problema apresentado: O Time deveria ter pelo menos, um arquiteto de software que também fosse programador, um Design gráfico que também entendesse de UX Design e Marketing Digital, um Redator que também entenda de SEO e fosse capaz de testar tudo o que estivesse sendo desenvolvido, dessa forma com apenas três membros, teríamos um Time de Desenvolvimento capaz de realizar o trabalho necessário para entregar o website de acordo com a necessidade do cliente.

O exemplo acima só foi mencionado para passar o conceito de multifuncional, não é um conselho técnico.

Não reconhece títulos 

O que diz o Guia do Scrum:

“O Scrum não reconhece títulos para os integrantes do Time de Desenvolvimento, independentemente do trabalho que está sendo realizado pela pessoa;”

No subtítulo anterior, quando falamos de multifuncionalidade, citamos títulos como: programador, design gráfico, etc.. Mas como isso é possível se no Guia do Scrum não reconhece títulos para integrantes do Dev Team? É muito simples, pessoas precisam entender de algo, isso é sobre especializações ou áreas de especialidade, e é assim que pessoas constroem carreiras, sustentam suas famílias e constroem seus sonhos, queremos deixar claro que em momento nenhum o Scrum desmerece o título das pessoas, a questão aqui é sobre o sentido de “time” quer dizer que todos são importantes para a entrega do produto, por isso são tratados como times.

Não reconhece sub-times

O que diz o Guia do Scrum:

“O Scrum não reconhece sub-times no Time de Desenvolvimento, independente dos domínios de conhecimento que precisam ser abordados, tais como teste, arquitetura, operação ou análise de negócios”

Em um Time de Desenvolvimento todas as pessoas tem importância fundamental, não adianta uma pessoa fazer sua parte e a outra não fazer, o mesmo exemplo serve para um time de futebol, todo mundo tem o seu papel, desde o atacante, o meio de campo, o goleiro, é o time trabalhando junto que produz o resultado da vitória, em Scrum não é diferente.

Responsabilidade como um todo

O que diz o Guia do Scrum:

“Individualmente os integrantes do Time de Desenvolvimento podem ter habilidades especializadas e área de especialização, mas a responsabilidade pertence ao Time de Desenvolvimento como um todo”

Em equipes tradicionais os trabalhos costumam ser desenvolvidos separadamente, voltando ao exemplo dado acima sobre o desenvolvimento do website institucional, aqui nós teríamos um projeto passando pela mão de todos de maneira aleatória, ex: o Arquiteto de software planejaria a estrutura e as funcionalidades do website, o design gráfico criaria as artes o redator escreveria os textos, etc… Cada um dos citados acima teria feito a sua parte, mas se a pessoa que faz os testes não tivesse feito a parte dela e na entrega o website falhasse, o testador seria culpado(a) e então provavelmente seria punido.

Em um Time de Desenvolvimento Scrum a responsabilidade é de todos, todos se esforçam para que tudo seja feito, pois se houver fracasso, todos são responsabilizados, por outro lado, sempre que houver coisas boas, todos serão parabenizados, este é um conceito importante em Times Scrum.

“Um por todos e todos por um”. Esta frase faz sentido para você?

Time de Desenvolvimento: Tamanho Ideal

O que diz o Guia do Scrum:

“O tamanho ideal do Time de Desenvolvimento é pequeno o suficiente para se manter ágil e grande o suficiente para completar um trabalho significativo dentro da Sprint.”

De acordo com o Guia do Scrum, times devem ter entre 3 e 9 membros, times menores que isso podem ser prejudicados por barreiras de conhecimento e o risco de um projeto não ser entregue é grande.

Observação: Você pode ouvir que Times Scum podem ter entre 5 e 11 membros, isso é verdade, mas lembre-se que Time Scrum e Time de Desenvolvimento são coisas distintas.

Voltando ao exemplo citado mais acima, se fosse formada uma equipe de desenvolvimento com menos de três membros, por exemplo com dois, pode ser que esses dois membros não tivessem todos os conhecimentos necessários para fazer tudo o que fosse necessário.

O Guia do Scrum também diz que Times de Desenvolvimento não devem ser maiores que 9 membros, essa premissa é baseada na Lei de Brooks.

Tamanho do Time de Desenvolvimento
Applying Brooks’ Law to Lines of Communication and Team Size

Havendo mais de nove integrantes é exigida muita coordenação. Times de Desenvolvimento grandes geram muita complexidade para que um processo empírico seja útil.

Os papéis de Product Owner e Scrum Master não são incluídos nesta contagem, a menos que eles também executem o trabalho do Backlog da Sprint.

Quando Scrum Master ou Dono do Produto fazem parte do Dev Team podem haver conflitos de interesses, então essa prática não é incentivada pelo scrum.

Time de Desenvolvimento: Melhoria Contínua

Para que Times de Desenvolvimento se tornem e/ou se mantenham ágeis eles precisam aplicar técnicas de melhoria continua, ou seja, se observar como pessoa, como profissional identificar pontos de atenção e buscar evoluir e superar limitações, buscar conhecimentos novos e/ou complementares a sua área de conhecimento para garantir que seus Times tornem-se maduros a ponto de entregarem cada vez mais, maior valor para o cliente final.

O Scrum Master tem papel fundamental neste processo, ele deve ajudar os membros do Time de Desenvolvimento a melhorarem como pessoas e como profissionais a cada dia, como já mencionado aqui no blog, o Scrum Master é um coach para os demais.

Time de Desenvolvimento: Conclusão

Para concluir, podemos dizer que o Time de Desenvolvimento em Scum não é um time convencional que trabalha em iniciativas separadas e aleatórias.

Em primeiro lugar, times de desenvolvimento seguem parâmetros que fazem com que eles sejam mais produtivos.

Em segundo lugar, eles são responsáveis pelo trabalho técnico, ou seja, eles sabem exatamente o que e como fazer.

Times Scrum podem ser considerados como um grupo unido que se esforçam juntos para garantir que o resultado do trabalho seja o melhor possível, em Scrum não existe um culpado por um falha específica, mesmo que diga respeito a falha de um membro específico, mesmo a falha sendo reconhecida, não se culpa uma pessoa, o time como um todo deveria ter garantido que a falha não acontece-se.

Por fim, podemos dizer que o Time de Desenvolvimento tem tudo que precisa para evoluir e construir o melhor que se pode esperar de uma equipe ou de uma empresa em qualquer que seja a área em que se pretenda entregar algo.

Com isso concluímos nosso artigo, espero que tenha gostado e fique a vontade para comentar, dúvidas ou sugestões são bem vindas!

Referências do artigo: Scrum Guide oficial 

5 COMENTÁRIOS