quinta-feira, 7 de janeiro de 2010

Papéis no Scrum

Oi pessoal,

Este texto faz parte do material da apostila de Scrum do Abu versão 2.0.

Por favor, fiquem a vontade para fazer criticas com relação a ortográfica e a parte técnica. O e-mail de contato é abuzitos@gmail.com

Após a correção técnica e ortográfica o material vai ser disponibilizado para download.

Novo tabuleiro do Processo do Scrum do Abu - http://blogdoabu.blogspot.com/2009/12/novo-tabuleiro-do-processo-do-scrum.html

Abraços,

Abu



Scrum possui apenas três papeis, sendo eles: Product Owner, Scrum Master e a Equipe.

Product Owner (PO)

Conhecido também como dono do produto é o responsável pela definição do projeto, levando a equipe de desenvolvimento o que chamamos de Visão do Produto.

Uma vez transmitida a Visão do Produto a equipe de desenvolvimento o dono do produto é responsável pela priorização dos requisitos e definição dos mesmos.

O Product Owner pode mudar as priorizações, adicionar ou remover novos requisitos conforme as suas necessidades. Ele apenas não pode mudar o trabalho que já está em codificação pela equipe de desenvolvimento.

Uma das grandes chaves de sucesso do Scrum está no Product Owner, por intermédio da definição e clareza dos requisitos. Os requisitos não devem chegar parcialmente definidos a equipe de desenvolvimento, caso isso ocorra a capacidade de produção da equipe vai diminuir.

O Product Owner também é responsável pelo retorno de investimento (ROI) do projeto. É difícil definir ROI, mas no Scrum ele se materializa com a priorização dos requisitos e codificação dos mesmos. No Scrum a entrega o mais rápido possível ao Product Owner dos módulos que ele tem necessidade caracteriza ROI e o Product Owner com o sistema em funcionamento pode avaliar o que está sendo construído ou até mesmo utilizá-lo o mais rápido possível.

Também uma das chaves de sucesso do Scrum com o Product Owner está na sua disponibilidade a equipe de desenvolvimento de software. As vezes ter o Product Owner sempre disponível é difícil, mas é uma meta a ser seguida.

Devemos lembrar que o Product Owner é o representante do cliente e a equipe de desenvolvimento de software tem que atender as suas expectativas e orientações. O Product Owner tem o poder de aceitar ou rejeitar um trabalho realizado pela equipe de desenvolvimento de software.

Scrum Máster (SM)

O Scrum Máster é uma pessoa da equipe de desenvolvimento do software que possui algumas responsabilidades diferentes dos demais. Entre as responsabilidades está a de manter o processo do Scrum ativo, garantindo que o projeto vai ser realizado seguindo as boas praticas do Scrum.

Também faz parte das responsabilidades do Scrum Master identificar todos os problemas que estão ocorrendo durante o desenvolvimento do sistema, que faz com que a capacidade de produção da equipe diminua ou até mesmo não permita que a equipe continue trabalhando. Estes problemas nos chamamos de obstáculos ou impedimentos e devem ser solucionados pelo Scrum Master. Quando o Scrum Master não tem condições de solucionar o impedimento ele deve buscar a pessoa que pode resolver o problema identificado.

A produtividade da equipe é mais uma responsabilidade do Scrum Master, pois ele deve fazer com que a equipe de desenvolvimento do sistema fique focada o maximo possível na sua área de atuação, que é a construção do software. Neste ponto nos falamos que o Scrum Master tem que ser uma blindagem da equipe, não permitindo que eventos externos atrapalhem os trabalhos que estão sendo realizados.

Um ponto importante é que o Scrum Master não tem que ter autoridade sobre a equipe, isto é, qualquer integrante da equipe de desenvolvimento de software pode ser o Scrum Master e até mesmo fazer um rodízio desta responsabilidade. A troca de Scrum Master entre as pessoas da equipe deve ser realizada com cautela, nunca a cada sprint (fase, ciclo ou iteração) de desenvolvimento e sim por projeto ou por versões (releases) do sistema.

Podemos ter também um Scrum Master coringa, para que caso o Scrum Master do projeto não possa estar presente com a equipe, uma pessoa da equipe já saiba que ele é o responsável por executar as atribuições de trabalho do Scrum Master.

Equipe (EQ)

É a responsável pela execução do projeto, sendo protegida pelo Scrum Master e tendo como foco o atendimento das necessidades do Product Owner.

Uma equipe em Scrum é constituída de no mínimo 2 pessoas e no maximo de 7 pessoas. As equipes são menores para potencializar uma das maiores armas do Scrum, a comunicação entre a equipe.

Três pessoas nos temos uma comunicação direta entre cada integrante da equipe, conforme a equipe vai aumentando a complexidade de comunicação entre todos os integrantes vai aumentando.

Equipes enxutas chegam a ter a sua capacidade de produção melhor que equipes grandes. Este aumento de velocidade ocorre em virtude da potencialização da comunicação entre os integrantes da equipe.

Complexidade da Comunicação



A formação da equipe é multidisciplinar, sendo ela constituída de: Engenheiros de Software, Arquitetos, Programadores, Analista, Peritos em Qualidade, Testadores, Web designers.

Mas em Scrum as equipes são generalistas e não especialistas. Todos os integrantes da equipe podem e devem desempenhar todos os papeis, conforme a necessidade e definição da equipe.

Nos utilizamos equipes multidisciplinares e generalistas para que o projeto possa ter uma velocidade de execução maior e uma redução de riscos com relação a definição do produto que está sendo realizado. Os generalistas permitem com que todas as pessoas do projeto sempre executam qualquer atividade. Com a equipe generalista nos passamos a potencializar a capacidade de produção que o nosso projeto possui, removendo o risco de um integrante da equipe ficar parado aguardando o trabalho que deve ser executado ficar disponível. Os multidisciplinares permitem a redução do risco nas definições do produto, permitindo a integração das mais diversas áreas na busca de um produto melhor.

As equipes em Scrum são auto-organizadas, isto é, elas definem a sua forma de trabalho e evoluem está forma de trabalho pela sua própria avaliação de como está sendo executado o projeto.

Dentro da equipe de Scrum é instituído o conceito de auto-gestão, onde a equipe passa a ter autonomia de tomada de decisão para o seu foco de atuação, que é o de desenvolver o sistema solicitado pelo Product Owner.

Nenhum comentário: