Aplicação de Scrum em Ambiente de
Desenvolvimento de Software
Educativo
Michele de Vasconcelos Leitão
Orientadora: Cristine Gusmão
Sumário
Motivação
Caso de Estudo: Ambiente
Metas
Metodologias Ágeis
Caso de Estudo: Scrum
Caso de Estudo: Resultados






2
eComp - POLI - UPE
Motivação
Aplicação de Scrum em
Ambiente de Desenvolvimento de Software Educativo
3
eComp - POLI - UPE
Motivação
Software nos negócios
Falta de gerenciamento nos processos:





4
Atrasos na entrega do projeto
Produtos de baixa qualidade
Aumento significativo dos custos
eComp - POLI - UPE
Motivação
Emprego dos métodos tradicionais utilizados no
desenvolvimento
Os métodos ágeis oferecem respostas rápidas às novas
exigências de desenvolvimento:




requisitos mutáveis e não totalmente esclarecidos; e
entrega do produto com valor tangível.
Dificuldades na implantação de métodos de
desenvolvimento:



5
característica comportamental: a resistência à mudança;
queda inicial na produtividade.
eComp - POLI - UPE
Caso de Estudo:
Ambiente
Aplicação de Scrum em
Ambiente de Desenvolvimento de Software Educativo
6
eComp - POLI - UPE
Caracterização do Ambiente
Processo de Desenvolvimento






Desenvolvimento de softwares educacionais
Grupos de equipes responsáveis por cada matéria
São produzidas em média 3 aulas por mês, por equipe
Não há uso de qualquer ferramenta ou metodologia
Direcionada individualmente para os coordenadores de cada
equipe




7
definição da distribuição e alocação de tarefas
definição e seleção de competências
definição da matriz de responsabilidades e canais de comunicação
geração dos artefatos durante o desenvolvimento
eComp - POLI - UPE
Impactos
Descentralização de informação
Responsabilidade de geração de artefatos para a
coordenação
Instabilidade no relacionamento da equipe:






8
Desmotivação da equipe, por não se sentir “parte do
processo”;
Não reconhecimento da hierarquia do coordenador pela
equipe;
Forte dependência da equipe nas direções da coordenação.
eComp - POLI - UPE
Metas
Aplicação de Scrum em
Ambiente de Desenvolvimento de Software Educativo
9
eComp - POLI - UPE
Metas

Metas específicas:



adaptar e implantar o método escolhido;
testar a eficiência, no que diz respeito a entrega do produto de
qualidade e em tempo hábil;
projetar melhorias no ambiente de desenvolvimento:



10
comunicação direta e sem falhas;
interatividade, independência e transparência na tomada de decisões
entre equipe e gerência;
otimização e homogeneidade do tempo de desenvolvimento da
equipe.
eComp - POLI - UPE
Metodologias Ágeis
Aplicação de Scrum em
Ambiente de Desenvolvimento de Software Educativo
11
eComp - POLI - UPE
Metodologia Ágeis

Desenvolvedores e consultores de software se juntaram
para compartilhar valores e princípios que eram utilizados
em suas práticas
 Agile Software Development Alliance
12
eComp - POLI - UPE
Manifesto Ágil

Princípios básicos de métodos ágeis:
 Honestidade ao código de
trabalho;
 Eficácia das pessoas que trabalham
em conjunto; e
 Foco no trabalho em equipe.

Características do grupo de desenvolvimento:
 Bem informado
 Competente
 Autorizado a considerar o eventual ajuste durante o processo
de ciclo de vida do desenvolvimento
13
eComp - POLI - UPE
Abordagens Ágeis - XP

XP – EXtreme Programming



Crystal family of methodologies




Voltado para pequenas e médias equipes
Ambiente físico é fator crucial
Normas de política podem ser substituídas por práticas equivalentes
de outras metodologias.
Limitações de espaço físico e horário de trabalho são impeditivos
Incrementos possuem menor periodicidade
Scrum


