Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
MONOGRAFIA:
METODOLOGIA ÁGIL DE GERENCIAMENTO DE
PROJETOS - SCRUM
TAQUARITINGA
2010
MEIRE ELEN ALVES DA SILVA
TAQUARITINGA
2010
FOLHA DE APROVAÇÃO
Banca Examinadora
________________________________________________________________
Nome
___________________________________________________________________________
Instituição
___________________________________________________________________________
Assinatura
___________________________________________________________________________
________________________________________________________________
Nome
___________________________________________________________________________
Instituição
___________________________________________________________________________
Assinatura
___________________________________________________________________________
________________________________________________________________
Nome
___________________________________________________________________________
Instituição
___________________________________________________________________________
Assinatura
___________________________________________________________________________
Dedico,
Aos meus pais Lourdes e Francisco, pelos conselhos fundamentais, pelo enorme
carinho e atenção á mim dedicados, pois devo tudo o que sou hoje á eles, que são a minha
base e a essência da minha vida.
Ao meu namorado Fernando Tita pelo carinho, incentivo e paciência á mim dedicados,
e por estar presente em todos os momentos.
Aos meus amigos Cleiton Leive, Thiago Galitezi, Fernanda Oliveira, Deysiane Sande
pelo apoio e pelas dicas que contribuíram para a realização deste trabalho.
RESUMO
ABSTRACT
This report aims to address the methodology of agile project management software called
Scrum, presenting their characteristics and seeking elucidate the main focus of application, in
terms of size of project and business requirements, team size, artifacts and meetings of the
company adopts. Was achieved a literature review where information were collected to
compare with the traditional methods of software development, for example, the cost to insert
changes in the final project.Moreover, are presented some concepts of the guidance PMBOK,
which is a bibliography for professionals by helping them to knowledge management, and
based on this context is discussed in Agile Scrum project management. Finally, is presented a
case study of implementation of Scrum in order to demonstrate in practice, impacts and
results of applying this methodology. The results obtained indicate that it is possible to
manage software projects with Scrum, as a methodology that is light, simple to use and able
of complex and innovative projects, which can happen sometimes is the customization of
some practices, but depends on the needs and objectives of each organization.
1. INTRODUÇÃO ............................................................................................................................... 11
CONCLUSÃO ..................................................................................................................................... 79
REFERÊNCIAS .................................................................................................................................. 81
A cada dia o mercado atual procura por novas tecnologias e meios inovadores para que
o mesmo tenha um diferencial competitivo em relação aos seus concorrentes. A grande
necessidade de métodos mais ágeis e aptos a novas mudanças é a grande preocupação para o
mercado, seja ele que atua no ramo de Desenvolvimento de Software ou em qualquer outro
segmento (MARTINS, 2007).
Neste contexto, a busca por inovações de métodos ágeis e de total qualidade para o
gerenciamento de software é o que torna o diferencial para as empresas, colocando-as em
destaque em relação as outras no mercado competitivo.
O desenvolvimento de software não é uma atividade profissional simples, em que seus
métodos e processos são fixos e inalterados do início ao fim do projeto, muito pelo contrário
um software pode sofrer várias alterações no seu processo de desenvolvimento, porém o
mesmo deve estar apto a receber essas novas mudanças.
A Engenharia de Software está sempre evoluindo junto com as novas tecnologias,
pode-se afirmar isso de acordo com alguns processos e métodos que surgiram há duas décadas
atrás e que hoje são considerados métodos tradicionais e pesados, em termo de documentação.
Tais métodos são considerados pesados, pois sua documentação é extensa e gasta-se muito
tempo para elaborá-la, ainda mais quando se trata de um projeto que tenha uma equipe de
desenvolvimento pequena. A documentação é de extrema importância para a qualidade de um
projeto, mas a mesma pode ser mais enxuta, ou seja, não tão detalhada o que economiza
tempo, que é um grande fator em termos de diferencial competitivo e dessa maneira os
projetos são entregues em menor prazo e com qualidade (KOSCIANSKI; SOARES, 2007).
Com o propósito de agilizar o processo de desenvolvimento de software e tornar seu
gerenciamento mais rápido surgiu, em 2001, o Manifesto Ágil, cujo seus objetivos são
justamente atender as inovações contínuas, adaptabilidade de produtos, entregas com
cronograma reduzido, adaptabilidade do processo e das pessoas e por fim resultados
confiáveis (MARTINS, 2007).
Este trabalho tem por objetivo apresentar conceitos fundamentais do que são
metodologias ágeis para gerenciamento de projeto, mostrando como exemplo a metodologia
Scrum e seu funcionamento, ciclo de vida com suas respectivas fases, vantagens que essa
metodologia trás em gerenciar projetos com agilidade dando ampla satisfação aos clientes.
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 12
A metodologia Scrum é uma metodologia ágil e leve que propõe justamente o que as
empresas atuais buscam: minimizar custos, tempo e principalmente garantir a qualidade do
sistema entregue.
A metodologia Scrum está apta a atender demandas de mudanças em projetos de
desenvolvimento de software, mesmo que tais projetos já estejam em andamento, diferente
das metodologias tradicionais. Scrum possui um controle de gerenciamento muito propício
para cenários inovadores. Foi em busca da agilidade na adaptação à mudanças, organização,
satisfação do cliente no sistema entregue, entre outros fatores, que então surgiram as
metodologias ágeis (MARTINS, 2007).
Este trabalho tem como relevância mostrar aos gerentes de projetos, para empresa
como um todo e também para os clientes quais são os benefícios que a Metodologia Ágil de
Gerenciamento de Projetos - Scrum trás, mostrar a facilidade de implantá-la na empresa,
assim como a organização que ela propõe à empresa tanto em termos de controlar como
também em termos de gerenciar um projeto.
projetos com metodologias ágeis como Scrum. Por fim, adotou-se o método de Estudo de
Caso, que segundo Yin (2005), consiste em uma investigação empírica que investiga um
fenômeno contemporâneo dentro de seu contexto na vida real. O estudo de caso foi aplicado
em uma Fábrica de Software, no qual seus dados foram coletados por meio de uma entrevista,
aplicada para alguns envolvidos da empresa, a fim de obter resultados concisos e reais da
metodologia Scrum.
projeto e entender a necessidade do negócio. Desta forma, é avaliado o tempo e o custo para a
solução do negócio.
Há uma pequena diferença entre a Engenharia Civil e a Engenharia de Software, sendo
que na primeira o projeto é planejado e executado de forma seqüencial, na segunda nem
sempre essa é a melhor maneira, este aspecto depende muito do projeto, para isto é necessário
analisar a melhor abordagem a ser aplicada. Existem diferentes metodologias para conduzir
projetos de desenvolvimento de software, que tratam desde a construção do software até a sua
implementação.
Segundo Soares (2010), as metodologias ágeis têm sido apontadas como uma
alternativa às abordagens tradicionais para o desenvolvimento de software, e suas principais
características são: estar aptas a aceitação de mudanças de requisitos, onde refazer ou
incrementar partes do código não é uma atividade que apresenta altos custos; as equipes são
pequenas, o que possibilita ter uma boa troca de comunicação entre os membros da mesma; as
datas de entrega do software são curtas, permitindo que o cliente veja o software em etapas e
o desenvolvimento é rápido.
As metodologias ágeis são adequadas para situações em que a mudança de requisitos é
freqüente, de tal maneira que a metodologia deve estar apta a aceitar as mudanças em vez de
tentar prever o futuro (KOSCIANSKI; SOARES, 2007).
A entrega do projeto para esses tipo de metodologia, é definido de forma abrangente e
superficial, tendo início por um contexto que ao decorrer do processo do projeto pode ser
evoluído, ou seja, o escopo que foi estipulado inicialmente pode ser alterado, muitas vezes o
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 19
cliente acaba descobrindo novas necessidades e solicita que as mudanças sejam inseridas no
projeto, isso ocorre por ser uma metodologia de escopo aberto.
Esta metodologia tem controle empírico de processo e é indicado para ser utilizado em
projetos em que o processo é complexo para produzir resultados similares, pois o mesmo
varia constantemente.
O processo empírico é definido de forma inexata, o que acaba gerando resultados
imprevisíveis. Assim, este processo requer um acompanhamento dedicado, com inspeções
freqüentes e adaptações durante todo projeto. Este método é o mais adequado para projetos
que passam por alterações e inovações constantes, como o desenvolvimento de software, por
exemplo, que muitas vezes é modificado porque o cliente não se identificou com o software,
ou o sistema, como um todo, onde o software seria implantado foi alterado, ou até mesmo
porque houve a necessidade de se adaptar a novas tecnologias e os pré- requisitos inicias do
software não atendem mais ao escopo inicial, um exemplo disso, é o hardware ou o sistema
operacional ser alterado por conseqüências de avanços tecnológicos (MARTINS, 2007).
De acordo com Koscianski e Soares (2007) pode-se traçar uma comparação entre as
metodologias clássicas e ágeis por meio da Ilustração 3, na qual se analisa a relação entre o
custo de mudança no software e a fase em que esta ocorre. A linha pontilhada representa essa
relação para uma metodologia clássica, enquanto a linha contínua mostra como se espera que
a relação melhore nas metodologias ágeis.
Segundo Beck et al. (2002) apud Koscianski e Soares (2007) o termo “Metodologias
Ágeis” tornou-se popular em 2001, quando 17 especialistas em processos de desenvolvimento
de software, que representava os métodos Extreme Programming (XP), Scrum, Dynamic
Systems Development Method (DSDM), Crystal, estabeleceram princípios comuns
compartilhados por todos esses métodos e obtiveram como resultado a criação da Aliança
Ágil e o estabelecimento do Manifesto Ágil. Apesar das metodologias ágeis possuírem
variação em termos de práticas e ênfases, as mesmas compartilham algumas características
como desenvolvimento iterativo e incremental, comunicação e redução de produtos
intermediários, como documentação extensiva.
De acordo com Beck apud Martins (2007), o método Extreme Programming (XP)
endereça as limitações do processo de desenvolvimento de software, usando a abordagem
orientada a objetos. Não é o foco do XP abordar o processo de gerenciamento de projetos,
análise financeira, marketing ou vendas, o que não quer dizer que estas áreas não são
cumpridas, apenas não são abordadas diretamente.
O XP inclui um conjunto de regras e práticas que ocorrem no contexto de quatro
atividades de arcabouço: planejamento, projeto, codificação e teste (PRESSMAN, 2006).
O foco do desenvolvimento de software no XP segue um estilo de excelência da
aplicação das técnicas de programação, comunicação clara e trabalho em equipe.
De acordo com Beck (2005) apud Martins (2007) o XP promove a excelência no
desenvolvimento de Software e diferencia-se de outras técnicas pelas seguintes
características:
Iterações curtas, o que resulta em feedbacks rápidos, concretos, contínuos;
Abordagem incremental de planejamento, podendo evoluir durante o ciclo de
vida do projeto;
Consegue responder mais rápido as necessidades de mudanças de negócios, por
ter um bom planejamento na implantação das funcionalidades do software;
Usa mecanismos automatizados para realizar testes, o que permite aos
programadores, equipe de qualidade e até mesmo aos clientes desenvolverem
os testes e monitorá-los, permitindo verificar o progresso de desenvolvimento e
também observar a evolução e identificar defeitos para que o mesmo seja
corrigido o quanto antes.
Segundo Martins (2007), o FDD foi concebido para ser utilizado tanto em projetos de
desenvolvimento de novos software como em projetos para evoluir software existentes. O
projeto possui uma lista de requisitos funcionais, que são utilizados na fase inicial do projeto,
esses requisitos funcionais são chamados de features. Tal lista é constituída apenas pelos
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 24
requisitos funcionais que são entendidos pelo cliente e tem valor para o negócio. As features
são utilizadas também para planejar e gerenciar o projeto, desta maneira os clientes podem
priorizar as features em função da sua importância para o negócio.
No contexto do FDD as features podem ser implantadas em duas semanas ou menos.
Abaixo, alguns benefícios que as features possuem:
Como as features são pequenos blocos de funcionalidade que serão entregues
os usuários podem analisar, revisar e entender mais facilmente como elas se
relacionam umas com as outras, identificando possíveis ambigüidades, erros ou
omissões.
As features podem ser organizadas em um agrupamento hierárquico
relacionado ao negócio.
A entrega do FDD é um incremento de software, onde a equipe desenvolve
características operacionais a cada duas semanas.
Facilidade para inspeções efetivas devido as features serem pequenas.
Segundo Pressman (2006), o ASD (Adaptive Software Development) foi proposto por
Jim Highismith como uma técnica para construção de sistemas e software complexos. O ASD
possui como filosofia a concentração na colaboração humana e na auto-organização da
equipe.
Além do ASD prover o desenvolvimento de software complexos e de grande porte, ele
também possui uma cultura adaptativa onde há colaboração, desenvolvimento iterativo e
incremental baseado em componentes que fazem parte do ciclo adaptativo.
A filosofia ASD preocupa-se mais com os conceitos e cultura organizacional que com
práticas de software (ABRAHAMSSON, 2002).
A ênfase do ASD está na dinâmica de equipes auto-organizadas, na colaboração
interpessoal e no aprendizado individual e em capacitar equipes de projeto de software que
tenha uma probabilidade de sucesso muito maior (PRESSMAN, 2006).
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 25
2.2.4. Scrum
2.2.6. Crystal
Crystal é uma família de modelos ágeis de processos que são adotados de acordo com
características específicas de cada projeto, dessa maneira, pode ser aplicado a projetos de
tamanhos e complexidades diferentes (PRESSMAN, 2006).
A família Crystal caracteriza os projetos definindo cores diferentes a cada um, tais
cores variam entre amarelo, laranja e vermelho. As cores são definidas com base na
complexidade, tamanho e importância dos projetos, quanto maior e mais rigoroso o projeto a
cor é mais forte.
A família Crystal possui o desenvolvimento incremental com ciclos de no máximo
quatro meses, e da ênfase na comunicação e cooperação das pessoas (ABRAHAMSSON et
al., 2002).
no final de cada ciclo obtêm-se como resultado a implantação de uma parte da funcionalidade
requisitada.
No modelo de ciclo de vida ágil destacam-se as seguintes vantagens:
realizado seguindo o test driven design (TDD) no qual após a escrita de um teste deve ser
escrito o código que será validado por este teste. As entregas devem ser feitas regularmente e
a qualidade do produto desenvolvido deve ser constante. Para que a qualidade seja alcançada
pode- se haver padronização do código e de estilo de codificação, assim como, realização de
testes confirmatórios que combinam testes que confrontam o código desenvolvido e testes de
aceitação que confrontam os requisitos do sistema.
Na fase de Entrega ou Fim de Jogo (End Game) o sistema sai do ambiente de
desenvolvimento e vai para o ambiente de produção. É neste momento que são realizados
teste de sistema e de aceitação finais. Nesta fase ainda podem ser encontrados defeitos,
resultando em alguns retrabalhos de correção. É também nesta fase que finaliza-se a
documentação do sistema e do usuário e, por fim, realizam-se treinamentos com os usuários
do sistema e também com o pessoal responsável pelo suporte ao sistema.
Na fase de Produção, o objetivo é monitorar o sistema de maneira a identificar se ele
continua sendo utilizável e produtivo depois de ter sido instalado no ambiente do usuário, ou
seja, manter o sistema funcionando e prover suporte ao usuário quando necessário. Essa fase
encerra-se quando o suporte dado ao sistema se finaliza ou quando o software se torna inútil
caindo em desuso e entrando na fase “Aposentadoria” ou Retirement. Nessa fase o sistema
inteiro é removido do ambiente de produção, ou apenas uma determinada versão do sistema é
desativada.
Cada método ágil possui seu próprio ciclo de vida, respectivo a sua necessidade, na
próxima seção será apresentado o ciclo de vida ágil da metodologia Scrum.
Martins (2007) e Camara (2008) afirmam que a origem do Scrum está associada a um
artigo chamado “O jogo do desenvolvimento de novos produtos” que foi publicado em
Harvard Bussiness Review em janeiro de 1986 e foi escrito por Takeuchi e Nonaka. O artigo
descreve um tipo de processo de desenvolvimento de produtos utilizado no Japão. Baseado
neste artigo, Jeff Sutherland em 1994 introduziu algumas das práticas descritas no artigo na
empresa Easel Corporation na qual trabalhava na época. Martins (2007) explica ainda, que
Jeff Sutherland foi influênciado por um relatório que indicava produtividade acima da média
nos projetos realizados na Borland Corporation, na qual haviam sido introduzidas as reuniões
diárias entre outras coisas. Em 1995 Ken Schwaber uniu-se a Jeff Sutherland na Easel
Corporation e juntos formalizaram o Scrum.
Tanto Martins (2007) quanto Camara (2008) explicam que o nome Scrum possui
origem de um jogo chamado Rugby, no qual, Scrum é o nome de uma reunião feita em círculo
entre os jogadores para decidirem a próxima jogada. Dessa forma, indica que o projeto deve
seguir em pequenos ciclos com a visão de longo prazo de ganhar o jogo.
Segundo Koscianski e Soares (2007), o Scrum é uma metodologia ágil que segue as
filosofias: iterativa e incremental. Iterativa devido ao projeto trabalhar com partes pequenas
por vez e incremental, pois, permite adaptar possíveis mudanças como alteração nos
requisitos de software e outras situações, como: trocas de equipes, adaptações de cronogramas
e orçamento, trocas de ferramentas de desenvolvimento ou mesmo de linguagens de
programação.
A concentração da metodologia Scrum está no gerenciamento de projetos e na criação
de produtos que agreguem valor ao negócio. O processo da metodologia Scrum é bastante
leve para gerenciar, controlar projetos de desenvolvimento de software e também para a
criação de produtos, devido a metodologia possuir uma forma de trabalho flexível, pronta para
adaptações em ambientes dinâmicos (MARTINS, 2007).
Os princípios do Scrum são usados para guiar as atividades de desenvolvimento dentro
de um processo que contêm as seguintes atividades: requisitos, análise, projeto, evolução e
entrega. Para tal processo existe um padrão chamado de Sprint que no qual ocorrem as tarefas
de trabalho de acordo com as atividades do projeto. O trabalho que é realizado em cada Sprint
é conduzido de acordo com a complexidade e com o tamanho do produto, sendo assim, a
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 33
3.1.1. Pré-game
Esta fase é composta por duas partes que são o planejamento e a arquitetura do
projeto. No planejamento é definido o release com base nas informações que constituem o
Product Backlog. Durante a elaboração da arquitetura é definida a base para a construção do
produto. Ainda nessa fase é importante que se tenha um Plano de Projeto e Estimativas do
projeto. Ter um plano de projeto é importante no Scrum devido ao fato dos projetos serem
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 36
3.1.1.1. Planejamento
Segundo Martins (2007), o release de um software é planejado com base nas seguintes
variáveis:
Requisitos do cliente: esta variável refere-se às funcionalidades que precisam
ser adicionadas ao produto. Tais funcionalidades são identificadas pelo Dono
do Produto e tabuladas no Product Backlog;
Prazo: esta variável define o prazo disponível para construir o produto;
Concorrência: considera-se no produto que será construído as características
dos produtos concorrentes;
Qualidade: esta variável permite que a qualidade seja atendida com base nas
variáveis acima;
Visão: esta variável equivale a ter uma visão ampla do produto que muitas
vezes pode abranger mudanças ou novas funcionalidades que precisam ser
consideradas para que o produto seja construído;
Recursos: esta variável refere-se a disponibilidade de recursos humanos, assim
como, a infra-estrutura,por exemplo o hardware, disponíveis para o projeto.
3.1.1.2. Arquitetura
Segundo Martins (2007), a arquitetura é projetada com base nos itens do Product
Backlog, visando à implementação. Esta é uma fase em que deve-se incluir definições
sabendo que as mesmas poderão ser modificadas no decorrer do projeto.
Esta fase deve conter algumas etapas, tais como, realizar uma analise do domínio, ou
seja, identificar se o desenvolvimento equivale a um software novo que será construído, ou se
equivale à evolução de um software, contendo melhorias, desta maneira é possível verificar o
contexto do sistema e dos requisitos. Outras etapas a serem consideradas são: o refinamento
da arquitetura provendo suportar o contexto e os requisitos, a revisão dos itens do Product
Backlog, identificando se as mudanças necessárias que constam nele irão trazer algum tipo de
problema no momento da implementação das mesmas, a realização de reuniões de revisão de
design para discussão da abordagem e das mudanças necessárias para implementar cada item
do Product Backlog.
3.1.2. Game
3.1.3. Pós-Game
Nesta fase o produto é preparado para distribuição, e para que isto ocorra são incluídas
as integrações, testes adicionais, documentação do usuário, preparação do material para
treinamento e de marketing (MARTINS, 2007).
3.2. Artefatos
De acordo com Ken e Colin (2009), o Product Backlog é o artefato mais fundamental
no Scrum, pois é ele que indica o que a equipe irá desenvolver. Trata-se de uma lista
priorizada de requisitos funcionais e não- funcionais juntamente com uma estimativa de alto
nível que é elaborada de acordo com os esforços de cada requisito. Segundo Scribd (2009) o
responsável pelo conteúdo, disponibilidade e priorização deste artefato é o Product Owner.
O Product Backlog nunca está completo, ele evolui à medida que o produto e o
ambiente em que ele será usado evoluem. Inicialmente ele é composto apenas pelos requisitos
conhecidos e melhor entendidos. Este é um artefato que sofre mudanças constantemente,
devido a novas necessidades que o produto encontra, por isso ele é considerado dinâmico. Um
detalhe importante do Product Backlog é que ele tem vida útil enquanto houver um produto
que o alimente, ou seja, enquanto houver requisitos, funcionalidades ele tem utilização, no
momento em que, o Product Backlog vai ficando vazio devido ao projeto utilizar os itens que
os pertencem, para construir o projeto, ele começa a perder a utilidade. O correto é que ao
final do projeto todos os itens que compõem este artefato sejam consumidos deixando-o
vazio.
Segundo Scribd (2009), o Product Backlog contém todas as informações que são
necessárias para desenvolver o produto com sucesso, pois ele é uma lista de todas as
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 41
Segundo Agilez (2010), um dos maiores desafios para quem trabalha com
desenvolvimento de software é conseguir mensurar com precisão o tamanho de cada tarefa, e
ainda, conseguir prever o prazo em que esta tarefa deverá ser concluída.
O Planning Poker é uma das técnicas de estimativas mais utilizadas pelas
metodologias ágeis. Para tal técnica ter sucesso é primordial o consenso de todos da equipe
sobre a estimativa, desta maneira utiliza-se de um conjunto de cartas com valores específicos
que podem representar pontos relativos ou até mesmo horas, os valores das cartas seguem a
seqüência de Fibonacci1.
1
Um número da Seqüência de Fibonacci é gerado pela soma dos dois números anteriores. A seqüência se inicia
com os números 0,1, então somando os dois primeiros, o número seguinte será 1, sendo assim, a seqüência agora
é 0, 1, 1. Repetindo isto, temos o número 2, gerando a seqüência 0, 1, 1, 2 e assim sucessivamente. (ESPINHA,
2010).
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 42
O Sprint Backlog corresponde a uma lista de tarefas que a equipe do projeto define e
se compromete a implementar no Sprint. Esta lista de tarefas é derivada do Product Backlog,
onde estão todos os requisitos priorizados do sistema. A cada novo Sprint é realizado uma
seleção dos itens do Product Backlog de acordo com o planejamento que a equipe aderiu para
o Sprint (MARÇAL, 2009).
Segundo Improveit (2007), a equipe de projeto se compromete a desenvolver
funcionalidades selecionadas para o Sprint de acordo com as prioridades dos itens do Product
Backlog que o Dono do Produto estipulou e também com a experiência de percepção, que a
equipe possui, analisando cada item e estimando o tempo necessário para desenvolver todas
as tarefas do Sprint, sendo assim, a equipe determina a quantidade de itens que serão migradas
do Product Backlog para o Sprint Backlog.
Durante o Sprint, o Scrum Master analisa os itens do Sprint Backlog atualiza-o quando
necessário, afim de identificar a quantidade de tarefas que foram finalizadas e quanto tempo a
equipe acredita que será necessário para finalizar aquelas que ainda não estão prontas. Desta
maneira, o Scrum Master consegue estimar o trabalho restante do Sprint diariamente, podendo
então, armazenar e esboçar as informações para todos os interessados em um gráfico
denominado Sprint Burndown Chart.
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 43
tarefas a serem finalizadas, deve-se consultar o Dono do produto novamente para verificar se
novas tarefas serão incrementadas no Sprint (ECLIPSE, 2010).
O Sprint Burndown Chart é um recurso de medição muito valioso para a metodologia
Scrum, pois é através do mesmo que consegue-se medir o andamento do processo de
desenvolvimento do projeto, tais informações tornam deste artefato um diferencial para a
metodologia Scrum (CISNEIROS et al., 2009).
Este artefato como o próprio nome diz é um quadro de tarefas, que é utilizado pela
equipe do projeto e pelo Scrum Master nas Reuniões Diárias. Este quadro exibe todo o
trabalho que a equipe está desenvolvendo durante o Sprint.
A Ilustração 10 esboça o Sprint Task Board View.
As tarefas que compõe o quadro são os itens selecionados do Product Backlog para
serem desenvolvidos no Sprint. Cada linha no Quadro de Tarefas equivale a um item do
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 45
Product Backlog, tais itens são representados como estórias. As colunas representadas no
quadro são os status em que as tarefas se encontram pode ser: TO DO (PENDENTE), IN
PROCESS (ALOCADO) e DONE (PRONTO).
As tarefas que estiverem com o cartão em TO DO são as tarefas que terão que ser
realizadas no decorrer do Sprint, já as tarefas cujos cartões estiverm em IN PROCESS são
tarefas que estão sendo realizadas neste momento do Sprint e por fim as tarefas cujos os
cartões estiverem em DONE são tarefas do Sprint que já foram finalizadas. Os cartões com as
tarefas poderão ser movidos nas Reuniões Diárias do Sprint, onde toda a equipe e o Scrum
Master devem estar presentes (ECLIPSE, 2010).
3.3. Papéis
O Scrum Master apesar de ocupar uma posição similar a de um gerente de projeto, não
é um gerente, mas sim um líder responsável por forçar as práticas e valores do Scrum, assim
como, remover os obstáculos, ensinar o processo a todas as pessoas, implementar o Scrum e
garantir que todas as pessoas sigam suas regras e práticas (MARTINS, 2007).
De acordo com (Cisneiros et al., 2009) o Mestre Scrum como líder da equipe de
desenvolvimento, tem um contato maior com o Dono do Produto, dessa maneira ele deve
gerenciar e repassar o trabalho que foi decidido durante o planejamento pelo Proprietário do
Produto.
Seguem algumas das responsabilidades do Scrum Master (MARTINS, 2007 e
(Cisneiros et. al., 2009):
De acordo com Devin (2010), devido ao fato do Scrum Master possuir todas essas
responsabilidades citadas acima, pode-se chamá-lo também de coordenador de projeto, ou
seja, ele deve também coordenar o projeto fazendo com que a comunicação entre as pessoas
sejam constante a fim de facilitar o andamento do projeto.
O Scrum Master além de comandar as reuniões diárias ele também possui mais três
responsabilidades, que podem ser designadas como principais. São elas:
Acompanhar o andamento do projeto, identificando quais atividades foram
concluídas, quais foram iniciadas, quais são novas, ou seja, que tiveram
mudanças no decorrer do projeto. De acordo com este acompanhamento o
Scrum Master pode alterar suas estimativas para o projeto, e também atualizar
o Burndown Chart, que permite mostrar quanto falta para um Sprint acabar, dia
por dia. Desta maneira o Scrum Master deve estar sempre atento ao numero de
tarefas em aberto e tentar minimizar o máximo possível essas tarefas para que
o trabalho seja ágil e eficiente;
Avaliar as dependências, bloqueios, impedimentos que causam prejuízo ao
andamento do projeto. Para isto, deve-se fazer um plano de solução e
priorizando os itens mais críticos;
Perceber e resolver problemas pessoais ou conflitos entre os integrantes do
time de desenvolvimento Scrum. Tais problemas devem ser resolvidos através
de diálogos com o time, e caso não tenha um bom resultado com o diálogo,
então o Scrum Master deve envolver a gerência ou até mesmo o departamento
de Recursos Humanos. O Scrum Master deve estar sempre atento ao time para
fazer dele totalmente funcional e produtivo.
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 48
Segundo Félix (2010), todas as reuniões do Scrum seguem um padrão comum. Este
padrão é constituído por regras básicas que são essenciais para ter-se uma reunião eficiente e
satisfatória para todos os participantes.
No Scrum as reuniões são planejadas seguindo critérios e pré-condiçòes fundamentais
para alcançar o seu objetivo, abaixo são listados alguns exemplos:
Deve-se definir a agenda, pelo menos, um dia antes, para que seja possível
reservar espaço fisíco e infra-estrutura para que a reunião ocorra;
Deve-se enviar para todos os participantes da reunião a agenda e quais são os
objetivos a serem abordados na mesma;
Deve-se reservar todos os recursos necessário para a realizaçao da reunião, por
exemplo: sala, notebook com acesso à internet, projetor, enfim, deve-se
garantir que a sala de reunião está totalmente preparada antes do início da
reunião.
O Dono do Produto apresenta os itens do Product Backlog que ele deseja que seja
estimado, para a equipe do projeto, pois é função da mesma estimar tais itens. Desta maneira,
o Dono do Produto explica os detalhes de cada item para que a equipe possa realizar o método
de estimativa, o Scrum utiliza o Planning Poker para realizar as estimativas, afim de que
todos da equipe chegam a um consenso único. Enquanto a equipe toda não estiver de acordo
com o resultado estimado para o item, a estimativa não é finalizada, se houver necessidade o
item é explido e discutido novamente entre todos da equipe. Tais estimativas são a base para o
planejameto dos Sprints.
Nesta reunião, o Scrum Master deve apenas assegurar que a mesma está sendo
realizada seguindo as regras do Scrum, ele em momento algum pode influênciar a equipe na
estimativa dos itens (FÉLIX, 2010).
Nesta reunião a equipe de projeto deverá escolher quais itens do Product Backog
deverão ser desenvolvidos no Sprint. Tais itens também são conhecidos como estórias, sobre
as quais todos da equipe deverão chegar a um acordo de que terão condições de
desenvolverem as estórias escolhidas. Após as escolhas das estórias que serão implementadas
no Sprint pode-se realizar o Sprint Planning 2.
No Sprint Planning 2 toda a equipe concentra seus esforços em quebrar as estórias do
Product Backlog em unidades menores de trabalho, que são conhecidas como Tasks. Cada
Task pode ser representada por post-its e inseridas na Sprint Task Board View, podendo
mudar de status no decorrer do Sprint (to do, in progress, done). A importância dos membros
da equipe quebrar essas estórias em tarefas é a facilidade de desenvolvimento do Sprint. É
recomendado que as tarefas sejam detalhadas e quebradas o máximo possível para serem
realizadas em um dia de trabalho ou menos, pois com isso além de identificar possíveis riscos
também facilitará o gerenciamento e visualização no momento da Reunião Diária (BURGOS,
2010).
Após esta reunião é elaborado o artefato Sprint Backlog que contem a especificação de
todas as atividades técnicas do Sprint são especificadas, assim como, os devidos esforços que
deverão ser tomados para que seja alcançado o objetivo do Sprint que iniciará.
Além da lista de atividades, que é elaborada na reunião de planejamento de Sprint, a
equipe de projeto junto com o Dono do Produto devem descrever o objetivo da iteração, de tal
maneira que esse objetivo servirá como critério de avaliação dos resultados do Sprint. Os itens
do Product Backlog que não foram inseridos no Sprint Backlog ficarão pendentes para serem
analisados na próxima reunião de planejamento de Sprint ( VAILATI, 2010).
No Scrum o Scrum Master e a Equipe do Projeto fazem uma reunião diária que limita-
se ao tempo de 15 minutos que, caso seja necessário pode chegar a durar até 30 minutos. Esta
reunião é curta, pois seu propósito é ser mais objetiva (MARTINS, 2007). Essas reuniões
geralmente são realizadas no mesmo horário e mesmo local todos os dias e, como esta é uma
reunião que apóia a determinação das atividades daquele dia, é recomendado que ela seja
realizada no período da manhã (ECLIPSE, 2010).
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 52
No momento em que o Scrum Master descobre o que cada membro concluiu ontem e
irá realizar hoje, já é possível ter uma visão de como está o andamento do trabalho, ou seja, se
está sendo cumprindo o prazo estimado, do mesmo modo em que a equipe de trabalho
também consegue identificar quais trabalhos ainda faltam concluir.
A reunião diária Scrum é realizada também para verificar o comprometimento entre os
membros da equipe, por exemplo, se um programador diz “Hoje eu vou terminar o módulo de
armazenamento de dados” todos sabem que na reunião de amanhã ele dirá se terminou ou
não. Desta maneira, é possível que cada membro da equipe compreenda que cada um tem
compromisso uns com os outros, não com um cliente distante ou com um vendedor.
É papel do Scrum Master remover os impedimentos que surgirem durante a reunião.
Impedimentos esses, que a equipe de projeto identifica, porém se ocorrer de ser um
impedimento em que o Scrum Master não consiga remover diretamente, ele deve assegurar
que alguém do time solucione o mais breve possível (ECLIPSE, 2010).
possível verificar periodicamente se o projeto está produzindo valor para o negócio e também
analisar se a qualidade e as funcionalidades estão sendo produzidas.
Após a execução do Sprint, a equipe apresenta o incremento que foi implementado
para os gestores, clientes, usuários e o dono do produto, de modo que eles possam avaliar a
iteração. Eles escutam da equipe do projeto qual foi a trajetória até chegar no final do Sprint,
quais foram os erros e acertos. De acordo com os fatos divulgados pela a equipe o dono do
produto pode tomar uma decisão informal do que fazer em seguida, ou seja, se a equipe pode
avançar para o próximo Sprint (KEN e COLIN, 2009).
Nesta reunião também deve ser apresentado o relatório de mudanças, no qual são
descritos o que aconteceu durante o Sprint, o que foi discutido e decidido nas últimas reuniões
de revisão, e as adaptações que foram feitas. Deve ser apresentado também a versão anterior e
a atual do Product Backlog do projeto entre os Sprints, assim com o relatório de mudanças em
que deve ser documentado a diferença entre os dois Product Backlog e suas causas. O
documento de mudança além de documentar todas as mudanças que ocorreram no projeto,
também documenta as inspeções e adaptações que o projeto sofreu em um período de tempo
(MARTINS, 2007).
Seguem as regras da Reunião de Revisão de Sprint de acordo com Ken e Colin
(2009):
Procurar não ultrapassar uma hora na reunião de revisão do Sprint;
As funcionalidades que não foram implementadas não podem ser apresentadas;
Os artefatos que não são funcionalidades também não podem ser apresentados
exceto quando são usados para compreender o produto;
A funcionalidade deve ser apresentada num ambiente mais próximo possível
ao real, por exemplo, no ambiente de produção ou homologação;
A revisão do Sprint começa com um membro a equipe apresentando os
objetivos do Sprint, mostrando as funcionalidades selecionadas do Product
Backlog que foram implementadas e as que não foram implementadas. Os
membros fora da equipe discutem os pontos positivos e negativos do Sprint;
A maior parte do tempo com a revisão do Sprint é gasto com os membros da
equipe apresentando as funcionalidades, respondendo perguntas a respeito das
funcionalidades da apresentação e anotando possíveis mudanças;
Ao final da apresentação as partes interessadas do produto avaliam as
mudanças desejadas e indicam as prioridades destas mudanças;
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 54
A reunião de retrospectiva ocorre logo após a reunião de revisão do Sprint. Esta é uma
reunião dirigida pelo Srum Máster que encoraja a equipe do projeto a revisar o seu processo
de trabalho, tendo em vista o framework e as práticas do Scrum, para se obter um melhor
desempenho na próxima iteração (MARTINS, 2007).
De acordo com Ken e Colin (2009), esta é uma reunião que permite a equipe do
projeto a discutir o Sprint que foi concluído de maneira a expressar o que poderia ser mudado,
em relação a comunicação, o ambiente de trabalho, os artefatos e as ferramentas que são
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 55
utilizadas durante cada Sprint, para fim de que o Scrum Master juntamente com a equipe
busquem a melhor alternativa para tornar o próximo Sprint mais agradável e produtivo.
Segundo Ken Schwaber apud Martins (2007) esta reunião apresenta as seguintes
características:
A equipe inteira, o Scrum Master e o Dono do Produto devem participar da
reunião;
A reunião começa com cada membro respondendo duas perguntas, que são: “O
que deu certo durante o Sprint?” e “O que pode ser melhorado para o próximo
Sprint?”;
O Scrum Master toma nota das respostas dos membros da equipe;
A Equipe prioriza em que ordem ela quer discutir as melhorias potenciais;
O Scrum Master não está na reunião para prover as respostas, mas ajudar a
equipe descobrir novas formas de trabalhar dentro do processo Scrum.
Nesta seção foram apresentados alguns conceitos da metodologia ágil Scrum, assim como,
seu ciclo de vida e suas três fases: pré-game, game e pós-game. Cada fase foi desdobrada
apresentando suas respectivas atividades, artefatos e papéis.
Foi possível verificar que o Scrum está apto a receber mudanças e inovações contínuas em
seus projetos, pois o mesmo aborda métodos iterativos e incrementais. Ainda neste contexto,
pode-se notar que Scrum possui boas práticas para gerenciar e atender mudanças advindas do
mercado.
Na próxima seção serão abordados conceitos de gerenciamento de projetos de software e
por fim o Scrum será associado a este contexto.
4. GERENCIAMENTO DE DESENVOLVIMENTO DE SOFTWARE
COM A METODOLOGIA SCRUM
De acordo com Highsmith (2004) apud Martins (2007), o mercado concorrente exige
cada vez mais das empresas diferencial, porém que contenha inovações, agilidade e qualidade,
desta maneira, empresas e/ou indústrias de diversos ramos (farmacêutica, automotiva,
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 57
software, circuitos integrados, dentre outras) estão buscando atender as demandas constantes
dos clientes por inovação e redução de custos com experimentações. Tais empresas estão
passando por mudanças massivas do estilo de desenvolvimento antecipatório, como PMI
(Project Management Institute), para o adaptativo, como o APM (Agile Project
Management).
Por exemplo, no desenvolvimento de software, o grande motivo que levou as empresas
a mudarem do estilo de desenvolvimento antecipatório para adaptativo, foi justamente pelo
fato de o modelo adaptativo ter uma visão geral do projeto, e no decorrer dos ciclos
realizarem explorações detalhando mais os requisitos e artefatos. Desta maneira a facilidade
para adaptações no projeto, levando a resultados confiáveis torna-se maior, pois não é preciso
esperar que o projeto acabe para notificar que o mesmo não está exatamente como era o
esperado pelo cliente.
Para o modelo adaptativo a equipe toda tem que ter uma visão clara do produto e de
como ele afetará os negócios dos clientes, assim como tem que estar claro a data limite da
entrega de cada ciclo, com uma versão funcional do produto, além de saber quais recursos
farão parte do projeto. Com a visão geral do “todo” do produto e/ou do projeto, como a
metodologia ágil Scrum propõe, torna-se fácil adaptar e evoluir os ciclos conforme as
necessidades identificadas pelos clientes, dessa maneira o produto irá amadurecendo no
decorrer dos ciclos do projeto e o seu gerenciamento conseqüentemente será mais fácil devido
o seu controle por ciclos pequenos.
De acordo com Chin (2004) apud Araujo (2008), em 2001 quando o Manifesto Ágil
foi lançado, algumas empresas de software passaram a utilizar práticas de metodologias ágeis
nos métodos e técnicas de gerenciamento clássico de projetos, tentando suprir a complexidade
do gerenciamento de projetos. Porém, essas adaptações não obtiveram como resultado
eficácia, devido às restrições aos métodos e técnicas do gerenciamento clássico de projeto, os
resultados muitas vezes apresentavam desempenho ruim. Desta maneira, Chin propõe uma
nova abordagem para o gerenciamento ágil de projetos, no qual a visão do forte planejamento
prévio das atividades é quebrada denominada Gerenciamento Ágil de Projetos ou o Agile
Project Management (APM).
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 58
concentrar-se também nas atividades que agregam maior valor para o cliente,
eliminando a carga extra como de atividades burocráticas o que agiliza o
processo de desenvolvimento. Por fim o APM busca selecionar e desenvolver
os indivíduos com o melhor perfil para o projeto;
Adaptabilidade do processo e das pessoas: Esta é a prática do APM
designada para atender rapidamente às mudanças no negócio e no produto,
desta maneira é importante que a equipe entenda que o produto pode ser
modificado no decorrer do seu desenvolvimento e adaptações devem ser feitas
sempre que necessário. As equipes também devem saber que poderão ser
alocadas em projetos diferentes a qualquer momento, basta surgir esta
necessidade, sendo assim, é importante que os valores da equipe estejam claros
para todos os membros que a compõe, onde o auto-aprendizado e as
adaptações são fatores integrais dos valores da equipe;
Resultados confiáveis: Este é o ultimo objetivo do APM e também muito
importante, pois é através dos resultados confiáveis que se alcança o
crescimento do negócio. Devido aos projetos ágeis serem exploratórios, e
possuírem diversas incertezas que cercam os requisitos e as novas tecnologias,
esses projetos não conseguem entregar um resultado conhecido e pré-
especificado. Porém com o bom gerenciamento é possível entregar resultados
de valor para o cliente que atendam as necessidades atuais para o negócio. Isso
ocorre devido o fato dos processos tradicionais de gerenciamento serem
medidos pelo escopo, custo e prazo. Os processos tradicionais enfatizam que o
planejamento deve ser realizado logo no início do projeto, assim como, seus
respectivos requisitos são capturados e congelados após serem capturados,
enquanto que nos processos exploratórios são avaliados pela visão, custo e
prazo, o planejamento é minimalista, com requisitos mínimos e suficientes para
serem explorados e evoluírem através do aprendizado e da mudança.
Na Ilustração 11 é representado o framework do APM que consiste em cinco fases,
cada qual com suas características próprias, que são: visão, especulação, exploração,
adaptação e fechamento.
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 60
Visão: Nesta fase tem-se uma visão ampla do negócio ou do produto suficiente
para manter as próximas fases coesas. Esta fase tem três objetivos, sendo o
primeiro obter a visão do produto e o escopo do projeto, definindo o que será
entregue na iteração, o próximo passo, que é o segundo objetivo, é definir as
pessoas que estarão envolvidas no projeto, sendo elas: clientes, gerentes do
produto membros da equipes, dentre outros interessados no projeto. O terceiro
objetivo consiste na equipe do projeto criar uma visão de como irão trabalhar
em conjunto. Nesta fase, há uma documentação mais enxuta do produto,
descrita em alto nível, tal documentação vai amadurecendo nas próximas fases
de especulação e exploração.
Especulação: Esta fase tem como foco desenvolver um plano de releases
baseado em características e funcionalidades do produto, definir marcos para o
acompanhamento do projeto e um plano de iteração para concretizar a visão.
Nesta fase é estabelecido um plano de ação, porém tal plano no APM é
baseado em especulações e assim são criadas hipóteses de acordo com
informações incompletas. A fase de Especulação possui uma extensão da fase
Visão que consiste de:
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 61
Exploração: Esta fase é composta por três objetivos principais que são:
entrega das features através do gerenciamento da carga de trabalho, ou seja,
entregar o produto que foi planejado para determinada iteração respeitando o
trabalho planejado, o gerente de projetos deve criar uma comunidade
colaborativa e auto-organizada, a colaboração e auto-organização podem
ocorrer naturalmente pelos membros da equipe, e por fim deve ser realizado o
gerenciamento do relacionamento entre as pessoas envolvidas no projeto,
como por exemplo, a interação da equipe com os clientes do projeto.
O APM também possui alguns princípios e valores aplicados a sua prática, os mesmos
devem ser utilizados para que um bom gerenciamento de projeto seja realizado. Os quatro
valores centrais adotados pelo APM são os mesmos descrito no Manifesto Ágil: Resposta a
mudanças ao invés de seguir um plano; Produtos funcionando no lugar de documentações;
Colaboração no lugar de contrato com o cliente; e Interação entre as pessoas no lugar de
processos.
De acordo com Highsmith (2004) apud Araujo (2008), o APM apresenta seis
princípios que são divididos em duas categorias, sendo a primeira relacionada ao produto e ao
cliente e a segunda relacionada ao gerenciamento. Esses princípios e seus relacionamentos
estão representados na Ilustração 12.
Para que a equipe aplique as práticas do APM e consiga obter com seus resultados
alguns benefícios, é fundamental que os valores e seus respectivos princípios sejam seguidos,
pois os princípios possuem pontos importantes para a caracterização do APM, tais como a
geração de entregas iterativas, tendo seus prazos de entrega curtos e fixos e construção de
equipes aptas a mudanças durante o desenvolvimento do projeto, assim como variações de
ambientes.
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 63
rumo certo. E por fim a área de Integração que é responsável por abranger todas as áreas de
maneira organizada.
Na metodologia Scrum os cinco processos de gerenciamento de projetos, existentes no
guia do PMBOK estão indiretamente associados as suas fases, pré-game, game e pós-game,
da seguinte maneira:
Segundo Mota (2010), na metodologia Scrum os processos de iniciação e
planejamento são realizados na fase de pré-game. É nesta fase em que são criados o Product
Backlog e o documento de visão, onde ambos os artefatos conseguem prover a definição do
escopo do projeto, sendo que, por meio deste escopo inicial é possível estimar a quantidade
de iterações e o tempo de desenvolvimento necessário para a construção do produto.
Segundo Viana (2010), no Scrum o cronograma é definido de acordo com o produto
que será produzido em cada Sprint, sendo que tal produto é planejado de acordo com a
prioridade funcional definida pelo cliente ou pelo Dono do Produto. Esses Sprints devem ser
curtos, tendo duração de duas a quatro semanas, de maneira que atenda rapidamente as
necessidades do cliente. Logo, o prazo final do projeto não é claramente definido, pois ele
depende da informação de quanto tempo de duração terá o Sprint e qual a quantidade de
Sprints para o projeto. Mas para o cliente isto não é um grande impacto, até porque o mesmo
recebe produtos parciais, porém funcionais no final de cada Sprint.
Para projetos de gerenciamento ágil como o Scrum, ou em qualquer outro projeto ágil
e até mesmo tradicional, o planejamento do custo é essencial para manter o controle do
retorno de investimento (ROI). Para o Scrum, no qual, alterações e adaptações ocorrem
constantemente, sendo incorporadas dentro dos Sprints, a atenção deve ser maior, pois é
necessário avaliar se tais mudanças irão impactar no escopo do projeto e até onde isso trará
custos não planejados. Esta metodologia favorece a flexibilidade em atender ao cliente, porém
deve-se ficar atendo às variações de custo que a mesma pode trazer com tais mudanças,
portanto é ideal que sejam documentadas e reportadas ao Dono do Produto ou ao Cliente o
quanto antes, para que se faça um replanejamento sobre o custo inicial (VIANA, 2010).
No Scrum a alocação dos recursos humanos necessários para compor o time de
desenvolvimento do projeto ocorre no início do projeto, assim como, toda a infra-estrutura
necessária para realizar o desenvolvimento. Os responsáveis por controlar e monitorar tais
recursos e a continuação do projeto é o Scrum Master e o Dono do Produto, que realizam
essas atividades por meio de reuniões que acontecem ao início de cada iteração e também por
meio da remoção de impedimentos levantados pelo time.
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 67
é comunicado a cada membro da equipe quais são suas respectivas tarefas. Além destas
reuniões ainda ocorrem a Reunião de Revisão de Sprint e a Reunião de Retrospectiva onde
por meio das mesmas, são identificadas a situação do projeto e todos podem expressar quais
foram suas experiências e lições aprendidas para o projeto, assim como, dizer o que foi bom e
o que poderia ter sido melhor. Enfim, o Scrum permite que a comunicação seja realizada de
diversas maneiras, porém em todos os momentos de comunicação é importante que se tenha
um documento formal descrendo os respectivos assuntos abordados, nota-se que tais
documentos devem ser simples e objetivos, mantendo a agilidade que a metodologia propõe
(VIANA, 2010).
A fase Game do Scrum refere-se ao processo de Execução, onde o software é
desenvolvido de acordo com o planejado na fase de pré-game, ou seja, nesta fase já estão
definidos os integrantes da equipe, o prazo de duração do Sprint, assim como, as
funcionalidades e características que o Sprint deve conter. Durante esta fase o Scrum Master e
o Dono do Produto devem estar gerenciando e controlando todas as atividades que foram
planejadas para o Sprint, e caso alguma delas estejam atrasadas ações corretivas devem ser
tomadas para eliminá-las.
O controle do andamento do projeto, ou desenvolvimento, é obtido diariamente
através das Reuniões Diárias com a equipe, reuniões essas que devem ser rápidas e objetivas.
Por meio destas reuniões o Scrum Master é responsável por ser o facilitador no projeto
evitando que interferências externas possam vir a prejudicar o trabalho realizado dentro do
Sprint, além das interferências externas é controlado também todo e qualquer tipo de
interferência interna entre a equipe evitando qualquer desvio do objetivo traçado. Além disso,
há mais dois artefatos considerados muito importantes no Scrum que consegue obter o
controle e monitoramento do projeto: Sprint Task Board View – representação gráfica da
quantidade de tarefas, que são medidas em horas, em relação à quantidade de dias que ainda
restam para finalizar o Sprint, por meio deste artefato consegue-se medir a velocidade em que
a equipe está andando e se a mesma irá conseguir cumprir as tarefas planejadas para o Sprint,
logo o outro artefato é Sprint Task Board View – representação por meio de uma lousa a
quantidade de tarefas referente a cada item do Sprint Backlog e suas respectivas situações,
sendo que tais situações podem estar Pendentes, Em Andamento ou Prontas (MOTA, 2010).
E por fim, a fase de Pós-Game é equivalente ao processo de encerramento do projeto.
Esta fase consiste em entregar o produto para o cliente de acordo com o planejado, mas para
que isso aconteça o Scrum tem como prática realizar a reunião de Sprint Review ao final de
cada Sprint, obtendo os resultados do Sprint e analisando o progresso do projeto, assim como,
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 69
Segundo Yin (2005), um estudo de caso é uma investigação empírica que investiga um
fenômeno contemporâneo dentro de seu contexto da vida real. Tal investigação pode ser
realizada por meio de entrevistas ou questionários. Para este trabalho, o método adotado para
coletar as informações é a aplicação de entrevista.
O estudo de caso foi conduzido por meio de entrevista, conforme citado na seção
anterior, no qual foram entrevistados dois gestores da Fábrica de Software. É importante saber
que os dois gestores responderam as mesmas questões, e os dados das respostas obtidas foram
tabulados e descritos na seção seguinte. Abaixo serão apresentadas as questões aplicadas para
o resultado do Estudo de Caso.
Nesta seção foram descritas questões aplicadas a entrevista. Os dados obtidos serão
apresentados na próxima seção.
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 72
1- A Empresa Alfa aborda a metodologia ágil Scrum para gerenciar seus projetos
desde 2008, sendo que a metodologia existente antes da mesma era a metodologia
tradicional RUP.
2- A Empresa Alfa passou a adotar a metodologia Scrum, porque um cliente, que a
utilizava, proporcionou a metodologia, afirmando que a mesma era simples, fácil
de aprender e que trazia bons resultados para os projetos. Com isso, a Empresa
Alfa passou a experimentar tal metodologia em seus projetos e, desta maneira,
foram analisados os resultados que a mesma oferecia, na qual se identificou que
realmente eram bons resultados, pois os projetos passaram a cumprir prazo, houve
maior qualidade no produto entregue ao cliente, houve queda nos custos dos
projetos, a equipe se sentia mais motivada, pois a mesma passou a ter uma maior
integração com todos os envolvidos no projeto, inclusive com o cliente e também
os clientes passaram a ter maior satisfação nos produtos entregues a eles. Todos os
envolvidos nos projetos aceitaram o uso da nova metodologia ágil, pois a mesma
foi útil e satisfatória a todos. Segundo o gestor o serviço em si que era realizado
nos projetos, praticamente não mudaram nada, o que aumentou foi à comunicação,
que segundo a visão dos envolvidos, este foi um dos pontos positivos.
3- Inicialmente, a empresa adotou as seguintes práticas: Planning 1, Planning 2,
Estimation, Retrospective, Review, Scrum Board e Product Backlog, Burndown
Chart. Porém, com os resultados obtidos das experiências na utilização da
metodologia, algumas práticas precisaram ser um pouco customizadas para atender
as necessidades da Empresa Alfa . Tais práticas estão descritas abaixo.
Planning 1 e Planning 2 se resumiram a uma única reunião, sendo
denominada Planning, nesta reunião são apresentadas as estórias
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 73
questões de regra de negócio, maior retorno de investimento (ROI) e até mesmo pelo fato da
arquitetura do software.
4- O tamanho dos Sprints variam entre duas a três semanas, dependendo do escopo,
em alguns casos raros juntam-se dois Sprints de duas semanas.
5- Durante o Daily Meeting, há a comunicação entre a equipe de projeto, na qual há
uma interação interna entre os membros da equipe do projeto. Há um tempo a
empresa envolvia o cliente a participar desta reunião, porém hoje esta prática não
ocorre mais. Hoje o gestor de projetos ou analista de requisitos faz esta interface
entre cliente e equipe de projeto.
6- Através do Daisy Meeting; gráficos como o Sprint Burndown Chart que visam
obter a quantidade de tarefas que estão sendo realizadas diariamente, assim como
quantidade de tarefas novas inseridas no Sprint, tempo restante para realizar o
release e finalizar o Sprint.
7- O planejamento dos Sprints ocorre da seguinte forma, primeiramente é obtida uma
visão geral, contendo todas as funcionalidades do projeto, o responsável por obter
este primeiro contato com o cliente é o analista de requisitos ou até mesmo o
gestor do projeto. Após este levantamento inicial, da visão geral do projeto, é
realizado o Planning, cujo suas características foram descritas anteriormente, na
questão 3.
8- A entrega do produto para os clientes é realizada por partes, ou seja, é entregue um
conjunto de funcionalidades, que foram acordados para serem desenvolvidos no
Sprint. Desta forma, a Empresa Alfa instala tais funcionalidades (parte do
software) no ambiente do cliente e apresentam-nas à eles por meio do Review. O
objetivo de realizar o Review com o cliente é justamente de obter o feedback dele
referente ao software, sendo que neste momento, é possível que o cliente aceite,
rejeite ou solicita algumas mudanças no produto.
9- Quando o cliente solicita mudanças em um software que já está sendo
desenvolvido, ou seja, há um Sprint no qual estão sendo realizadas as atividades
planejadas, o gestor avalia a granularidade das solicitações e, então verifica se é
possível adaptá-las no Sprint, caso seja possível, pois são mudança simples e que
não afetará o prazo e custo do projeto, as mesmas são adaptadas, mas caso
contrário as solicitações são analisadas e priorizadas podendo entrar, ou não, em
um Sprint futuro.
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 75
devido a equipe despender um tempo grande nas estimativas. Isto acontecia muitas vezes por
conta da imaturidade de alguns membros da equipe que, por exemplo, ou não conheciam
muito bem a regra de negócio, ou não entendiam a complexidade de tal funcionalidade.
Porém por outro lado, como relatou o Gest.2, está prática era boa para se trocar idéias e
informações sobre as possibilidades de como desenvolver tal funcionalidade, assim como, era
possível identificar a dificuldade que cada um tinha para desenvolver determinadas
funcionalidades.
Segundo a Empresa Alfa a metodologia Scrum possui boas práticas para gerenciar
projetos de Software, sejam eles projetos simples, complexos, pequenos, grandes, de escopo
aberto ou fechado. Cada projeto deve ser analisado e se necessário algumas customizações
devem ser aplicadas, porém as experiências relatadas com todos esses tipos de projetos nunca
trouxeram problemas à empresa, o gerenciamento utilizando a metodologia Scrum sempre
supriu todas as necessidades.
Nesta seção foram tabulados os resultados do Estudo de Caso aplicado a uma Fábrica
de Software, no qual foram relatados os resultados obtidos pela mesma. Por meio das
entrevistas foi possível notar que é possível gerenciar projetos de Software com Scrum, pois
ela é uma metodologia leve e fácil de usar. Como foi possível notar, a Empresa Alfa não teve
problemas em questão de resistência em adotar a metodologia Srum, sendo o único problema
encontrado a aplicação das estimativas, o que não trouxe grandes problemas à empresa.
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 79
CONCLUSÃO
A Engenharia de Software é uma área que cresce a cada dia que passa. Como foi visto
neste trabalho, a busca por softwares inovadores é grande, porém é preciso ter agilidade e
flexibilidade para conquistar o mercado concorrente. É este fato que leva as empresas de
desenvolvimento de software adotarem metodologias ágeis para desenvolver e gerenciar seus
projetos, pois as mesmas não se prendem a contratos e documentações, e sim buscam por
interação e comunicação com os clientes, o que gera maior confiança, troca de informações e
resulta em satisfação para todos.
Desta maneira, como apresentado neste trabalho, por meio da literatura e
principalmente pelo Estudo de Caso, Scrum é uma metodologia de gerenciamento de projetos
que está sendo utilizada por empresas do segmento da Tecnologia de Informação, e está
trazendo resultados positivos em termos de prazos, custo e satisfação dos clientes em relação
aos produtos entregues a eles. Como pôde ser notado por meio do estudo de caso, algumas
empresas não aplicam todas as práticas do Scrum, customizando aquilo que não se adéqua a
sua realidade, pois as necessidades e objetivos organizacionais não são iguais em todas as
organizações.
A Empresa Alfa , como pequena empresa de software, obteve, segundo se pôde
observar, bons resultados aplicando o Scrum. Tanto para projetos de escopo aberto ou
fechado, a empresa aplica as boas práticas do Scrum em todos os seus projetos com as suas
devidas customizações.
Um dos pontos que se observou também foi a dificuldade em aplicar as técnicas de
estimativa propostas pelos métodos ágeis. A imaturidade dos membros da equipe em aplicar
tais técnicas, como por exemplo, o Planning Poker impede que, mesmo sendo uma técnica
simples, seja possível obter os benefícios de discutir a complexidade do trabalho a ser feito
com todos os membros da equipe.
Foi visto também que uma tendência das empresas de pequeno porte ao aplicar os
métodos ágeis para o gerenciamento de projeto é o uso de ferramentas, livres ou não, que
permitam que o gerenciamento possa ser feito de forma ágil e que a equipe possua uma maior
visibilidade do trabalho que está sendo feito. A Empresa Alfa aplica duas ferramentas simples
que auxiliam no decorrer das atividades, a ferramenta ScrumBoard, que permite acompanhar
as tarefas realizadas por todos os membros e a ferramenta Excel, que permite que seja
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 80
possível realizar o cálculo de métricas como a relação entre tempo gasto e trabalho realizado,
bem como outras métricas.
Com os resultados obtidos durante as entrevistas realizadas no estudo de caso foi
possível perceber que o Scrum pode auxiliar as empresas de desenvolvimento a realizarem um
melhor gerenciamento dos seus projetos de software. A aplicação do Scrum pode se dar de
forma customizada ou não, bem como com o suporte de ferramentas que auxiliem no
acompanhamento do trabalho.
Metodologia Ágil de Gerenciamento de Projetos - Scrum – 81
REFERÊNCIAS
AGILEZ. Mais agilidade em suas estimativas com o Planning Poker. Disponível em:
<http://www.brasiltech.net/agilez/2009/12/13/mais-agilidade-em-suas-estimativas-com-o-
planning-poker/>. Acesso em: 18 out. 2010.
CERVO, A. L.; BERVIAN, P.A. (1996). Metodologia científica. 4. ed. São Paulo : Makron
Books, 209 p.