56
Marcos Miguel [email protected] MBI (Master in Business Intelligence) UFJF Bacharel em Sistemas de Informação pelo CES/JF Diretor de desenvolvimento da Projetus Informática Professor do Centro de Ensino Superior de Valença

Marcos Miguel - SCRUM

Embed Size (px)

DESCRIPTION

InfoCES2010 - Marcos Miguel - SCRUM

Citation preview

Page 1: Marcos Miguel - SCRUM

Marcos Miguel [email protected]

MBI (Master in Business Intelligence) UFJF

Bacharel em Sistemas de Informação pelo CES/JF

Diretor de desenvolvimento da Projetus Informática

Professor do Centro de Ensino Superior de Valença

Page 2: Marcos Miguel - SCRUM

Agenda O Introdução

O Conceitos

O Papéis

O Envolvimento x Comprometimento

O Cerimônias

O Artefatos

O Caso de uso

O Conclusões

O Dúvidas

O Referências

Page 3: Marcos Miguel - SCRUM

Mais

uma

metodologia?

Page 4: Marcos Miguel - SCRUM

Problemas no desenvolvimento de Softwares

O Caos pela mudança constante de requisitos

O Estimativas de tempo, custo e qualidade do

produto totalmente irreais

O Os desenvolvedores não sabem exatamente

como está indo o andamento do projeto e

acabam mentindo ou se enganando sobre

seus próprios resultados

Page 5: Marcos Miguel - SCRUM

Perdendo no revezamento...

O O estilo de “corrida de revezamento” aplicado ao desenvolvimento de produtos pode conflitar com os objetivos de velocidade e flexibilidade máximas. Ao invés disto, um estilo holístico, integrado, onde a equipe busca, como em um jogo de futebol, de forma integrada, chegar ao gol, com passes de bola, pode servir melhor às atuais necessidades competitivas.

Adequado de “The New New Product Development Game”, Hirotaka Takeuchi e Ikujiro Nonaka, Harvard Business Review, January 1986.

Page 6: Marcos Miguel - SCRUM
Page 7: Marcos Miguel - SCRUM

Origens do Scrum O Jeff Sutherland

O Uso inicial do scrum na Easel em 1993

O IDX e mais de 500 pessoas usando Scrum

O Ken Schwaber

O ADM

O Apresentação na OOPSLA 96 com Sutherland

O Três livros sobre Scrum

O Mike Beedle

O Padrões para o Scrum na PLOPD4

O Ken Schwaber and Mike Cohn

O Fundaram a Scrum Alliance em 2002,

O Inicialmente junto com a Agile Alliance

Page 8: Marcos Miguel - SCRUM

Quem usa o Scrum?

O Microsoft

O Yahoo

O Google

O Electronic Arts

O High Moon Studios

O Lockheed Martin

O Philips

O Siemens

O Nokia

O Capital One

O BBC

O First American Real Estate

O Lexis Nexis

O Sabre

O Salesforce.com

O Time Warner

O Turner Broadcasting

O Projetus Informática

O Globo.com

Page 9: Marcos Miguel - SCRUM

Scrum tem sido usado para

O Software comercial

O Desenvolvimento interno

O Desenvolvimento contratado terceirização)

O Projetos de preço fixo

O Aplicações Financeiras

O Aplicações certificadas pela Isso 9001

O Sistemas embarcados

O Sistemas disponíveis 24x7

O Video games

O Sistemas para suporte à vida

O Sistemas para controle de satélites

O Websites

O Software para handhelds

O Telefones celulares

O Aplicações para redes

O Algumas das maiores aplicações em produção

Page 10: Marcos Miguel - SCRUM

Características

O Equipes que se auto-organizam

O O produto evolui em uma série de “Sprints” de 2 a 4 semanas

O Os requerimentos são listados em um “ProductBacklog”

O Não há prática de engenharia prescrita (o Scrum adequa-se a todas)

O Usa regras generativas na criação de um ambiente ágil para a entrega de projetos

O É uma das “metodologias ágeis”