14
Possui muitas das características do XP, exceto restrições quanto à
localização geográfica da equipe.
Melhor aplicada com equipes ainda menores que o delimitado pelo
XP e Crystal.
eComp - POLI - UPE
Caso de Estudo:
Scrum
Aplicação de Scrum em
Ambiente de Desenvolvimento de Software Educativo
15
eComp - POLI - UPE
Scrum

As primeiras referências na literatura ao
termo “Scrum”


O termo “Scrum” deriva de uma estratégia
no jogo de rúgbi


Artigo de Takeuchi e Nonaka: The New Product
Development Game [1986]
Introduzido para definir práticas adaptativas
utilizadas em times auto-gerenciáveis.
Formalizado por Jeff Sutherland e Ken
Schwaber

16
Artigo The Scrum Development Process [1994].
eComp - POLI - UPE
Scrum - Pilares




Transparência
Inspeção
Adaptação
Pontos de inspeção e adaptação em
Scrum:



17
Daily Scrum Meeting
Sprint Planning Meeting e Sprint Review
Sprint Retrospective
eComp - POLI - UPE
Scrum - Framework

Papéis




Artefatos





Product Owner
Scrum Master
Scrum Team
Product Backlog
Sprint Backlog
Scrum Board
Burndown Chart
Etapas





18
Release Planning Meeting
Sprint Planning Meeting
Daily Scrum Meeting
Sprint Review
Sprint Retrospective
eComp - POLI - UPE
Scrum - Papéis e Responsabilidades

Pigs x Chickens

19
Chickens não podem dizer aos pigs como fazer seu trabalho.
eComp - POLI - UPE
Scrum - Papéis e Responsabilidades

Product Owner:




Definir as características do produto e prioridade de
execução dos requisitos;
Gerenciar o ROI, garantindo a lucratividade do
produto ao aceitar/recusar os resultados do trabalho
desenvolvido;
Garantir que os especialistas de domínio estejam
disponíveis para o time.
O Product Owner está representado pela alta
gerência da empresa, que é responsável pelo
contato com o cliente.
20
eComp - POLI - UPE
Scrum - Papéis e Responsabilidades

Scrum Master:





Garantir que o trabalho da equipe seja funcional e
produtivo;
Acompanhar o desenvolvimento;
Remover os impedimentos;
Garantir o uso do Scrum de maneira correta.
O papel do Scrum Master equivale ao do
coordenador de equipe.
21
eComp - POLI - UPE
Scrum - Papéis e Responsabilidades

Scrum Team:




Responsável por atingir juntos os objetivos definidos
em cada sprint;
Selecionar os itens priorizados que irão ser
executados em cada iteração;
Demonstrar o trabalho desenvolvido ao Product
Owner.
A equipe é composta por 6 pessoas, entre
programadores, designers e pedagogo.
22
eComp - POLI - UPE
Scrum - Papéis e Responsabilidades

Correlação com o Ambiente


Aspecto Analisado
Distribuição e alocação de tarefas


e seleção de competências

Definição da matriz de
Ambiente
Executado pelo coordenador de

Scrum

Executado pelo Scrum Master

Inerentes à metodologia,
equipe

responsabilidades e os canais de
Executados pelo coordenador de
equipe
representados por ferramentas
comunicação

Geração dos artefatos
23

Executados sem pré-definição

Definidos pela metodologia,
sob a responsabilidade do
implementados e adaptados pelo
coordenador de equipe
Scrum Master
eComp - POLI - UPE
Scrum - Framework

Papéis




Artefatos





Product Owner
Scrum Master
Scrum Team
Product Backlog
Sprint Backlog
Scrum Board
Burndown Chart
Etapas





24
Release Planning Meeting
Sprint Planning Meeting
Daily Scrum Meeting
Sprint Review
Sprint Retrospective
eComp - POLI - UPE
Scrum - Artefatos e Ferramentas

Product Backlog:



Lista de itens priorizados elencando o que deve ser
desenvolvido na sprint.
Corresponde à matriz de temas de aulas, totais, a serem
produzidas durante toda a duração do projeto.
Sprint Backlog:


25
Lista de tarefas extraídas do Product Backlog, com as quais a
equipe se compromete a fazer durante uma sprint.
É composto pelas aulas propriamente ditas.
eComp - POLI - UPE
Scrum - Artefatos e Ferramentas

Scrum Board





26
Stories: aulas divididas em
páginas.
To Do: tarefas listadas para
cada página por membro.
In Progress: tarefas em
execução.
Impediments: problemas
encontrados no
desenvolvimento.
Meetings: comunicação
interna da equipe.
eComp - POLI - UPE
Scrum - Artefatos e Ferramentas

Método Planning Poker

Montar o Burndown Chart
James Grenning, 2002
 Mike Conh, 2005 - Agile Estimating and Planning
Cada tarefa é discutida de modo sucinto. Cada participante dá
sua nota de complexidade com base na escala definida para
cada tarefa.


27
eComp - POLI - UPE
Scrum - Artefatos e Ferramentas


Escala utilizada no baralho: 1, ½, 2, 3, 5, 8, 13, 21, 40 e 100.
Todas as tarefas listadas na seção To Do são mensuradas, de
forma que somadas preenchem o valor total de pontos no
gráfico.
28
eComp - POLI - UPE
Scrum - Artefatos e Ferramentas

O gráfico Burndown (Burndown
Chart) mostra a correlação entre a
quantidade de trabalho restante e
o progresso das equipes na
redução deste trabalho.

Formas de registrar o
trabalho executado no
gráfico:
por quantidade de
tarefas; e
por pontos de
complexidade dessas
tarefas.


29
eComp - POLI - UPE
Scrum - Artefatos e Ferramentas

Correlação com o Ambiente



Nova realidade na dinâmica de desenvolvimento da empresa: a
geração de artefatos.
Formalizar toda a documentação necessária, sem haver geração de
artefatos em excesso.
Diagramas de estado de cada página da aula em execução na
sprint



30
Elaborados pela coordenação de equipe;
Detalham o fluxo de ocorrência dos eventos e animações definidas
para cada página;
Minimizam a dependência da equipe no coordenador, eliminando as
dúvidas frequentes no roteiro, acelerando o desenvolvimento e
reduzindo o número de manutenções e alterações feitas por página.
eComp - POLI - UPE
Scrum - Framework

Papéis




Artefatos





Product Owner
Scrum Master
Scrum Team
Product Backlog
Sprint Backlog
Scrum Board
Burndown Chart
Etapas





31
Release Planning Meeting
Sprint Planning Meeting
Daily Scrum Meeting
Sprint Review
Sprint Retrospective
eComp - POLI - UPE
Scrum - “Time-Boxes”


Scrum utiliza “caixas de tempo” (time-boxes) para criar
regularidade no processo de desenvolvimento.
Elementos, ou etapas, time-boxed:






32
Release Planning Meeting
Sprint Planning Meeting
Sprint
Daily Scrum Meeting
Sprint Review Meeting
Sprint Retrospective Meeting
eComp - POLI - UPE
Scrum - Etapas da Sprint

Release Planning Meeting


Estabelecer plano e metas que a equipe Scrum e o resto das
organizações possam compreender e se comunicar.
Questões que guiam a reunião:
 “Como podemos transformar essa visão em um produto vencedor
da melhor maneira possível?”
 “Como podemos atender ou exceder a satisfação do cliente e o
Retorno sobre o Investimento?”
33
eComp - POLI - UPE
Scrum - Etapas da Sprint

Sprint Planning Meeting

A iteração é planejada, sendo selecionadas as estórias a serem
implementadas durante a sprint baseando-se num Product Backlog
pré-definido e priorizado.

Sprint Planning 1:



Sprint Planning 2:


34
Decidir o que será feito na sprint.
O Product Owner e o Scrum Master selecionaram as estórias do
cronograma contendo as aulas pré-selecionadas do Product Backlog.
Decidir como serão construídas as funcionalidades selecionadas no
Product Backlog.
A equipe definiu como construir a aula no Sprint Backlog durante a
sprint.
eComp - POLI - UPE
Scrum - Etapas da Sprint

Daily Scrum Meetings






