Time Scrum. Fonte: Bruno Barros |
O Time Scrum é uma equipe de pessoas que estão juntas para atingir um objetivo em comum através do Framework Scrum. Ele é composto por um Product Owner, o Time de Desenvolvimento e um Scrum Master. O modelo do Time Scrum foi projetado para otimizar a flexibilidade, a criatividade e a produtividade. Times Scrum intregam produtos de forma iterativa e incremental, maximizando o feedback dos seus clientes. Desta forma temos sempre uma atualização disponível daquele produto.
O Product Owner
O Product Owner é responsável por maximizar o valor do produto que é entregue pelo Time de desenvolvimento. Como isto é feito pode variar de acordo com a organização, time ou indivíduo.
Ele é uma pessoa e não um grupo. Suas decisões podem representar os ideais de um grupo, mas as responsabilidades, por exemplo a de gerenciamento do Backlog, são vinculadas somente ao Product Owner.
Para que o Product Owner tenha sucesso, suas decisões devem ser respeitadas. Suas decisões devem estar visíveis por todos os envolvidos através do Product Backlog. Ninguem pode forçar o Time de Desenvolvimento a trabalhar em outros requisitos além dos que foram definidos pelo Product Owner.
Como o Product Owner é uma pessoa que gerencia o Product Backlog, eis aqui algumas das suas funções de gerenciamento:
- Explicar claramente cada Item do Product Backlog;
- Organizar os itens do Backlog para melhor atingir os objetivos e missões;
- Otimizar o valor do trabalho executado pelo time de desenvolvimento;
- Garantir que o Product Backlog esteja visível, transparente e claro para todos, e mostre o que será trabalhado mais adiante;
- Garantir o entendimento dos itens do Product Backlog no nível necessário;
O Product Owner pode delegar as atividades mencionadas acima para o time de desenvolvimento, mas ele continua sendo o responsável por elas.
- Facilitando eventos Scrum conforme solicitado ou necessários;
- Treinando o Time de Desenvolvimento em ambientes organizacionais em que Scrum ainda não está totalmente adotado e compreendido;
O Scrum Master auxilia a organização através das seguintes formas:
- Planejando implementações Scrum dentro da organização;
- Ajudar os funcionários e as partes interessadas a compreender e promover o desenvolvimento de produtos Scrum;
- Criando mudanças que aumentam a produtividade do Time Scrum;
- Trabalhando com outros Scrum Masters para aumentar a eficácia da aplicação do Scrum na organização.
- Garantir que o Product Backlog esteja visível, transparente e claro para todos, e mostre o que será trabalhado mais adiante;
- Garantir o entendimento dos itens do Product Backlog no nível necessário;
O Product Owner pode delegar as atividades mencionadas acima para o time de desenvolvimento, mas ele continua sendo o responsável por elas.
O Scrum Master
O Scrum Master é um servente-líder que possuí a responsabilidade de promover e dar suporte do Scrum para todo o Time Scrum. É ele quem leva a todos à entenderem a Teoria do Scrum, práticas, regras e valores. O Scrum Master ajuda aos que estão fora do Time Scrum a entenderem como devem interagir com o Time Scrum. Ele promove a mudança nas interações para maximizar o valor do produto criado ao final da Sprint.
O Scrum Master trabalha para o Product Owner de várias formas, eis algumas:
- Garantindo que todos do Time Scrum entendam as metas, escopo e produto da melhor forma possível;
- Encontrar técnicas para o efetivo gerenciamento do Product Backlog;
- Ajudar o Time Scrum a entender a necessidade de itens claros e concisos do Product Backlog;
- Compreender o planejamento do produto em um ambiente empírico;
- Garantir que o Product Owner saiba como organizar os itens do Product Backlog;
- Entender e praticar a agilidade;
- Facilitar a concretização dos eventos do Scrum conforme solicitado ou necessário;
O Scrum Master auxilia o Time de Desenvolvimento através de diversas maneiras, incluído:
- Instruindo a equipe de desenvolvimento a ser auto-organizável e multifuncional;
- Ajudando a equipe de desenvolvimento a criar produtos de alto valor;
- Removendo impedimentos ao progresso da equipe de desenvolvimento;
- Facilitando eventos Scrum conforme solicitado ou necessários;
- Treinando o Time de Desenvolvimento em ambientes organizacionais em que Scrum ainda não está totalmente adotado e compreendido;
O Scrum Master auxilia a organização através das seguintes formas:
- Planejando implementações Scrum dentro da organização;
- Ajudar os funcionários e as partes interessadas a compreender e promover o desenvolvimento de produtos Scrum;
- Criando mudanças que aumentam a produtividade do Time Scrum;
- Trabalhando com outros Scrum Masters para aumentar a eficácia da aplicação do Scrum na organização.
O Time de Desenvolvimento
O Time de Desenvolvimento é um grupo de pessoas que trabalham para entregar um incremento utilizável de um produto. O lançamento deste incremento deve ser mostrado durante a Sprint Review. Somente os integrantes do Time de Desenvolvimento é quem podem criar este incremento. O Time de Desenvolvimento deve ser capaz de gerenciar e organizar as o seu trabalho.
Quanto ao tamanho, é recomendável ter um time com três à nove pessoas. Com menos de três membros, a interação diminui e os ganhos em produtividade se tornam pequenos. Times de Desenvolvimento muito pequenos podem conter limitações de habilidades, isto leva a criação de um produto com pouca criatividade e qualidade. Tendo mais que nove membros, a complexidade de gerenciamento aumenta. Times muito grandes requerem um nível de gerenciamento de trabalho maior, sem contar que o controle dos processos empíricos se tornam impraticáveis. O Product Owner e o Scrum Master não fazem parte dentro do Time de Desenvolvimento.
O Time de Desenvolvimento possui as seguintes características:
- São auto-organizáveis. Ninguém (nem mesmo o Scrum Master) diz ao Time de Desenvolvimento como eles devem transformar o Product Backlog em um incremento lançável;
- São multi-funcionais. Ele possui todas as habilidades necessárias para a construção de um incremento lançável;
- Não reconhece títulos para membros do Time de Desenvolvimento. As pessoas não possuem títulos que denotem uma funcionalidade desempenhada naquela equipe;
- Não reconhece subgrupos dentro do Time de Desenvolvimento, mesmo que estes estejam vinculados à tarefas específicas como testes, arquitetura, operações, análise de negócio e etc;
- Membros do Time de Desenvolvimento podem possuir habilidades específicas e áreas de especialização, mas a responsabilidade de entregar o incremento do produto é de todos.
Referências:
- http://www.fabiocruz.com.br/valores-scrum/, acessado em 08/01/2018.
- Ken Schwaber and Jeff Sutherland, The Scrum Guide, 2017, Creative Commons.
- https://www.scrum.org/, acessado em 27/12/2017
- PRESSMAN, Roger S. Engenharia de Software, Oitava Edição. Editora MCGrawHill: Porto Alegre, 2016.
Lindo na teoria, porém um pouco complicado de seguir tudo conforme o SCRUM indica... Normalmente há adaptações para cada equipe. Uso SCRUM e realmente agiliza o processo de dev.
ResponderExcluir