terça-feira, 25 de dezembro de 2012

Time Scrum, Papéis e Aspectos do Framework

Olá, pessoal vamos prosseguir com o Scrum e para fechar o assunto vamos falar hoje sobre o time, papeis de cada um e aspectos deste Framework. Espero que gostem!
Como vimos no post anterior esse Framework utiliza algumas reuniões para delinear seu processo de incremento do produto que ocorre através das Sprints. Então vamos ver quem faz parte do Time Scrum.

O Time Scrum: O time Scrum é composto por desenvolvedores que transformam o Backlog do produto em incrementos de funcionalidades potencialmente entregáveis em cada Sprint. Membros do tipo Scrum frequentemente possuem conhecimentos especializados, como programação, controle de qualidade, analise de negocio, arquitetura, projeto de interface de usuário ou projeto de banco de dados.
Os Times Scrum são auto-organizáveis e cada componente pode atuar em áreas especificas de seu conhecimento como em outras áreas conforme necessidade, mesmo que isso exija do componente aprender e desenvolver novas habilidades.
O tamanho ótimo para um time Scrum é de sete pessoas contato com variação de dois para mais ou para menos. Quando há cinco ou menos membros no time, há menor interação e, como resultado, há menor ganho de produtividade. Ainda pode-se encontrar dificuldade técnicas que acarretaram dificuldades em entregar partes da Sprint trabalhada.
Quando o time possui nove componentes ou mais, há uma necessidade maior de coordenação do time. Times grades geram muita complexidade para que um processo empírico consiga gerenciar.
O Product Owner e o Scrum Master não estão incluídos na conta das equipes, a menos que estes executem mais de um papel na instituição.
A composição do time Scrum pode mudar ao final da Sprint, porém, toda vez que o time muda, o ganho de produtividade reduz porque a auto-organização do time requer entrosamento entre a equipe.

Product Owner: Product Owner é a única pessoa responsável pelo gerenciamento do Backlog do Produto e por garantir o valor do trabalho realizado pelo Time, ele é o dono do produto!
Essa pessoa matem o backlog do produto e garante que ele esta visível para todos. O Product Owner é uma pessoa e não um comitê, por tanto, mesmo que se tenha um comitê que define prioridades do produto, essa prioridade será representada pelo Product Owner e ele é o responsável por seu Backlog.
Para que o Product Owner obtenha sucesso, todos na organização precisam respeitar suas decisões. Ninguém tem permissão de dizer ao Time Scrum para trabalhar em outro conjunto de prioridades uma vez que o Product Owner é quem defini as prioridades do Backlog do Produto.

ScrumMaster: O ScrumMaster é o responsável por garantir que o time Scrum esteja aderindo aos valores do Scrum, às praticas e as regras. O ScrumMaster educa o time treinando-o e levando-o a ser mais produtivo e a desenvolver produtos de maior qualidade.
O papel do ScrumMaster é ajudar o time Scrum a entender e usar o autogerenciamento e interdisciplinaridade. No entanto, o ScrumMaster não gerencia o time Scrum; o time Scrum é auto-organizável.

O Framework Scrum, consiste ainda em trabalhar com eventos com duração fixa, artefatos e regras e agora vamos conhecer um pouco mais dessa parte importante para o processo.

Eventos de duração Fixa: no primeiro post, vimos que temos reuniões especificas para cada etapa e cada reunião possui um Time-boxe, ou seja, uma duração fixa.
As reuniões presentes no Scrum e que possuem um time-boxe especifico são:
Reunião de Planejamento da Versão para Entrega: O propósito dessa reunião é estabelecer um plano e metas que o time Scrum e o resto da organização possam entender e comunicar. Essa etapa responde a pergunta: “Como podemos transformar a visão em um produto vencedor da melhor maneira possível?
O plano da versão para entrega estabelece a meta da versão, as maiores prioridades do backlog do produto, os principais riscos e as características gerais e funcionalidades que estarão contidas na versão. Ela estabelece também uma data de entrega e custo prováveis que devem manter se nada mudar.
Ao se utilizar o Scrum, os produtos são construídos interativamente, de modo que cada sprint cria um incremento do produto, iniciando pelo de maior valor e maior risco. Mas e mais Sprints vão adicionando incrementos ao produto. Cada incremento é um pedaço potencialmente entregável do produto completo.
Quando já tiverem sido criados incrementos suficientes para que o produto tenha valor e uso para seus investidores, o produto é entregue.