Melhorar a comunicação
Eliminar outras reuniões
Identificar e remover obstáculos ao desenvolvimento
Destacar e promover a rápida tomada de decisões
Melhorar o nível de conhecimento de todos sobre projeto.
Três questões que guiam a reunião:




35
“O que tem realizado desde a última reunião?”
“O que pretende fazer antes da próxima reunião?”
“Quais são os impedimentos para realizar seu trabalho com eficácia?”
Se mostraram as mais complicadas de adaptar, devido às divergências de
horários entre os membros da equipe.
eComp - POLI - UPE
Scrum - Etapas da Sprint

Sprint Review Meeting




36
Ponto de inspeção ao fim de cada iteração.
Mostrar o produto da sprint e servir como estímulo para a
continuação de mais sprints bem sucedidas.
Devido aos pequenos atrasos ocorridos nas iterações e às
interferências do Product Owner, somente uma Sprint Review Meeting
foi realizada, resumindo os release de duas sprints.
A única ressalva da reunião foi a ausência do Product Owner, que
obteve a ata da reunião posteriormente.
eComp - POLI - UPE
Scrum - Etapas da Sprint

Sprint Retrospective

Inspecionar como se desenvolveu a sprint no que diz respeito às
pessoas, relações de processos e ferramentas.

Vantagens
Manter o controle das tarefas a serem feitas, evitando



esquecimento.
Organizar as etapas do desenvolvimento, auxiliando

Prover uma visão do projeto todo para a equipe
inteira.
Alterar as dimensões das áreas de To Do e Done no
Scrum Board.

determinar o início, meio e fim.

Definir um padrão para determinar as dependências
entre as tarefas nos post-its.

Permitir maior flexibilidade nos horários das Daily
Scrum Meetings.
Permitir toda a equipe de ter noção da complexidade

de todas as tarefas.
Inserir uma melhor divisão do desenvolvimento,

permitindo detectar um padrão.
Perceber o andamento do projeto, através do

Burndown Chart.
37
Melhorias
eComp - POLI - UPE
Scrum - Ciclo de Desenvolvimento
38
eComp - POLI - UPE
Scrum - Ciclo de Desenvolvimento

Correlação com o Ambiente


39
Escolha de uma metodologia simples de ser rapidamente
assimilada e aplicada pelos coordenadores.
Devido à sua adaptabilidade, atende essas exigências de
simplicidade e rápida aplicabilidade.
eComp - POLI - UPE
Caso de Estudo:
Resultados
Aplicação de Scrum em
Ambiente de Desenvolvimento de Software Educativo
40
eComp - POLI - UPE
Coleta e Análise de Dados

Análise Comportamental da Equipe

Máximo de aceitação da metodologia:






41
interesse pelas reuniões diárias
participação ativa na Sprint Planning Meeting
comprometimento com as Sprint Review e Sprint Retrospective
Scrum Board: “uma ferramenta que fornece uma visão global do
projeto”.
Planning Poker: cumplicidade gerada entre os membros da
equipe.
O uso do Violet UML ficou restrito ao Scrum Master, tendo a
equipe acesso às imagens geradas dos diagramas de estado,
bem como seus arquivos fonte.
eComp - POLI - UPE
Coleta e Análise de Dados

Análise de Eficiência da Metodologia Scrum no
Desenvolvimento das Tarefas





Otimização e homogeneidade do tempo de desenvolvimento da
equipe.
Critérios os aspectos de prazo, qualidade e custos para a avaliação
da eficiência da metodologia Scrum.
Prazo
 As aulas, a priori desenvolvidas numa média de 3 por semana, passaram a ser
produzidas 2 semanalmente.
Qualidade
 Produto com menos erros, adequado ao uso (cumprindo as requisições de
usabilidade) e satisfazendo os requisitos do Product Owner.
Custos
 Aspectos:
 de tempo de produção; e
 de aquisição de ferramentas.
42
eComp - POLI - UPE
Coleta e Análise de Dados


Ambiente Pré-Implantação
Hierarquia da equipe composta pelas três instâncias:


alta gerência, coordenador de equipe, equipe.