Page 11: Marcos Miguel - SCRUM

Conceitos

O Scrum é baseado nas melhores práticas aceitas pelo mercado, utilizadas e provadas por décadas

O É definido como uma teoria de processos empíricos

O É um framework conceitual

O Jim Coplien certa vez observou: "Todos irão gostar de Scrum; ele é o que já fazemos quando estamos pressionados contra a parede."

Page 12: Marcos Miguel - SCRUM

Conceitos

O Baseia-se em 3 Pilares:

O TRANSPARÊNCIA

O aspectos do processo que afetam o resultado devem ser visíveis para aqueles que gerenciam os resultados

O quando alguém inspeciona um processo acredita que algo está pronto

O INSPEÇÃO

O Os diversos aspectos do processo devem ser inspecionados com uma frequência suficiente para que variações inaceitáveis no processo possam ser detectadas

Page 13: Marcos Miguel - SCRUM

Conceitos O ADAPTAÇÃO

O 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

O Existem três pontos para inspeção e adaptação em Scrum: O A Reunião Diária: inspecionar o progresso em direção à meta

da Sprint e realizar adaptações que otimizem o valor do próximo dia de trabalho

O Revisão da Sprint e de Planejamento da Sprint:: inspecionar o progresso em direção à Meta da Release e para fazer as adaptações que otimizem o valor da próxima Sprint

O Retrospectiva da Sprint: revisar a Sprint passada e definir que adaptações tornarão a próxima Sprint mais produtiva, recompensadora e gratificante

Page 14: Marcos Miguel - SCRUM

Resumo do processo

O O produto é definido: quais são os seus requisitos? O que realmente o cliente quer? O responsável por esta tarefa é o que chamamos de Proprietário do Produto (Product Owner)

O O Proprietário do Produto define quais são as funcionalidades do programa que mais importam, criando assim o que chamamos de Product Backlog

O Com as prioridades definidas, uma pessoa é definida para ser o ScrumMaster, uma espécie de coordenador do projeto. O ScrumMaster, junto com o Proprietário do Produto e o Time de desenvolvimento definem o que chamamos de Sprints.

O Cada Sprint possui uma parte de todo o Product Backlog, e devem ser trabalhados de acordo com as prioridades definidas no Product Backlog. Os Sprints devem ser preparados de uma forma de que durem de 2 a 4 semanas, e que no final de cada período tenham um produto apresentável para o cliente

O Os Sprints vão sendo feitos até o Product Backlog acabar e o PO definir que o projeto está pronto

Page 15: Marcos Miguel - SCRUM

Conteúdo

O Scrum emprega os eventos com duração fixa (time-boxes) para criar regularidade

O Entre os elementos do Scrum que têm duração fixa: O Reunião de Planejamento da Release

O Reunião de Planejamento da Sprint

O Sprint

O Reunião Diária

O Revisão da Sprint

O Retrospectiva da Sprint

O O coração do Scrum é a Sprint, que é uma iteração de um mês ou menos, de duração consistente com o esforço de desenvolvimento.

O Todas as Sprints utilizam o mesmo modelo de Scrum e todas as Sprints têm como resultado um incremento do produto final que é potencialmente entregável.

Page 16: Marcos Miguel - SCRUM

Conteúdo

O Scrum utiliza quatro artefatos principais:

O Backlog do Produto: é uma lista priorizada de tudo que pode ser necessário no produto

O Backlog da Sprint: é uma lista de tarefas do produto potencialmente entregável

O Burndown: é uma medida do backlog restante pelo tempo

O Burndown de Release: mede o Backlog do Produto restante ao longo do tempo de um plano de release

Page 17: Marcos Miguel - SCRUM
Page 18: Marcos Miguel - SCRUM

Papeis

O PRODUCT OWNER (PO)

O Representa os interesses do cliente.

O Ele tem que ser a interface entre o cliente e o time de desenvolvedores

O Definir as características e conteúdo do produto;

O Decidir sobre a data de término;

O Ser responsável pela rentabilidade do produto;

