segunda-feira, 12 de fevereiro de 2018

Time Scrum e suas peculiaridades


                     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.


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. 



Um comentário:

  1. 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