Papel da alta gerência: gerenciar os coordenadores
Ambiente Pós-Implantação
Hierarquia da equipe composta pelas três instâncias:
Product Owner, Scrum Master e Scrum Team.

Papel do Product Owner: colaborar com Scrum Master
de equipe e contatar os clientes. A alta gerência não
e equipe na seleção e manutenção das prioridades de
participa do desenvolvimento em nenhuma etapa.
acordo com o valor de negócio da empresa.
Papel do coordenador de equipe: líder. Responsável

Papel do Scrum Master: facilitador. É responsável por
por guiar a equipe para obter resultados de acordo
remover os impedimentos da equipe no processo de
com suas próprias definições do produto e premissa
desenvolvimento, não sendo responsável por definir
básicas determinadas pela empresa. Responsável
esse processo, mas por assegurar que a metodologia
por remover as dúvidas frequentes da equipe quanto
Scrum seja seguida quanto às etapas, aos artefatos e
ao processo de desenvolvimento, visto que este é
papéis.
definido pela experiência do coordenador.
43
eComp - POLI - UPE
Coleta e Análise de Dados



Ambiente Pré-Implantação
Papel da equipe: desenvolver os objetos de


Papel do Scrum Team: É responsável por ser auto-
aprendizagem de acordo com a documentação de
organizada e por selecionar os itens priorizados que
roteiro gerada e as instruções do coordenador e
irão ser executados em cada sprint, com total
reportar todas as dúvidas e problemas ao
liberdade e comprometimento para desenvolver os
coordenador, sempre que surgirem. Possui total
objetos de aprendizagem de acordo com as etapas
dependência do coordenador para sua organização.
definidas pela metodologia Scrum.
Processo de desenvolvimento: iterações sem etapas

definidas ou delimitadas.

Ambiente Pós-Implantação
Ciclo de desenvolvimento: produção do roteiro,
Processo de desenvolvimento: sprints com etapas
pré-definidas e obrigatórias.

Ciclo de desenvolvimento: produção do roteiro,
seguida do desenvolvimento (com testes periódicos,
seguida da Sprint Planning Meeting (para validação do
mas sem padronização) e publicação do objeto de
roteiro com equipe e Product Owner) e do
aprendizagem.
desenvolvimento (com verificações diárias – Daily
Scrum Meetings). O fim do desenvolvimento é
seguido pela execução da Sprint Review (para
validação do Product Owner) e a publicação do objeto
de aprendizagem.
44
eComp - POLI - UPE
Conclusão e Trabalhos Futuros

Falta de gerenciamento nos processos


Justifica a necessidade da adoção de processos que utilizem
práticas ágeis.
Metodologia ágil Scrum: adequada para o uso em
ambientes de desenvolvimento de softwares educativos


45
Sua aplicação engloba todas as etapas do desenvolvimento,
através de pequenas e médias adaptações.
Remove a obrigatoriedade de geração de vasta documentação.
eComp - POLI - UPE
Conclusão e Trabalhos Futuros


As etapas definidas fornecem importantes dados relativos à
produtividade das equipes e são importantes elementos na
construção de um processo adaptativo com constantes
melhorias e foco na comunicação.
Aspecto comportamental:

46
Boa adaptabilidade e aceitação da equipe à metodologia.
eComp - POLI - UPE
Conclusão e Trabalhos Futuros

Dificuldades Encontradas



Daily Scrum Meetings ficaram comprometidas;
Atrasos e interferências causadas pelo Product Owner.
Trabalhos Futuros


47
Implantar o processo de Gerenciamento de Qualidade, no qual
o controle da qualidade seja feito através de avaliação
periódica do desempenho geral do projeto;
Implantar o método em todas as equipes da empresa, de modo
a analisar as outras formas de adaptação da metodologia.
eComp - POLI - UPE
Aplicação de Scrum em Ambiente de
Desenvolvimento de Software
Educativo
Michele de Vasconcelos Leitão
Orientadora: Cristine Gusmão
Download

Aplicação de Scrum em Ambiente de Desenvolvimento de Software