O Prorizar as funções de acordo com o valor de mercado e com o cliente;

O Ajustas recursos e priorizar tarefas a cada 30 dias, como necessário;

O Aceitar ou rejeitar o resultado do trabalho.

O PO pode ser um membro do Time, mas frequentemente leva a conflitos.

Page 19: Marcos Miguel - SCRUM

Papeis

O SCRUMMASTER O Líder da equipe de desenvolvimento e durante o trabalho, fica

mais em contato com o PO. Ele gerencia e repassa o trabalho que foi decidido durante o planejamento pelo Proprietário do Produto.

O Assegurar que a equipe de desenvolvimento funcione plenamente e seja produtiva;

O Ajudar na cooperação entre todas as funções e papéis do time;

O Proteger a equipe de interferências externas;

O Assegurar-se de que a metodologia está sendo seguida, incluindo chamadas para reuniões diárias (Daily Scrum Meetings), revisões de atividade (Sprint Reviews) e reuniões de planejamento das atividades (Sprint Planning).

O Ajuda o Time a entender e usar autogerenciamento interdisciplinaridade

O Ajuda o Time a fazer o seu melhor em um ambiente

O “Remove impedimentos“

O ScrumMaster pode ser um membro do Time, mas frequentemente leva a conflitos.

Page 20: Marcos Miguel - SCRUM

Papeis O SCRUMMASTER

O Além de comandar as reuniões diárias, o ScrumMaster têm três principais responsabilidades:

O Precisa saber quais atividade foram concluídas, quais foram iniciadas, quaisquer novas tarefas que foram descobertas e qualquer estimativa que possa ter mudado. Isto permite a ele atualizar sempre o Burndown Chart, que permite mostrar quanto trabalho falta para um Sprint acabar, dia por dia. Ele também tem que sempre olhar cuidadosamente para o número de tarefas em aberto. Estes trabalhos em aberto devem ser minimizados o máximo possível para garantir um trabalho sempre limpo e eficiente.

O Deve avaliar as dependências superficiais e bloqueios que causam prejuízos ao andamento do Projeto. Estes itens devem receber prioridades e serem acompanhados. Um plano de solução deve ser implementado de acordo com a ordem de prioridade destes impedimentos. Alguns podem ser resolvidos pelo time, outros podem ser resolvidos através de vários times, e outros podem precisar de envolvimento da gerência, pois podem ser problemas relacionados à empresa que bloqueiam qualquer membro do time a fazer qualquer coisa. Como exemplo deste tipo de impedimento externo, temos as questões judiciais.

O O ScrumMaster deve perceber e resolver problemas pessoais ou conflitos entre os integrantes do time de desenvolvimento SCRUM. Este tipo de problema deve ser clarificado pelo ScrumMaster e resolvido por diálogo com o time, ou então o ScrumMaster terá que ter ajuda da gerência ou do departamento de Recursos Humanos. Alguns estudos apontam que 50% dos problemas de desenvolvimento acontecem por razões pessoais. O ScrumMaster precisa estar sempre atento ao time para fazer dele totalmente funcional e produtivo.

Page 21: Marcos Miguel - SCRUM

Papeis

O TIME

O Desenvolvedores com todas as habilidades necessárias para transformar os requisitos do PO em um pedaço potencialmente entregável do produto ao final da Sprint

O Possui conhecimentos especializados, como programação, controle de qualidade, análise de negócios, arquitetura, projeto de interface de usuário ou projeto de banco de dados

O O conhecimento é compartilhado e todos contribuem

O Ninguém nem mesmo o ScrumMaster - diz ao time como transformar o Backlog do Produto em incrementos de funcionalidades entregáveis. O Time descobre por si só

O A sinergia que resulta disso melhora a eficiência e eficácia geral do Time como um todo

O Tamanho ideal de 5 a 9 membros

Page 22: Marcos Miguel - SCRUM

Envolvimento

X

Comprometimento

Page 23: Marcos Miguel - SCRUM

Envolvimento

X

Comprometimento