Sprint: Sprint é o tempo em que o time Scrum se dedica para desenvolver o Backlog de produto definido na Reunião de planejamento da Sprint. Durante a Sprint, o ScrumMaster garante que não será feita nenhuma mudança que possa afetar a Meta da Sprint. Tanto a composição do time quanto as metas de qualidade devem permanecer constantes durante a Sprint.
As Sprints ocorrem uma após a outra, sem intervalos entre elas. O Scrum é um framework para projetos cujo horizonte não é superior ao período de um mês, onde já há complexidade suficiente para tal que um horizonte mais longo seria arriscado demais. A previsibilidade do projeto deve ser controlada pelo menos a cada mês, e o risco de que o projeto saia de controle ou se torne imprevisível é contido pelo menos a cada mês.
Somente o Product Owner tem o poder para cancelar uma Sprint, embora ele possa fazê-lo sob influencia das partes interessadas, do Time Scrum ou do ScrumMaster. A gerencia pode solicitar ao Product Owner que cancele uma Sprint sob varias situações como: Mudança de estratégia da corporação, Tecnologia, mudanças de mercado, etc. Em gera uma Sprint só deve ser cancelada se esta não fizer mais parte das circunstancias atuais.
O cancelamento de uma Sprint é traumático e consome recursos já que todos terão que se reagrupar em outra reunião de planejamento de Sprint para iniciar nova Sprint.

Revisão da Sprint: Ao final da Sprint, é feita uma reunião de revisão da Sprint. Para Sprints de um mês, essa é uma reunião com duração de 4 horas e proporcional a Sprints de menor período.
Durante a Revisão da Sprint, o time Scrum e as partes interessadas colaboram sobre o que acabou de ser feito. Baseados nisso e em mudanças no Backlog do Produto feitas durante a Sprint, eles colaboram sobre quais são as próximas coisas que podem ser feitas.
A reunião inclui o Product Owner, o Time Scrum e o ScrumMaster e fornece entradas valiosas para as reuniões de planejamento de Sprints seguintes.

Retrospectiva da Sprint: Essa reunião acontece antes da próxima reunião de planejamento da  Sprint. Nesta reunião, com duração fixa em três horas, o ScrumMaster encoraja o Time a revisar, dentro do modelo de trabalho e das práticas do processo do Scrum, seu processo de desenvolvimento, de forma a torna-lo mais eficaz e gratificante para a próxima Sprint.
A finalidade da Retrospectiva é inspecionar como correu a última Sprint em se tratando de pessoas, das relações entre elas, dos processos e das ferramentas. A inspeção deve identificar e priorizar os principais itens que correram bem e aqueles que, se feitos de modo diferente, poderiam ter deixado as coisas ainda melhores. Isso inclui a composição do Time, preparativos para as reuniões, ferramentas, definições de “pronto”, métodos de comunicação e processos para transformar itens do Backlog do produto em alguma coisa pronta.
Ao final da retrospectiva, o Time Scrum deve ter identificado medidas de melhoria factíveis e essas mudanças se tornaram a adaptação para a inspeção empírica da próxima Sprint.

Reunião Diária: Cada Time se encontra para uma reunião de 15 minutos, sendo essa reunião realizada sempre no mesmo lugar e horário.
Durante a reunião cada membro explica:
1 - O que realizou desde a ultima reunião diária?
2 – O que ele vai fazer antes da próxima reunião diária (que será a próxima reunião)?
3 – Quais obstáculos estão em seu caminho?
As reuniões diárias melhoram a comunicação, eliminam outras reuniões, identificam e removem impedimentos para o desenvolvimento, ressaltam e promovem a tomada de decisão, melhoram o nível de conhecimento de todos acerca do projeto.
O ScrumMaster garante que o time realize essa reunião, ensina o time a manter a reunião com o prazo estipulado reforçando as regras garantindo que as pessoas falem brevemente. O ScrumMater também enfatiza a regra em  que somente o time tem poder de fala nesta reunião.
A reunião diária não é uma reunião de status, ela é uma reunião de acompanhamento e inspeção do progresso em direção a meta da Sprint. Só participam pessoas do time Scrum que estão transformando o backlog de produtos em um incremente utilizável. A intenção é sempre otimizar a probabilidade de que o time alcance a meta da sprint.
 

Pessoal, o Scrum é muito mais que um simples Framework ou metodologia.Conheça mais de seus processos pesquisando as referencias abaixo e nos fale de suas experiencias.

No mercado existem profissionais certificados em desenvolvimento utilizando o Scrum, para saber mais acesse: http://www.scrum.org/Assessments/Professional-Scrum-Master-Assessments


Referencias usada para esse artigo:
Guia do Scrum – Ken Schwaber, maio de 2009.
http://pt.wikipedia.org/wiki/Scrum

quinta-feira, 6 de dezembro de 2012

Scrum - Conceitos básicos