Page 24: Marcos Miguel - SCRUM

Envolvimento x Comprometimento

O Baseados nesta historinha, existem dois

tipos de pessoas em projetos Scrum:

O Galinhas: Apenas envolvidas com o projeto

O Todos os demais

O Porcos: Totalmente comprometidos com o

projeto

O Time SCRUM (Time, SrumMaster, PO)

Page 25: Marcos Miguel - SCRUM

Cerimônias

Page 26: Marcos Miguel - SCRUM

Reunião de Planejamento do Sprint O PO desenvolve um plano para o projeto de software bem próximo ao cliente para definir todas as funcionalidades que o cliente quer no seu produto. A partir desta lista, ele também tem que definir as prioridades de cada funcionalidade de acordo com várias variáveis: valor de mercado, importância de base, importância para o cliente, entre outras. Esta lista final é o que chamamos de Product Backlog e é a base para a reunião de planejamento do Sprint.

O Nesta reunião, o ScrumMaster trabalha junto com o PO e a Equipe de Desenvolvimento para definir qual a carga de tempo que cada funcionalidade do Product Backlog terá. Isto ajuda o PO a definir prazos reais para o projeto e o habilita a poder verificar como está o andamento do projeto durante todo o período de desenvolvimento. Esta carga de tempo e esforço é definida de acordo com o tamanho do(s) time(s), horas disponíveis e o nível de produtividade do time.

O Quando as prioridades e prazos das funcionalidades do software são definidas por completo, o PO sai de cena e o ScrumMaster começa a trabalhar juntamente com a Equipe de Desenvolvimento para a quebra destas tarefas grandes em pequenas tarefas, divididas por todos os integrantes da equipe de desenvolvimento. Esta reunião de planejamento geralmente dura até 4 horas e é ela quem define o Sprint Backlog, um dos artefatos SCRUM.

O Uma vez definido o Sprint Backlog, com a listagem de todas as tarefas, seus responsáveis e seus prazos, o processo de desenvolvimento começa.

Page 27: Marcos Miguel - SCRUM

Reunião Diária

O Tempo: Até 15 minutos

O Cada membro da equipe deve responder à três perguntas: O O que você fez desde a última reunião diária dentro deste

projeto?

O O que você fará entre agora e a próxima reunião diária dentro deste projeto?

O O que te impede de fazer seu trabalho da maneira mais eficaz possível?

O Scrum Master é responsável por organizar

O Galinhas não têm permissão de falar ficam na periferia

O Porcos ou galinhas que não obedecerem as regras acima podem ser convidadas a se retirar da reunião (galinhas) ou removidas da equipe (porcos)

Page 28: Marcos Miguel - SCRUM

Reunião de Revisão do Sprint

O No final do período do Sprint, a reunião de revisão do Sprint é feita. Nesta reunião, a equipe de desenvolvimento, junto ao ScrumMaster, se reúne com o PO (e convidados, caso ele achar adequado, como por exemplo o cliente ou acionistas do projeto). Esta reunião dura aproximadamente 4 horas.

O Na primeira parte da reunião, o resultado do Sprint é apresentado para o PO.

O As funcionalidaes são revisadas

O PO define quais itens do Product Backlog foram completados no Sprint, discutindo então com os membros da equipe e o cliente quais serão as novas prioridades.

O Primeiro passo para criar um novo Sprint, caso seja necessário, pois dessa primeira parte da reunião, um novo Product Backlog é gerado.

O Na segunda parte da reunião, o ScrumMaster se reunie com a equipe de desenvolvimento e revisa os altos e baixos do ciclo. O time conversa para saber o que foi bom e como se pode melhorar ainda mais o ambiente, as ferramentas e o convívio entre o time e suas funções. Esta parte é basicamente um aprimoramento interno.

O Depois que esta reunião é finalizada, um novo ciclo Sprint pode começar

Page 29: Marcos Miguel - SCRUM

Product Backlog Funcionalidade Prioridade

Modelagem de dados 1

Cadastro e gerenciamento de usuários 2

Conversão de vídeo para visualização na Internet (Codec) 3

Cadastro e gerenciamento de vídeos pelos usuários 4

Layout (Aparência) da página 5

Comentários para os vídeos e usuários 6

Notas para vídeos (ranking) 7

Proteção contra SPAM 8

Canais (grupos) de vídeos e usuários 9

Sistema de legendagem de vídeos 10

Reconhecimento de sons dos vídeos 11

Page 30: Marcos Miguel - SCRUM

Reunião de Planejamento do Sprint

uncionalidade Prioridade Custo-horas

Modelagem de dados 1 32

Cadastro e gerenciamento de usuários 2 26

Conversão de vídeo para visualização na Internet (Codec) 3 80

Cadastro e gerenciamento de vídeos pelos usuários 4 48

Layout (Aparência) da página 5 28

Comentários para os vídeos e usuários 6 20

Notas para vídeos (ranking) 7 16

Proteção contra SPAM 8 20

Canais (grupos) de vídeos e usuários 9 26

Sistema de legendagem de vídeos 10 64

Reconhecimento de sons dos vídeos 11 92

Page 31: Marcos Miguel - SCRUM

Meta do primeiro Sprint Funcionalidade Prioridade Custo-horas

Modelagem de dados 1 32

Definição de dados 1.1 8

Organização de tabelas 1.2 12

Relacionamento 1.3 8

Implementação em SGBD 1.4 4

Cadastro e gerenciamento de usuário 2 26

Formulários 2.1 6

Interação com cadastro na base de

dados 2.2 6

Visualização de perfil 2.3 6

Mudança de dados 2.4 4

Relacionamento entre usuários 2.5 4

Page 32: Marcos Miguel - SCRUM

Sprint Backlog

Page 33: Marcos Miguel - SCRUM

Burndown Chart

Page 34: Marcos Miguel - SCRUM

Ferramentas

O VersionOne

O http://www.versionone.com/

O Pronto

O http://pronto.bluesoft.com.br/

O FireScrum

O http://www.firescrum.com/

Page 35: Marcos Miguel - SCRUM

Scrum Board

Page 36: Marcos Miguel - SCRUM

Scrum Board

Page 37: Marcos Miguel - SCRUM

Caso de Uso

Ferramenta VersionOne

Page 38: Marcos Miguel - SCRUM
Page 39: Marcos Miguel - SCRUM
Page 40: Marcos Miguel - SCRUM
Page 41: Marcos Miguel - SCRUM
Page 42: Marcos Miguel - SCRUM
Page 43: Marcos Miguel - SCRUM
Page 44: Marcos Miguel - SCRUM
Page 45: Marcos Miguel - SCRUM
Page 46: Marcos Miguel - SCRUM
Page 47: Marcos Miguel - SCRUM
Page 48: Marcos Miguel - SCRUM
Page 49: Marcos Miguel - SCRUM
Page 50: Marcos Miguel - SCRUM

Tempo de desenvolvimento por Sprint (Rendimento da equipe)

Tempo

0

50

100

150

200

1 Sprint2 Sprint

3 Sprint4 Sprint

5 Sprint6 Sprint

Tempo

Tempo

Page 51: Marcos Miguel - SCRUM

Índice de problemas resolvidos

Gráfico Mantis

Ferramenta de Controle de Bugs

Page 52: Marcos Miguel - SCRUM

Conclusões

O O Scrum é um metodologia de desenvolvimento que tem despontado e trago resultados satisfatórios para muitas equipes

O “Não basta ser

uma equipe,

é preciso ser

um time”

Page 53: Marcos Miguel - SCRUM
Page 54: Marcos Miguel - SCRUM

DUVIDAS?

Page 55: Marcos Miguel - SCRUM

Referencias

O ScrumGuide: Guia oficial do Scrum em

http://www.scrum.org/scrumguides

O Implements Scrum: Mais informações

http://www.implementingscrum.com

Outros links:

www.mountaingoatsoftware.com/scrum

www.scrumalliance.org