Olá, pessoal hoje vamos falar sobre Scrum esse framework que tem se tornado uma metodologia muito utilizada em empresas que precisam otimizar seus processos.

Primeiramente é importante esclarecer que Scrum não é um processo ou uma técnica para o desenvolvimento de produtos. Ao invés disso, é um Framework dentro do qual é possível empregar diversos processos e técnicas.

Na teoria o Scrum é fundamentado em processos empíricos e emprega uma abordagem interativa e incremental para otimizar a previsibilidade e controlar riscos. Num processo empírico existem três pilares básicos que o sustentam, são eles: A Transparência, a Inspeção e a Adaptação. Vamos falar um pouco mais desses pilares.

A transparência: A transparência garante que aspectos do processo que afetam o resultado devem ser visíveis para aqueles que gerenciam os resultados.

A Inspeção: Os diversos aspectos do processo devem ser inspecionados com uma frequência suficiente para que as variações inaceitáveis no processo possam ser detectadas o quanto antes.

A Adaptação: Se o processo é transparente, ou seja, sabe-se o que será produzido e entregue e através da Inspeção se garante que nada vai sair do planejado, logo a adaptação não seria necessária, porém, todo produto ou serviço passa por mudanças simplesmente pelo fato dele existir. Essas mudanças ou melhorias ou ate chamadas atualizações são identificadas para que o pilar da adaptação possa ser acionado.
Se o inspetor determinar, a partir da inspeção, que um ou mais aspectos do processo estão fora dos limites aceitáveis e que o produto resultante será inaceitável, ele deverá ajustar o processo ou o material sendo processado.
Existem três pontos para inspeção e adaptação em Scrum e vamos falar deles agora.

A Reunião diária: A reunião diária é usada para inspecionar o progresso em direção á meta da Sprint e para realizar adaptações que otimizem o valor do próximo dia de trabalho.
A reunião diária possui uma duração de 15 minutos e dever ser sempre realizada no mesmo local. O objetivo dessa reunião é: inspecionar se o que foi programado para a Sprint passada foi concluído, saber o que será feito e como será feito na Sprint do dia e acima de tudo inspecionar se a meta da Sprint esta sendo cumprida.
Nesta reunião participam apenas pessoas do Time Scrum e o ScrumMaster é o responsável por ensinar o time a manter a disciplina quanto o tempo e assunto discutido na reunião.

Revisão da Sprint: Ao final da Sprint, é feita uma reunião para rever a Sprint. O tempo previsto para que essa reunião ocorra é de 4 horas para Sprints de um mês e o tempo proporcional para Sprints de tempo menor, por exemplo, 2 horas para Sprint de duas semanas.
Durante a revisão da Sprint, o time Scrum e as partes interessadas colaboram sobre o que acabou de ser feito. Baseados nisso e em mudanças no Backlog do produto feitas durante a Sprint, eles colaboram sobre quais são as próximas coisas que podem ser feitas. Essa é uma reunião informal, com a apresentação da funcionalidade, que tem a intenção de promover a colaboração sobre o que fazer em seguida.
A reunião inclui ao menos os seguintes elementos: O Product Owner, o Time Scrum e o Scrum máster.
A revisão de uma Sprint é muito importante porque fornece valiosas informações para a próxima Sprint que passara antes por uma reunião de planejamento da Sprint.

Planejamento de Sprint: O planejamento de uma Sprint é quando a interação é planejada. Essa reunião é fixada em oito horas para Sprints de um mês e proporcional para Sprints menores.
A primeira parte da reunião conta com a participação do Product Owner e é fixada em quatro horas de duração. Nesta etapa o Product Owner explica o que é mais prioritário no backlog de do produto. Neste momento é trabalhado o que será entregue durante a próxima Sprint. Cabe somente ao Time Scrum avaliar o que ele é capaz de entregar na próxima Sprint. O principal para ocorrer essa reunião é ter o backlog do produto porque, a partir desse backlog é que se defini o que será entregue.

A segunda parte da reunião, fixada em quatro horas é a etapa onde o time Scrum entende como será desenvolvido o backlog do produto, como será transformada a funcionalidade em um incremento utilizável com um valor e qualidade bem definidos.
Uma vez selecionado o Backlog do produto, a meta da Sprint é delineada. A meta da Sprint é um objetivo que será atingido através da implementação do backlog do produto.

Ate agora falamos de pilares presentes num processo empírico e de como esses processos são acompanhados. No próximo post vamos falar do time Scrum, quem são os componentes do time, qual o papel de cada um e qual o resultado final dessa interação. Não deixe de ler!

Referencias usada para esse artigo:

Guia do Scrum – Ken Schwaber, maio de 2009.
http://pt.wikipedia.org/wiki/Scrum