Buscar

METODOLOGIA ÁGIL, SCRUM COMO IMPLEMENTAR COM SUCESSO

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 63 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 63 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 63 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

FACULDADE DE INFORMÁTICA E ADMINISTRAÇÃO PAULISTA 
 
 
MONIELLE CRISTINA MATEO 
15 AOJ 
 
 
 
 
 
 
MET ODOLOGIA ÁGIL , SCRUM – COMO 
IMPLEMENTAR COM SUCESSO 
 
 
 
 
 
 
 
 
 
São Paulo 
2012 
 
 
 
MONIELLE CRISTINA MATEO 
15 AOJ 
 
 
 
 
 
 
 
 
MET ODOLOGIA ÁGIL , SCRUM – COMO 
IMPLEMENTAR COM SUCESSO 
 
 
 
 
Trabalho de Conclusão de Curso apresentado 
à Faculdade de Informática e Administração 
Paulista, como um dos requisitos para 
conclusão do Curso de Pós-Graduação em 
Engenharia de Software Orientada a SOA. 
 
Orientador: Prof. Ms. Eduardo Endo 
 
 
 
São Paulo 
2012 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Dedicatória: Dedico esse trabalho para todos 
aqueles que me acompanharam e apoiaram 
nesse momento da minha vida. Agradeço em 
especial a Deus, minha família, colegas do 
curso e alguns amigos essenciais para o 
desenvolvimento dessa monografia: Anderson, 
Antônio, Fabrizio, Graziella, Ivan, Michelle e 
Nathália. 
 
 
 
 
AGRADECIMENTOS 
 
 
 
 
 
 
 
 
 
 
 
Agradeço ao meu orientador MS. Eduardo 
Endo por me ensinar e auxiliar no 
desenvolvimento dessa monografia. Agradeço 
ao Instituto de Tecnologia que me permitiu 
acompanhar o uso de SCRUM em uma equipe, 
e portanto, escrever o meu Estudo de Caso. 
 
 
 
 
RESUMO 
 
O SCRUM é uma metodologia ágil que está crescendo no mercado de trabalhado e 
ganhando novos adeptos que procuram agilidade e satisfação do cliente em projetos 
de desenvolvimento de software. Hoje, o ramo de Tecnologia da Informação está 
muito competitivo, onde ganha o cliente a empresa que entregar em menor prazo, 
com melhor custo e qualidade. A agilidade ajuda a trazer a expectativa do cliente 
para o cotidiano do projeto, mostrando ao cliente o resultado, com freqüência, 
daquilo que ele espera. O SCRUM compromete todos do time, desde a equipe 
técnica, analistas, testes até o cliente. A implementação da metodologia gera 
mudanças produtivas e que elevam a eficiência do acompanhamento e 
desenvolvimento do projeto.Trazer o cliente para perto do time, auxilia na motivação 
da equipe em criar um software sem defeitos e que agregue valor para o cliente. 
 
 
Palavras-chave: Método ágil. SCRUM. Projetos com agilidade. 
 
 
 
LISTA DE ILUSTRAÇÕES 
 
FIGURAS 
Figura 1 – Os valores do Manifesto Ágil .................................................................... 15 
Figura 2 – Ciclo de vida do eXtreme Programming ................................................... 17 
Figura 3 – Ciclo de vida do FDD ............................................................................... 19 
Figura 4 – Ciclo de vida do Crystal ............................................................................ 22 
Figura 5 – Princípios do Lean.................................................................................... 23 
Figura 6 – SCRUM não resolve tudo ......................................................................... 27 
Figura 7 – Papéis do SCRUM ................................................................................... 31 
Figura 8 – Kanban de uma sprint .............................................................................. 37 
Figure 9 – Exemplo de gráfico de Burndown............................................................. 38 
Figura 10 – Ciclo de vida SCRUM ............................................................................. 39 
Figura 11 – Exemplo de Planning Poker ................................................................... 42 
 
 
 
 
SUMÁRIO 
 
INTRODUÇÃO ........................................................................................ 9 
INTRODUÇÃO AOS MÉTODOS ÁGEIS ............................................... 13 
MÉTODOS ÁGEIS ....................................................................................................... 13 
XP (EXTREME PROGRAMMING) ................................................................................... 16 
FDD (FEATURE DRIVEN DEVELOPMENT) ..................................................................... 18 
CRYSTAL ................................................................................................................... 21 
LEAN SOFTWARE DEVELOPMENT ................................................................................ 23 
IMPLEMENTANDO O SCRUM.............................................................. 26 
SCRUM EM 100 PALAVRAS ....................................................................................... 26 
ENTENDENDO O SCRUM ........................................................................................... 26 
PORQUE MUDAR É PRECISO (E DÍFICIL) ......................................................................... 29 
ESCOLHENDO UM PROJETO PILOTO ............................................................................. 29 
PAPÉIS E RESPONSABILIDADES ................................................................................... 31 
ARTEFATOS ............................................................................................................... 34 
TIME BOX .................................................................................................................. 39 
SPRINT ...................................................................................................................... 39 
PLANNING MEETING .................................................................................................... 41 
DAILY SCRUM ............................................................................................................ 43 
SPRINT REVIEW ......................................................................................................... 43 
RETROSPECTIVA ........................................................................................................ 44 
QUALIDADE ............................................................................................................... 45 
ESTUDO DE CASO .............................................................................. 47 
 
 
 
CMMI (CAPABILITY MATURITY MODEL INTEGRATION) .................................................. 48 
DIFICULDADES NO SCRUM ........................................................................................ 51 
Imaturidade da equipe ........................................................................................ 51 
Gerente de projetos “sem autoridade” ............................................................. 52 
Escolha do SCRUMMaster ................................................................................. 53 
Prazos .................................................................................................................. 53 
Cliente não respeitar a metodologia ................................................................. 54 
SCRUM na organização ...................................................................................... 54 
CMMI x SCRUM ................................................................................................... 56 
 
9 
 
 
INTRODUÇÃO 
A presente pesquisa se configura como Trabalho de Conclusão de Curso de pós-
graduação em Engenharia de Software Orientada a SOA da Faculdade de 
Informática e Administração Paulista e apresenta suas justificativas para a escolha 
do tema, bem como a sua delimitação. Com a finalidade de contribuir para a 
produção científica e atingir certo grau de aprofundamento acadêmico, a pesquisa 
foi realizada pelo(a) aluno(a) Monielle Cristina Mateo do curso de 15 AOJ. Alguma 
pesquisa prévia se fez para a sua elaboração pelo(a) estudante empenhado(a) na 
pesquisa. Grande parte do projeto inspira-se, no entanto, numa tentativa de avaliar e 
propor melhorias para a área em que atua o(a) pesquisador(a). 
DELIMITAÇÃO DO TEMA 
Para analisar a implementação do SCRUM com sucesso, circunscrito à área de 
Gerenciamento de projeto,a presente pesquisa se organizou em torno de 3 
capítulos. O primeiro capítulo apresenta as Metodologias Ágeis, fazendo uma breve 
descrição dos principais métodos ágeis no mercado. Em segundo lugar, é feita uma 
análise do SCRUM, onde é explicado a metodologia, o que fazer em cada caso, os 
papéis e responsabilidades e como segui-la. Num terceiro momento, é apresentado 
o Estudo de caso, onde é acompanhado a implementação do SCRUM em um 
Instituto de Tecnologia que utilizava outra metodologia. A análise mostra os 
obstáculos enfrentados ao seguir o SCRUM. Os dados foram levantados a partir de 
pesquisas desde o início do curso até o período atual. 
JUSTIFICATIVAS PARA A PESQUISA 
Afora o interesse pessoal dos pesquisadores, o tema se impõe pela recorrência das 
discussões sobre métodos ágeis. No Brasil é assunto obrigatório em todos os 
círculos, neste começo da primeira década do século XXI, pela contribuição que uma 
pesquisa desta natureza pode emprestar à compreensão do real papel do curso 
numa sociedade marcadamente composta de pessoas carentes de formação 
acadêmica e profissional, além de um crescente número de desempregados. 
10 
 
 
Diante da metodologia ágil SCRUM, a equipe e respectivamente a empresa, tende a 
prosperar em inúmeros sentidos. A equipe ganha agilidade através de maturidade 
dos processos, o cliente fica mais satisfeito com prévias do sistema solicitado e os 
integrantes da equipe sentirão a liberdade e responsabilidade resultante do SCRUM. 
Por outro lado, a relevância social da pesquisa se mostra pelo fato de que o estudo 
permitirá ajudar na resposta a uma pergunta básica: metodologia ágil funciona em 
desenvolvimento de softwares? Ao mesmo tempo, a pesquisa poderá ajudar a 
compreender como é o desenvolvimento de software gerenciado através de métodos 
ágeis. Crendo na sua real importância, a pesquisa visa analisar os benefícios de 
utilizar metodologias ágil para, de alguma forma, ajudar a sociedade em sua busca 
de cidadania plena, a partir do que é oferecido à população, especificamente na 
cidade de São Paulo. 
A despeito de a pesquisa roçar quase sempre o pioneirismo, pela quase inexistência 
de estudos na área (especialmente no Brasil), o tema se mostra de execução viável, 
primeiro, pela existência de fontes a serem consultadas; segundo, pelo apoio que os 
pesquisadores receberam da instituição e pelos estudos teóricos já desenvolvidos 
nesta área. 
REFERENCIAL TEÓRICO 
Não apenas são aqui apontados os textos existentes até o momento, mas são 
analisados os progressos, resultados, conclusões e limitações que ora se 
apresentam. Segue, portanto, uma relação do que se tem pesquisado com vistas à 
elaboração do TCC, tanto no aspecto da apresentação do estado atual da questão, 
como propriamente o referencial teórico empregado na pesquisa (marco teórico). 
Foi de grande utilidade para a pesquisa o livro Desenvolvimento de Software Com 
Scrum: Aplicando Métodos Ágeis de Mike Cohn que apresenta um guia prático para 
implementação imediata do desenvolvimento ágil com Scrum em qualquer empresa, 
apresentando recomendações detalhadas, dicas importantes e estudos de caso 
reais. O livro mostra como superar grandes desafios de implementação do Scrum e 
a transformar toda a empresa de desenvolvimento. 
11 
 
 
O texto do Manifesto para Desenvolvimento Ágil de software, do(s) e autor(es) Kent 
Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, 
Martin Fowler, al. , é fruto de um encontro de amigos, em torno do tema 
desenvolvimento de software ágil. São dados enfoques, no texto, de grande 
interesse sobre agilidade, os quais os autores eram representantes de Extreme 
Programming, SCRUM, DSDM, Adaptive Software Development, Crystal, Feature-
Driven Development, Pragmatic Programming, entre outros métodos, forneceram 
pistas e abriram os horizontes para o tema deste TCC. 
PROBLEMA 
Como implementar com sucesso a metodologia ágil SCRUM em equipes que 
utilizam outras metodologias? 
 
HIPÓTESE 
Por meio do conhecimento das vantagens que o SCRUM pode trazer, capacitação 
da equipe, motivação da equipe e do cliente em experimentar uma metodologia nova 
e investimento da empresa, será possível garantir o sucesso da implementação do 
SCRUM. 
OBJETIVOS 
Realizar um estudo de caso sobre a implementação da metodologia SCRUM em 
uma equipe que nunca utilizou antes, mostrando os passos para obter sucesso da 
implementação. 
 
PROCEDIMENTOS METODOLÓGICOS 
A pesquisa seguiu etapas próprias, a partir da hipótese norteadora. Para a coleta de 
dados foram necessários instrumentos adequados, bem como foram empregadas 
técnicas aprendidas durante o curso para a efetiva análise dos dados coletados. 
Foram, portanto, adotados os seguintes procedimentos 
12 
 
 
a) Leitura de textos de orientação teórico-metodológica; 
b) Estudo de caso em um Instituto de Tecnologia; 
c) Análise geral dos resultados. 
LIMITAÇÕES 
Em seu trabalho, o pesquisador corre vários riscos. O primeiro deles é o de trabalhar 
no domínio, às vezes, fluido da interdisciplinaridade, colocando-se logo sob o fogo 
cruzado dos estudiosos de cada uma destas áreas. Mais difícil, no entanto, pela 
natureza da pesquisa, é a obtenção de respostas satisfatórias, o que só será 
superado com uma empática relação com os examinadores da banca. Mesmo 
consciente destas dificuldades, os pesquisadores realizaram a pesquisa, sabedores 
de que as lacunas poderão, depois de percebidas, ser devidamente preenchidas por 
pesquisas posteriores. 
13 
 
 
 
Capítulo 1 
INTRODUÇÃO AOS MÉTODOS ÁGEIS 
Métodos Ágeis 
 
“Agilidade é a habilidade de criar e responder a mudanças com respeito ao resultado 
financeiro do projeto em um turbulento ambiente de negócios. Agilidade é a 
habilidade de balancear a flexibilidade com estabilidade”. (HIGHSMITH, 2002). 
 
Segundo NETO(2002) 
 
Nos dias 11 a 13 de fevereiro de 2001, na estação de ski 
chamada The Lodge at Snowbird nas montanhas Wasatch de Utah, 
17 pessoas se encontraram para conversar, esquiar, relaxar, e tentar 
encontrar um lugar comum e claro, para comer. O que emergiu foi o 
Manifesto para Desenvolvimento Ágil de Software. Representantes 
da Extremme Programming, SCRUM, DSDM, Adaptive Software 
Development, Crystal, Feature-Driven Development, Pragmatic 
Programming, e outros simpatizaram com a necessidade de uma 
alternativa aos pesados processos de desenvolvimento de software 
orientados a documentação. 
Agora, uma grande reunião de anarquistas organizacionais seria 
difícil de encontrar, portanto o que saiu desta reunião foi o simbólico 
Manifesto para Desenvolvimento Ágil de Software, assinado por 
todos os participantes. 
 
A metodologia ágil é associada a projetos em ambientes de requisitos instáveis, 
pouco definidos ou sujeitos a mudanças. Essa ligação foi criada pois ao invés de 
definir completamente o projeto no início como em outras metodologias, as 
definições são feitas durante o desenvolvimento do projeto junto do time de 
desenvolvimento de software. 
Segundo SOARES (2004) 
 O “Manifesto Ágil” não rejeita os processos e ferramentas, a 
documentação, a negociação de contratos ou o planejamento, mas 
simplesmente mostra que eles têm importância secundária quando 
comparado com os indivíduos e interações, com o software estar 
executável, com a colaboração do cliente e as respostas rápidas a 
mudanças e alterações. Esses conceitos aproximam-se melhor com 
14 
 
 
a forma que pequenas e médias organizações trabalham e 
respondem a mudanças. 
 
Segundo MANIFESTO ÁGIL(2001) 
 
1. Nossa maior prioridade é satisfazer o cliente através da 
entrega contínua e adiantada do software com valor 
agregado. 
2. Mudanças nos requisitos são bem-vindas, mesmo tardiamente 
no desenvolvimento. Processos ágeis tiram vantagem das 
mudanças visando vantagem competitiva para o cliente. 
3. Entregar frequentemente software funcionando, de poucas 
semanas apoucos meses, com preferência à menor escala 
de tempo. 
4. Pessoas de negócio e desenvolvedores devem trabalhar 
diariamente em conjunto por todo o projeto. 
5. Construa projetos em torno de indivíduos motivados. Dê a eles 
o ambiente e o suporte necessário e confie neles para fazer o 
trabalho. 
6. O método mais eficiente e eficaz de transmitir informações para 
e enetre uma equipe de desenvolvimento é através de 
conversa face a face. 
7. Software funcionando é a medida primária de progresso. 
8. Os processos ágeis promovem desenvolvimento sustentável. 
Os patrocinadores, desenvolvedores e usuários devem ser 
capazer de manter um ritmo constante indefinidamente. 
9. Contínua atenção à excelência técnica e bom design aumente 
a agilidade. 
10. Simplicidade, a arte de maximizar a quantidade de trabalho 
não realizado, é essencial. 
11. As melores arquiteturas, requisitos e designs emergem de 
equipes auto-organizáveis. 
12. Em intervalos regulares, a equipe reflete sobre como se 
tornar mais eficaz e então refina e ajusta seu comportamento 
de acordo. 
 
15 
 
 
 
Figura 1 – Os valores do Manifesto Ágil 
 
Segundo VICENTE(2011) 
 
[...] a capacidade de reação a mudanças constantes, a colaboração 
com o cliente, processos eficientes para gerar produtos de qualidade 
(que atendem ao cronograma, possuem menos defeitos e que 
resultam em usuários mais satisfeitos), aprendizagem e melhoria 
contínua do projeto. Nesse contexto, estudos com o cliente relataram 
sua satisfação com oportunidades de feedback constante.” 
 
Muitos métodos ágeis começaram a ser utilizados. Como exemplos, os mais 
conhecidos são: 
 
 XP (eXtreme Programming) 
 Scrum 
 Crystal 
 FDD (Feature Driven Development ) 
 Lean Software Development 
 
16 
 
 
XP (eXtreme Programming) 
 
Segundo WELLS (1999) 
 
Extreme Programming é bem sucedida porque enfatiza a 
satisfação do cliente. Ao invés de entregar tudo que o cliente 
pode desejar em alguma data em um futuro distante esse 
processo entrega o software que o cliente precisa e como ele 
precisa. Extreme Programming capacita os desenvolvedores 
para confiantemente responder às necessidades do cliente, 
mesmo no final do ciclo de vida do projeto. 
 
Extreme Programming enfatiza o trabalho em equipe. 
Gerentes, clientes e desenvolvedores são todos parceiros em 
um time colaborativo. Extreme programming implementa um 
ambiente simples, porém efeciente, possibilitando que o time 
torne-se altamente produtivo. O time se auto organiza em torno 
de um problema para resolver da forma mais eficiente possível. 
Extreme Programming melhora o projeto de software em cinco 
formas essenciais: comunicação, simplicidade, feedback, 
respeito e coragem. Extreme programmers constantemente se 
comunicam com seus cliente e colegas programadores. Eles 
mantém o código simples e limpo. Eles recebem feedback 
todos os dias dos testes de software. Eles entregam o software 
para o cliente o mais cedo possível e implementa as mudanças 
como sugerido. Cada pequeno sucesso aprofunda o respeito 
das contribuições únicas de cada membro e de todo o time. 
 
As regras do eXtreme Programming são: 
 
Planejamento (Planning) 
 
 Estórias do usuário (user stories) são escritas. 
 Planejamento de entrega (release planning) cria o cronograma 
das entregas (release schedule). 
 Frequentemente fazer pequenas entregas (small releases). 
 O projeto é dividindo em iterações (iterations) 
 Planejamento da iteração (iteration planning) inicia a cada 
iteração. 
 
Gerenciamento (Managing) 
 
 Manter um ritmo sustentável. 
 Dar ao time um espaço de trabalho dedicado. 
 O dia começa com uma reunião em pé. 
 A velodidade do projeto (project velocity) é medida. 
 Mover as pessoas ao redor. 
 Consertar XP quando quebrar. 
17 
 
 
 
Criação (Designing) 
 
 Simplicidade. 
 Usar cartões CRC para sessões de criação. 
 Criar solução de pico (spike solutions) para reduzir o risco. 
 Nenhuma funcionalidade é adicionada antecipadamente. 
 Refatorar quando e onde for possível. 
 
Codificação (Coding) 
 
 O cliente está sempre disponível. 
 Código deve ser escrito de acordo com os padrões. 
 A codificação é feita em pares. 
 Apenas uma pessoa integra o código de cada vez. 
 Integrar frequentemente. 
 Manter um computador de integração dedicado. 
 Usar propriedade coletiva. 
 
Teste (Testing) 
 
 Todo o código deve ter teste unitário. 
 Todo código deve passar pode teste unitário antes de ser 
entregue. 
 Quando um problema (bug) for encontrado testes são criados. 
 Testes de aceitação são rodados frequentemente e os 
resultados são publicados. 
 
 
Figura 2 – Ciclo de vida do eXtreme Programming 
 
 
18 
 
 
FDD (Feature Driven Development) 
 
Segundo HEPTAGON (2012) 
 
Combina as melhores práticas do gerenciamento ágil de 
projetos com uma abordagem completa para Engenharia de 
Software orientada por objetos, conquistando os três principais 
públicos de um projeto de software: clientes, gerentes e 
desenvolvedores. 
Seus princípios e práticas proporcionam um equilíbrio entre as 
filosofias tradicionais e as mais extremas, proporcionando uma 
transição mais suave para organizações mais conservadoras, e 
a retomada da responsabilidade para as organizações que se 
desiludiram com as propostas mais radicais. 
 
A FDD chama a atenção por algumas características 
peculiares: 
 
 Resultados úteis a cada duas semanas ou menos 
 Blocos bem pequenos de funcionalidade valorizada pelo 
cliente, chamados "Features" 
 Planejamento detalhado e guia para medição 
 Rastreabilidade e relatórios com incrível precisão 
 Monitoramento detalhado dentro do projeto, com resumos de 
alto nível para clientes e gerentes, tudo em termos de negócio 
 Fornece uma forma de saber, dentro dos primeiros 10% de um 
projeto, se o plano e a estimativa são sólidos 
 
A FDD é uma metodologia muito objetiva. Possui apenas duas 
fases: 
 
1. Concepção & Planejamento: Pensar um pouco antes de fazer 
(tipicamente de 1 a 2 semanas) 
2. Construção: Fazer de forma iterativa (tipicamente em iterações 
de 2 semanas) 
 
 
Os cinco processos são bem definidos e integrados: 
 
 DMA (Desenvolver um Modelo Abrangente): Análise Orientada 
por Objetos 
 CLF (Construir a Lista de Funcionalidades): Decomposição 
Funcional 
 PPF (Planejar por Funcionalidade): Planejamento Incremental 
 DPF (Detalhar por Funcionalidade): Desenho (Projeto) 
Orientado por Objetos 
 CPF (Construir por Funcionalidade): Programação e Teste 
Orientados por Objetos 
19 
 
 
 
 
Figura 3 – Ciclo de vida do FDD 
 
A definição dos processos segundo o INSTITUTO DE INFORMÁTICA UFG (2006) 
DMA - Desenvolver um Modelo Abrangente 
 
É a atividade inicial desenvolvida por uma equipe formada por 
membros do domínio do negócio e por desenvolvedores, sob 
orientação de um modelador de objetos experiente, que 
executará o papel de arquiteto-chefe. 
A primeira atividade desse processo é definir o escopo do 
sistema e seu contexto. A partir da definição desses dados 
serão realizados estudos detalhados sobre o domínio do 
negócio de cada área que será modelada. 
O estudo de cada área é realizado por sub-grupos, formados 
por membros do domínio do negócio que está sendo estudado 
e por desenvolvedores. A partir das informações extraídas 
dessa pesquisa, os desenvolvedores elaboram modelos que 
atendam ao domínio estudado. 
Após a conclusão do estudo de cada grupo, é feita uma 
apresentação dos modelos produzidos. O objetivo é definir o 
modelo que será adotado para a área que está sendo 
modelada. 
 
CLF - Construir uma Lista de Features 
 
Nesse processo são identificadas as funcionalidades que 
devem satisfazer às necessidades dos clientes, expressas na 
forma de requisitos. 
20 
 
 
Para isso é formada uma outra equipe, dessa vez composta 
pelos programadores-chefes. Após identificação das 
funcionalidades, esse grupo deve realizar a decomposição 
funcional (áreas, atividades e passos) de cadaatividade do 
negócio. Com isso, é gerada uma lista categorizada para as 
funcionalidades identificadas. 
 
PPF - Planejar por Funcionalidade 
 
É o conjunto de atividades necessárias para elaborar o Plano 
de Desenvolvimento. 
Nessa estapa do processo, uma equipe planeja a ordem na 
qual as funcionalidades serão implementadas. Como 
complemento, são definidas as classes prioritárias e quem são 
os seus desenvolvedores responsáveis, ou proprietários do 
código - outra particularidade da FDD. 
 
DPF – Detalhar por Funcionalidade 
 
É constituído por um conjunto de atividades que visam a 
elaboração do 
Pacote de Projeto de cada funcionalidade. 
Nessa etapa, o programador-chefe forma as equipes de 
funcionalidades. Com isso automaticamente são identificados 
os desenvolvedores proprietários das classes que estão 
envolvidas no desenvolvimento das funcionalidades 
selecionadas. 
Cada equipe deve produzir um ou mais diagramas de 
seqüência para as funcionalidades sob a sua atribuição. De 
posse dessa documentação, caberá ao programador-chefe 
realizar o refinamento do modelo de objetos. 
Ainda dentro dessa etapa, os desenvolvedores devem 
escrevem os prefácios das classes e dos métodos. 
Concluídas as atividades desse processo, será realizada uma 
inspeção no projeto. 
 
CPF - Construir por Funcionalidade 
 
No processo 5 estão agrupadas as atividades que devem ser 
executadas para a codificação das funcionalidades. 
O código desenvolvido passa por uma bateria de testes e por 
outro processo de inspeção. 
Se o código passar com sucesso pela inspeção, ele é 
promovido a build (versão atual). 
 
21 
 
 
Crystal 
 
Segundo SIQUEIRA (2003) 
 
Crystal é o nome de uma família de métodos que devem ser 
ajustados para melhor se adaptarem a uma determinada 
equipe e projeto. Cada método é moldado para ter a 
quantidade exatamente suficiente de processo, capaz de 
atender os projetos a partir da análise de três fatores: a carga 
de comunicação (representada pelo número de pessoas), a 
criticidade do sistema e a prioridade do projeto. 
 
[...] Conforme as cores dos membros da família Crystal se 
tornam mais escuras, tem-se um maior peso dos métodos, o 
que é necessário devido à complexidade dos projetos. Esse 
peso é representado pela quantidade de artefatos e a rigidez 
da gerência, itens que são absorvidos entre os 13 elementos 
definidos para cada método: papéis, habilidades, times, 
técnicas, atividades, processos, artefatos, produtos de trabalho, 
padrões, ferramentas, personalidades, qualidade e valores da 
equipe. 
 
[...] Apesar das diferenças entre as complexidades dos projetos 
abordados pelos métodos da família Crystal, eles apresentam 
em comum valores, princípios e a capacidade de serem 
ajustados durante o uso (on-the-fly). Os valores denotam a 
visão do desenvolvimento de software como um “jogo 
cooperativo de invenção e comunicação, com o objetivo 
primário de entregar algo útil e, em segundo, preparar para o 
próximo jogo”. Dessa forma, os valores pregam que os 
métodos são centrados nas pessoas e na comunicação, além 
de serem altamente tolerantes a modificações – considerando 
as diferenças entre as pessoas. Isso permite que sejam 
utilizadas partes de outros métodos, como práticas e princípios 
do XP e o arcabouço do SCRUM. No entanto, existem duas 
regras que devem ser seguidas, limitando essas modificações: 
o desenvolvimento deve ser incremental, com incrementos de 
até 4 meses, e devem ser realizados workshops de reflexão 
antes e depois de cada incremento. 
 
Em relação aos princípios, eles são os seguintes: 
 
 Comunicação iterativa, face-a-face é o canal mais barato e 
rápido para o intercâmbio de informações. 
 O excesso de peso do método é custoso. 
 Times maiores precisam de métodos mais pesados. 
 A maior cerimônia é apropriada para projetos com maior 
criticidade. 
22 
 
 
 Aumentando a retro-alimentação (feedback) e comunicação é 
reduzida a necessidade de itens intermediários entregues. 
 Disciplina, habilidade e entendimento contra processo, 
formalidade e documentação. 
 Pode-se perder eficiência em atividades que não são o gargalo 
do processo. 
 
 
Figura 4 – Ciclo de vida do Crystal 
 
23 
 
 
Lean Software Development 
 
Segundo GOMES (2012) 
 
Lean é uma metodologia que foi originalmente desenvolvida 
pela Toyota para guiar processos industriais de linha de 
montagem. Ela foca na eliminação de desperdícios, aumento 
da velocidade de processos e na excelência em qualidade. 
Implementar Lean permite que uma organização diminua seus 
estoques, maximize o uso de trabalhadores generalistas (ou 
seja, que possuem muitas habilidades) e produza de acordo 
com a demanda. 
 
Princípios Lean aplicados ao software: 
 
 Elimine Desperdícios 
 Inclua a Qualidade no Processo 
 Crie Conhecimento 
 Adie Decisões e Comprometimentos 
 Entregue o quanto antes 
 Respeite as Pessoas e "Empower" a equipe 
 Otimize o Todo 
 
 
Figura 5 – Princípios do Lean 
 
Segundo STEFFEN (2011) 
 
Eliminar desperdícios 
 
Desperdícios: tudo aquilo que não agrega valor para cliente final e 
que não são percebidos pelo cliente. Exemplo: passos extras, 
processo pesado e rígido, burocracia, documentação que nunca vai 
24 
 
 
ser lida, que está na prateleira juntando poeira - não necessária, 
etc. Outro tipo de desperdício são trabalhos parcialmente prontos, 
tudo que começa e não termina, funcionalidades extras que não 
serão utilizadas, etc. 
Enfim, software útil e de funcionando (de qualidade) é o que vai 
trazer valor ao cliente. Os sete desperdícios de software: 
 
 Inventory = Requirements / Partially done work (Requisitos) 
 Extra Processing Steps = Extra processes, steps (Processos, 
passos a mais) 
 Overproduction = Extra features (Funcionalidades a mais) 
 Transportation = Handoffs, tasks switching (Troca de tarefas) 
 Waiting = Waiting (Atrasos) 
 Defects = Defects (Defeitos) 
 Motion = Finding Information (Movimento) 
 
Qualidade embutida 
 
Qualidade é inegociável. Entregue qualidade intrínseca e explícita 
aos seus clientes, se eles perceberem isso, significa que foi uma 
entrega de qualidade. Mary e Tom Poppendieck em seu livro 
identificaram duas dimensões de integridade: integridade percebida e 
integridade conceitual. A integridade percebida significa que a 
totalidade do produto alcança um equilíbrio entre as funções, 
usabilidade, confiabilidade, economia e isso encanta o cliente. A 
integridade conceitual significa que os conceitos centrais do sistema 
de trabalho em conjunto são facilitados e coesos. Essa última é fator 
crítico de sucesso para a integridade percebida. 
Um produto possui integridade percebida quando o cliente o 
experimenta e diz: Isso! Era exatamente isso que eu queria! Software 
com integridade possui boas arquiteturas, possuem um alto nível de 
usabilidade e facilidade de uso, são fáceis de dar manutenção, de 
adaptar e de estender. 
 
Criar conhecimentos 
 
Desenvolvimento é um exercício de descoberta, enquanto produção 
é um exercício de reduzir a variação. Desenvolvimento é como fazer 
uma nova receita, enquanto produção é como fazer um prato. 
Receitas são formuladas por chefes de cozinha experientes que de 
certa forma desenvolveram habilidades e capacidade de combinar os 
ingredientes disponíveis para produzir o prato desejado. Desenvolver 
uma receita é um processo de descoberta, até os chefes mais 
experientes produzem diversas variações de um novo prato, fazem 
iterações, experimentações, até encontrar a melhor combinação de 
ingredientes que resulte em um prato rápido e sabor agradável. Não 
se espera que os chefes obtenham uma receita perfeita de primeira; 
espera-se produzir diversas variações como parte do processo de 
aprendizagem. Desenvolvimento de software é melhor concebido se 
este fizer parte de um processo de aprendizado similar ao de criar 
uma nova receita. A melhor abordagem para melhorar o ambiente de 
desenvolvimento de software é pela expansão do conhecimento.Práticas sugeridas para promover o conhecimento: 
25 
 
 
 
 Ciclos de feedback e inspeções e adaptações; 
 Desenvolvimento iterativo; 
 Equipes pequenas e cross-functional; 
 Treinamentos e Mentoring; 
 Criação e utilização de standards, guidelines e qualquer outro 
artefato; 
 Code Reviews; 
 Meios de compartilhamento de informações como um Blog ou 
Wiki; 
 
 
Adiar decisões / compromissos 
 
O principal conceito deste princípio é diminuir as incertezas 
retardando as decisões até que possam serem feitas com base em 
acontecimentos mais firmes, previsíveis e conhecidos. Decisões 
tardias tendem a ser mais acertadas porque as melhores decisões 
são feitas baseadas em fatos, e não em suposições ou 
especulações. Uma estratégia chave para adiar 
decisões/comprometimentos quando desenvolvendo um sistema 
complexo e com muitas incertas é usar a capacidade e práticas que 
permitam abraçar as mudanças tardiamente. 
 
Entregar rápido 
 
Sem entregas rápidas não é possível colher feedback. Sem entregas 
rápidas não é possível aprender com erros. Velocidade na entrega 
garante que o cliente receberá o que ele precisa hoje e não o que ele 
precisava ontem. 
 
Respeitar as pessoas 
 
Envolver os desenvolvedores nos detalhes das decisões técnicas é 
fundamental para o atingimento da exelência. 
O Software produzido é como um espelho da equipe de 
desenvolvimento. 
Para que as pessoas possam assumir responsabilidades, se sentir 
motivados e atuar como uma equipe eles precisam de confiança e de 
respeito. 
 
Otimizar o todo 
 
Otimizar desde o começo até o final: 
 
 Utilize Métricas 
 Diminua o número de métricas de desempenho individual mas 
valorize o desempenho da equipe. 
 Meça para cima: 
 Tempo de ciclo +Mapa de Fluxo de Valor 
 ROI + Modelo de Lucros e Perdas 
 Satisfação do Cliente + Entendimento das suas necessidades 
26 
 
 
 
Capítulo 2 
IMPLEMENTANDO O SCRUM 
 
SCRUM em 100 palavras 
 
Segundo COHN(2002) 
 Scrum é um processo ágil que permite manter o foco na 
entrega do maior valor de negócio, no menor tempo possível. 
 Isto permite a rápida e contínua inspeção do software em 
produção (em intervalos de duas a quatro semanas). 
 As necessidades do negócio é que determinam as prioridades 
do desenvolvimento de um sistema. As equipes se auto-
organizam para definir a melhor maneira de entregar as 
funcionalidades de maior prioridade. 
 Entre cada duas a quatro semanas todos podem ver o real 
software em produção, decidindo se o mesmo deve ser 
liberado ou continuar a ser aprimorado por mais um “Sprint”. 
Entendendo o SCRUM 
 
O SCRUM nasceu em um estilo de gerenciamento de projetos em empresa de 
fabricação de automóveis e produtos de consumo (TAKEUCHI & NONAKA, 1986). 
Eles perceberam que ao usar equipes pequenas e multidisciplinares, os resultados 
obtidos eram melhores. Nome SCRUM foi escolhido pela semelhança com o jogo de 
Rugby, pois ambos são adaptativos, rápidos e promovem a auto-organização. 
 
O SCRUM não ensina o que fazer em cada circunstância, mas sim a usar o senso 
comum para resolver as dificuldades encontradas. Senso comum é a combinação de 
experiência, treinamento, humildade e inteligência. 
 
O Scrum não vai dizer exatamente o que fazer, não irá resolver todos os seus 
problemas, mas com certeza os problemas serão mais facilmente identificados 
(PAULO PEREIRA, 2008). 
 
27 
 
 
 
Figura 6 – SCRUM não resolve tudo 
 
As características do SCRUM segundo STEFEEN (2011) 
 
 Trabalha de forma iterativa e incremental 
 As equipes são mutli-funcionais (cross-functional) e auto-
organizadas (self-organizing) 
 Foca em prioridade: equipe sabe por onde começar e o que é 
mais prioritário para o cliente 
 Objetividade: metas menores (por sprints) atingíveis e claras. 
 Visibilidade: clara visibilidade do que está completo e as 
pendências o que reduz os riscos e as incertezas associadas 
ao projeto 
 Aumento do ROI: entregando funcionalidades antes para a 
validação do cliente. 
 Maior flexibilidade a agilidade: permite rever o planejamento, 
mudar de direção ou fazer adaptações para as próximas 
iterações. 
 Não há prática de engenharia prescrita (o Scrum adequa-se a 
todas) 
 
Algumas vantagens do SCRUM segundo RAMOS(2010) 
 
 Processo bem definido e com time boxing; 
 Formação de profissionais auto-gerenciáveis; 
 Maior envolvimento do cliente; 
 Entregas freqüentes; 
 Desenvolvimento da equipe (liderança e auto-organização); 
 Foco no cliente: O time entende que sua tarefa é uma parte em 
um Sprint e vêem valor agregado no que estão fazendo; 
 O cliente torna-se responsável nas alterações de escopo; 
 
 
Empresas que utilizam o SCRUM: 
 Microsoft 
 Yahoo 
 Google 
 Electronic Arts 
28 
 
 
 High Moon Studios 
 Lockheed Martin 
 Philips 
 Siemens 
 Nokia 
 Capital One 
 BBC 
 Intuit 
 Nielsen Media 
 First American Real Estate 
 BMC Software 
 Ipswitch 
 John Deere 
 Lexis Nexis 
 Sabre 
 Salesforce.com 
 Time Warner 
 Turner Broadcasting 
 Oce 
 
Segundo COHN(2002), o SCRUM tem sido usado para 
 
 Software comercial 
 Desenvolvimento interno 
 Desenvolvimento contratado (terceirização) 
 Projetos de preço fixo 
 Aplicações Financeiras 
 Aplicações certificadas pela isso 9001 
 Sistemas embarcados 
 Sistemas disponíveis 24x7 
 Desenvolvimento por hackers solitaries 
 Video games 
 Sistemas para suporte à vida 
 Sistemas para controle de satélites 
 Websites 
 Software para handhelds 
 Telefones celulares 
 Aplicações para redes 
 Aplicações de ISV (Independent Software Vendors) 
 Algumas das maiores aplicações em produção 
 
 
29 
 
 
Porque mudar é preciso (e díficil) 
 
Em um mundo cada vez mais competitivo, ganha aquele que fornece o produto mais 
rápido, mais barato e com mais qualidade. As empresas começaram a perceber que 
precisavam mudar seu jeito de lidar com projetos para que se tornassem 
competitivas no mercado de trabalho. Apesar de identificar a necessidade de mudar, 
nem sempre é fácil fazê-la. 
 
 “A capacidade de mudança humana e, portanto, organizacional é limitada – 
peça que as pessoas mudem muitas coisas de uma só vez e elas se perdem; o 
estresse e a desorientação pertubadores do choque do futuro se instalam." (MIKE 
COHN, 2011, p. 31) 
 
A metodologia ágil cria a sensação de desenvolvimento mais rápido, e na verdade é, 
pois as entregas são feitas com mais freqüência, aproximando mais os stakeholders 
de seu produto. Além disso, com pequenas entregas, os defeitos e necessidades 
são encontrados antes e portanto, corrigidos antes. Esse processo custa menos 
para empresa e satisfaz mais o cliente. 
 
Escolhendo um projeto piloto 
 
Escolher um projeto para implementar o SCRUM é a tarefa mais desafiadora, pois 
nem todo projeto é adequado para ser o primeiro. 
 
A combinação de 4 pilares levam ao projeto certo, segundo COHN(2011, p. 104-105) 
 
1. Duração 
Se o projeto for muito curto, pessoas alegarão que o SCRUM 
só funciona em projetos pequenos. Caso o projeto seja longo, 
é dificil perceber o sucesso antes do fim. O ideal é projetos 
medianos, de 3 a 4 meses, onde seja possível o 
desenvolvimento do SCRUM, a adaptação das sprints e o 
sucesso do projeto. 
 
2. Tamanho 
 
O tamanho da equipe deve estar de acordo com o tamanho 
do projeto. Liderar muitas equipes de uma vez só pode não 
30 
 
 
ser uma experiência fácil. Começar com poucas equipes, no 
máximo 5, ajuda no aprendizado do SCRUM. 
 
3. Importância 
 
Apesar do projeto “sem muita importância” fazer mais sentido 
para iniciar o SCRUM, esse não deve ser escolhido. Projetos 
importantes desafiará mais a equipe, que portanto, irá se 
esforçar mais para o projeto obter sucesso. 
 
4. Engajamento do patrocinador do projeto 
 
Um patrocinador que apoie a utilização do SCRUM, pode 
ajudar em processos relacionados a departamento ou 
pessoas resistentes. 
 
Além dos quatro pilares citados acima, há o fator mais importantena escolha do 
primeiro projeto: as pessoas. Escolher as pessoas que irão compor a equipe do 
projeto piloto é uma tarefa dificil, pois envolve personalidade, profissionalismo, 
histórico dentro da empresa, capacidade de lidar em equipe e muitas outras 
características que juntas formam a essência de cada funcionário. 
 
31 
 
 
Papéis e responsabilidades 
 
O SCRUM possue três principais papéis: Product Owner, Scrum Master e Scrum 
team. 
 
 
Figura 7 – Papéis do SCRUM 
 
A definição de cada papel, segundo MARÇAL (2007) 
 
 O Product Owner ou dono do produto, basicamente o cliente, 
responsável por definir o que é o produto, quais as suas 
características, como e quais serão as funcionalidades do 
produto, suas prioridades e aprova ou não o resultado do 
trabalho desenvolvido. Como todo cliente possui a 
preocupação em obter a lucro com o produto desenvolvido. 
Defini a data de entrega e quando necessário redefini as 
prioridades e as características do produto. 
 
 O ScrumMaster trabalha próximo ao Product Owner, tem a 
responsabilidade da aplicação do método, ele deve garantir 
que a equipe seja funcional e produtiva e acompanhar o que 
está sendo realizado, ajudar a equipe removendo todo e 
qualquer impedimento que possa ocorrer no desenvolvimento 
dos Sprints, e também proteger a equipe de riscos e 
interferências externas e também o excesso de otimismo. 
32 
 
 
 A Scrum Team, também chamada de Equipe, é o conjunto de 
pessoas que possui a responsabilidade de desenvolver e 
entregar os Sprints realizados. Deve ter como características: 
ser disciplinada e auto-gerenciada, com atributos 
multifuncional e comprometidos com um objetivo comum. 
Geralmente são formados em pequenas quantidades. 
 
Os atributos de um bom ScrumMaster, segundo COHN(2011, p. 140-142) 
 
Responsável 
 
Um bom ScrumMaster pode e quer assumir 
responsabilidades. [...] No entanto, o ScrumMaster é 
responsável por maximizar o rendimento da equipe e ajudar 
seus membros a adotar e usar o Scrum. [...] um bom 
ScrumMaster triunfa ao assumir responsabilidades – o tipo 
especial de responsabilidade que não envolve poder. 
 
Humilde 
 
[...] Em vez de colocar suas necessidaes em primeiro lugar, o 
ScrumMaster humilde quer fazer o que for necessário para 
ajudar a equipe a atingir seu objetivo. Os ScrumMasters 
humildes reconhecem valor em todos os membros da equipe 
e pelo exemplo levam os outros a ter a mesma opinião. 
 
Colaborativo 
 
Um bom ScrumMaster trabalha para que exista uma cultura 
colaborativa dentro da equipe. [...] O ScrumMaster certo ajuda 
a criar uma atmosfera colaborativa para a equipe com 
palavras e ações. Quando surgem conflitos, os ScrumMasters 
colaborativos encorajam a equipe a pensar em termos de 
vencedores e perdedores. 
 
Comprometido 
 
[...] um bom ScrumMaster nã deixa muitos dias se passarem 
com obstáculos não resolvidos. [...] Uma maneira de um 
ScrumMaster demonstrar comprometimento é permanecendo 
nesse papel durante todo o tempo do projeto. A mudança do 
ScrumMaster no meio do projeto deestrutura a equipe. 
 
Influente 
 
Um ScrumMater bem-sucedido influencia os outros, tanto na 
equipe quanto fora dela. [...] O ScrumMaster deve saber 
como exercer influência sem recorrer a um estilo ditatorial do 
tipo “porque eu disse que é assim”. 
 
Informado 
 
Além de ter conhecimento sólido em Scrum e experiência no 
assunto, os melhores ScrumMaster também têm o 
conhecimento técnico de mercado [...] Embora os 
33 
 
 
ScrumMasters não precisem necessariamene ser gurus do 
marketing ou especialistas em programação, devem saber 
bastante sobre ambos para serem eficientes na liderança da 
equipe. 
 
Os atributos de um bom Product Owner, segundo COHN(2011, p. 152-153) 
 
Disponível 
 
[...] Ao estar disponível para a equipe, o dono do projeto 
demonstra comprometimento com o projeto. Os melhores 
donos do produto demonstam seu compromentimento fazedn 
o o que quer que seja para construir o melhor produto 
possível. 
 
Especialista no negócio 
 
É essencial que o dono do produto conheça o negócio. Como 
toomador de decisões relacionadas ao que vai ou não entrar 
no produto, o dono do produto deve ter um profundo 
conhecimento do negócio, das condições de mercado, dos 
clientes e dos usuários. 
 
Comunicativo 
 
Um bom dono do produto também deve escutar os usuários, 
clientes e talvez o mais importante, a equipe. [...] Além disso, 
todas as equipes terão muito a dizer para o dono do produto 
sobre riscos e desafios técnicos do projeto. Embora seja 
verdade qiue o dono do produto é quem prioriza todo o 
trabalho para equipe, um dono do produto inteligente dará 
ouvidos à sua equipe quando ela recomendar alguns ajustes 
nessas prioridades com base em fatores técnicos. 
 
Resoluto 
 
[...] reclamação comum que as equpes fazem sobre seus 
donos do produto é a falta de determinação. Quando os 
membros da equipe vão até o dono do produto com um 
problema, eles querem uma solução. [...] Tão ruim quanto um 
dono do prodtuo que não toma uma decisão, é aquele que 
resolve o mesmo problema várias vezes, mas com respostas 
diferentes. 
 
Autorizado 
 
Um bom dono do produto deve ser alguém imbuído de 
autoridade para tomar decisões e deve ser responsabilizado 
por elas.O dono do produto deve ser suficientemente 
graduado na empresa para receber esse nível de 
responsabilidade. 
 
 
 
34 
 
 
Artefatos 
 
Os principais artefatos do SCRUM são: Product Backlog, Sprint Backlog e Release 
Burndown. 
 
A definição de cada artefato, segundo SABBAGH (2010) são 
 
Product Backlog 
 
O product backlog é uma lista incompleta e dinâmica dos 
requisitos do produto, ordenados pela prioridade que eles têm 
em serem colocados em desenvolvimento. Assim, os itens do 
alto da lista, que serão implementados primeiro, devem ser de 
menor granularidade e devem possuir mais detalhes, como 
uma melhor descrição e podem possuir algum tipo de 
estimativa de esforço de desenvolvimento. Essa prioridade é 
dada, para um determinado momento, pelo valor que irá gerar 
para o cliente ou pelo risco que a sua não implementação 
representa. O product backlog nunca está completo, pois 
deve evoluir à medida que o produto e seu ambiente 
evoluem. Essa lista pode conter funcionalidades, correções 
de problemas, tecnologias e melhorias que constituem a 
mudança que deverá ser implementada no produto. 
 
Sprint Burndown 
 
O sprint burndown é um gráfico utilizado para acompanhar o 
progresso do desenvolvimento em direção ao final de uma 
sprint. Esse gráfico é criado na reunião de planejamento da 
sprint e deve ser atualizado diariamente. Ele mostra a soma 
dos tempos estimados restantes (ou outra unidade de medida 
de trabalho restante em uso) das tarefas que fazem parte do 
sprint backlog pelo tempo, representado pelos dias de 
desenvolvimento da sprint. 
 
Sprint Backlog 
 
O sprint backlog é composto por uma lista dos itens que 
serão desenvolvidos durante a sprint, suas tarefas 
correspondentes, o andamento do desenvolvimento dessas 
tarefas e suas estimativas de tempo de desenvolvimento, (se 
a equipe optar por utilizar estimativas). Seus itens são 
selecionados do product backlog na reunião de planejamento 
da sprint, onde cada um dos itens selecionados é quebrado 
em tarefas. O sprint backlog é modificado ao longo da sprint, 
de forma que suas estimativas, quando utilizadas, são 
atualizadas e tarefas podem surgir para os itens já existentes. 
A equipe de desenvolvimento é responsável pelo sprint 
backlog e deve garantir que ele tenha alta visibilidade e que 
se mantenha atualizado. Uma representação comum do sprint 
backlog é um quadro afixado na parede da sala de trabalho 
35 
 
 
dividido em colunas, contendo cartões ou papéis adesivos 
que indicam, dependendo de sua coluna, cada item que faz 
parte da sprint e as cada uma das tarefas correspondente a 
cada um dos itens (alinhadas horizontalmente a eles), 
divididas geralmente em três colunas que indicam o 
progresso do desenvolvimentoda tarefa: “a fazer”, “em 
desenvolvimento” (ou “em progresso”) e “pronto”. 
 
 
 
Dicas para criar um Sprint Backlog segundo FÉLIX (2008) 
 
1. Envolva toda a equipe no processo – Nunca é demais 
repetir, o envolvimento de toda a equipe no processo 
de descoberta do Sprint Backlog é importantíssimo. 
Numa equipe multidisciplinar todos poderão contribuir 
com atividades sob as diversas perspectivas que cada 
um tem sobre item a ser desenvolvido, gerando um 
Sprint Backlog muito mais rico do que se apenas os 
programadores participassem, ou apenas o guru 
técnico, etc. 
 
2. Discuta como o item será implementado - A lista de 
tarefas é apenas um dos outputs da segunda parte do 
Sprint Planning, antes de escrever as tarefas em post-
its é necessário que a equipe discuta de verdade 
como cada item será definido. A maior parte da 
reunião dever ser dedicada ao entendimento de como 
a equipe irá atacar o problema, definir um design 
básico da solução, verificar o código existente, discutir 
possibilidades de arquitetura, etc. Esse entendimento 
geral do problema e da possível solução farão com 
que as tarefas identificadas expressem realmente o 
trabalho que será feito. 
 
3. Tenha uma Definição de Pronto - Ter a “Definição de 
Pronto” disponível e visível a todos é muito, muito 
importante, essa definição servirá como um guia para 
o que deve ser feito, lembrando a todo mundo quais 
são os critérios de aceitação gerais para todos os 
itens do Product Backlog. 
 
4. Identifique todo o tipo de tarefa - Muitas equipes se 
concentram muito em tarefas de codificação, mas só 
codificar não é suficiente para entregar software 
funcionando de verdade. Todos os tipos de tarefas 
devem ser contemplados no Sprint Backlog, atividades 
de modelagem, codificação, aprendizado, tarefas de 
banco de dados, todos os tipos de teste possíveis, etc. 
A “Definição de Pronto” ajudará a equipe a pensar nos 
vários aspectos do trabalho. Trabalhando desse forma 
a equipe entenderá muito melhor qual a real carga da 
sprint. 
 
36 
 
 
5. Reveja o compromisso para a sprint – Após a 
identificação das tarefas, a equipe terá um 
entendimento melhor sobre o real esforço necessário, 
nesse momento o compromisso para a sprint deve ser 
reanalisado. OSelected Product Backlog realmente 
cabe na Sprint ? caso não, existem algumas 
alternativas. O item de menor prioridade pode ser 
removido ou quebrado em itens menores, estudar as 
técnicas de divisão deUser Stories são muito úteis 
nesse caso. O importante é que agora a equipe possa 
se comprometer de fato com o escopo da sprint. 
 
6. Não use tempo demais - Respeite o time-box. Estipule 
o tempo da reunião e não ultrapasse, faça a equipe se 
concentrar e trabalhar intensamente na discussão dos 
itens , assim as tarefas serão descobertas mais 
facilmente. Nem sempre a equipe conseguirá 
identificar tudo o que será realizado durante a sprint, 
mas isso não é um problema, o entendimento geral é 
mais importante. 
 
7. Evolua o sprint backlog durante a sprint - No dia-a-
dia da sprint a equipe terá um entendimento ainda 
melhor sobre cada item sendo desenvolvido, novas 
idéias podem aparecer, idéias antigas podem ser 
descartadas, o Sprint Backlog deve acompanhar essa 
mudanças. O Daily Scrum é um momento excelente 
para criar novas tarefas e descartar tarefas que se 
mostraram desnecessárias. 
 
37 
 
 
 
Figura 8 – Kanban de uma sprint 
 
Segundo HAZRATI(2010) 
 
O burndown revela dados importantes sobre o time como: o 
seu andamento e o que pode ser melhorado. Algumas 
empresas o utilizam para acompanhar a produtividade ou 
como ferramenta de coleta de dados para as retrospectivas, e 
principalmente indica como o time está evoluindo, através do 
seu acompanhamento a cada iteração. 
 
[...] Kane Mar separou o burndown em sete categorias: 
 
Fakey- Fakey: O andamento do gráfico é igual a linha ideal. 
A maioria dos sistemas possui alguma complexidade, 
portanto, deve existir alguma descoberta durante a execução. 
Esses gráficos são comuns em times que trabalham em um 
ambiente com comando e controle. 
 
Late-Learner: Esse gráfico possui uma linha crescente e uma 
curva decrescente no final do sprint. É comum para times 
novos de Scrum que estão aprendendo a metodologia e como 
se comunicar de forma efetiva. Geralmente a curva indica a 
percepção tardia que o teste é uma parte importante da 
entrega do software. 
 
Middle-Learner: A curva decrescente é apresentanda no 
meio do sprint, demonstrando mais maturidade do time, 
38 
 
 
especialmente na definição antecipada do que deve ser 
testado. 
 
Early-Learner: Times que apresentam progresso, possuem a 
curva decrescente no inicio do sprint, seguida de uma linha 
decrescente gradual. Nesse caso, o time aprendeu a 
importância de descobertas antecipadas, permitindo que 
trabalhem de forma mais eficaz. 
 
Plateau: Times que possuem uma fase inicial de progresso e 
não conseguem mantê-lo durante o sprint, possuem um curva 
decrescente seguida de um linha reta. 
 
Never-Never: Times que trabalham bem até um evento 
inesperado ocorrer no final do sprint, apresentam uma linha 
decrescente estável e no final do sprint uma curva crescente. 
A curva pode ocorrer porque o time esclareceu algo muito 
tarde ou o Product Onwer mudou o escopo, dificultando ou 
impossibilitando atingir as metas. Essas mudanças tardias 
devem ser levantadas e resolvidas na retrospectiva. 
 
Scope-increase: Esse gráfico possui um pico repentino na 
linha de trabalho restante, sendo comum em times que não 
analisam o escopo do trabalho necessário corretamente. 
Existem várias abordagem para esse tipo de problema, como 
negociar com o product owner ou até mesmo interromper o 
sprint. 
 
 
 
Figure 9 – Exemplo de gráfico de Burndown 
 
39 
 
 
Time Box 
 
[...] É ter o tempo, para fazer um trabalho, limitado, executando da melhor 
forma que puder nessa janela de tempo. É uma técnica simples usada no 
desenvolvimento de software para rastrear o progresso e para, simplesmente, ter o 
trabalho feito.” (LIMA, 2011). 
 
No SCRUM, os projetos são divididos em ciclos (tipicamente mensais) 
chamados de Sprints. O Sprint representa um Time Box dentro do qual um conjunto 
de atividades deve ser executado. Metodologias ágeis de desenvolvimento de 
software são iterativas, ou seja, o trabalho é dividido em iterações, que são 
chamadas de Sprints no caso do SCRUM. 
 
 
Figura 10 – Ciclo de vida SCRUM 
 
Os principais time box do SCRUM são: Sprint , Planning meeting, Daily Scrum, 
Sprint Review e Retrospectiva. 
 
Sprint 
 
Segundo a IMPROVE IT (2007) 
 
40 
 
 
No Scrum, os projetos são dividos em ciclos (tipicamente 
mensais) chamados de Sprints. O Sprint representa um Time 
Box dentro do qual um conjunto de atividades deve ser 
executado. Metodologias ágeis de desenvolvimento de 
software são iterativas, ou seja, o trabalho é dividido em 
iterações, que são chamadas de Sprints no caso do Scrum. 
 
Mudanças na sprint segundo a LOCAWEB (2008) 
 
[...] vale lembrar que o Scrum é totalmente flexível para 
mudanças fora do sprint (ou seja, o backlog de histórias pode 
ser atualizado a qualquer hora), mas durante o período do 
sprint, as histórias que entram em um sprint não devem ser 
alteradas. Contudo, sabemos que exceções acontecem, 
desde atrasos ou adiantamentos que requerem uma mudança 
de planejamento, até histórias que têm de ser re-priorizadas 
ou retiradas do sprint. Na prática, o ideal é a equipe e o PO 
analisarem cada caso para tomarem a decisão correta. Se 
existe algo urgente a ser feito, pode valer mais a pena a 
equipe desenvolver essa história e deixar de entregar outra 
do que seguir o plano inicial e deixar a história urgente para o 
sprint seguinte. Cada caso é um caso. 
 
Mudança de Prioridade 
 
[...] A equipe está trabalhando no sprint, mas um problema 
urgente surge e deve ser resolvido ainda durante o mesmo 
sprint. 
 
O que deve ser feito: 
- Conversar, sempre. A situação é tão urgente que nãopode 
esperar 15 dias? A metodologia defende a idéia de que o 
sprint deve ser cancelado, já que o seu escopo está sendo 
alterado. Contudo, pode valer uma adaptação da 
metodologia: Fazendo uma renegociação, com a história 
urgente entrando no sprint, ao mesmo tempo em que outras 
histórias ainda não iniciadas saem, pode ser mais ágil do que 
propriamente cancelar o sprint e fazer um novo planejamento. 
- Tratar a atividade como impedimento, e discutí-la na revisão 
de sprint: Esse problema poderia ter sido previsto e/ou 
evitado? Pode acontecer novamente no futuro? 
 
O que não deve ser feito: 
- PO insistir na história urgente sem negociar: “É rápido e 
vocês resolvem fácil…” 
- Tratar a situação fora do sprint: Toda atividade realizada 
fora do sprint não aparece como resultado da equipe, e é 
importante saber se essa situação é frequente ou somente 
uma exceção. 
 
41 
 
 
Planning meeting 
 
Segundo a IMPROVE IT (2007) 
 
O Sprint Planning Meeting é uma reunião na qual estão 
presentes o Product Owner, o Scrum Master e todo o Scrum 
Team, bem como qualquer pessoa interessada que esteja 
representando a gerência ou o cliente. 
Durante o Sprint Planning Meeting, o Product 
Owner descreve as funcionalidades de maior prioridade para 
a equipe. A equipe faz perguntas durante a reunião de modo 
que seja capaz de quebrar as funcionalidades em tarefas 
técnicas, após a reunião. Essas tarefas irão dar origem 
ao Sprint Backlog. 
[..] 
Coletivamente, o Scrum Team e o Product Owner definem um 
objetivo para o Sprint, que é uma breve descrição daquilo que 
se tentará alcançar no Sprint. O sucesso do Sprint será 
avaliado mais adiante no Sprint Review Meeting em relação 
ao objetivo traçado para o Sprint. 
Depois do Sprint Planning Meeting, a equipe Scrum se 
encontra separadamente para conversar sobre o que eles 
escutaram e decidir quanto eles podem se comprometer a 
fazer no Sprint que será iniciado. Em alguns casos, haverá 
negociação com o Product Owner, mas será sempre 
responsabilidade da equipe determinar o quanto ela será 
capaz de se comprometer a fazer. 
 
 
Durante o Panning Meeting, as funcionalidades que serão desenvolvidas são 
chamadas de estórias. Essas estórias precisam ser estimadas para saber quantas 
são possíveis de fazer dentro da sprint. Essa estimativa leva em consideração o 
tamanho da equipe e o tempo da sprint. Para estimativa, é utilizado o Planning 
Poker. 
 
O Planning Poker segundo DURÃES(2011) 
 
[...] é uma técnica estimativa bastante utilizada em projetos 
ágeis que usam o framework do Scrum. [...] A ideia principal 
por traz do Planning Poker é permitir que todos os membros 
do time de desenvolvimento que estão comprometidos na 
implementação do Sprint participem colocando a sua visão de 
complexidade para que juntos possam chegar a um indicador 
de complexidade comum para o time. 
 
42 
 
 
[...] A escala de complexidade é baseada na sequência de 
Fibonacci (0, 1, 2, 3, 5, 8, 13) e cada participante do time que 
estiver comprometido recebe um conjunto de cartas sendo 
cada uma com o número de complexidade. O grupe se reúne 
geralmente na reunião Sprint Planning e esclarece as estórias 
com o PO (Product Owner) para depois estimar uma a uma. 
Seguindo a ordem de sequencia das às estórias já priorizadas 
pelo PO. Então o time conta até três e cada um apresenta 
uma das cartas ao mesmo tempo. Esse é um momento 
importante, pois nenhum membro pode influenciar o outro na 
hora de mostrar as cartas. 
 
Após apresentada as cartas confere-se os números das 
mesmas para ver se deu tudo igual ou ocorreu divergências. 
Em caso de divergência cada membro pode argumentar o 
que o levou a pensar diferente dos demais e nesse momento 
pode usar os argumentos que justifique aquele item ser mais 
complexo ou mais simples. 
 [...] Após a apresentação dos argumentos cada pessoa que 
ficou na dúvida pode propor uma nova votação e mudar o seu 
voto para mais ou para menos conforme o novo entendimento 
da questão. Por isso um item que estava complexo pode ser 
finalizado com mais simples ou vice-versa prevalecendo o 
entendimento do time sobre a questão. 
 
[...] O grande diferencial é que não tem ninguém de fora 
interferindo, pois só participa quem realmente vai codificar a 
funcionalidade e com isso cada pessoa usa a sua experiência 
pessoal como implementações em projetos anteriores ou 
conhecimento da tecnologia em questão e isso faz com que 
ela se comprometa, pois é ela que está falando o quando é 
complexo aquele item. É uma forma simples de se estimar 
indo direto ao ponto e principalmente provoca uma 
colaboração natural entre os membros do time resultando em 
grandes ganhos para o projeto. 
 
 
 
Figura 11 – Exemplo de Planning Poker 
 
As estimativas ficam mais precisas conforme as sprints vão acontecendo. Para que 
isso aconteça, o ideal é ter sempre o mesmo time e tentar nivelar o conhecimento da 
tecnologia usada no projeto. 
43 
 
 
 
Daily Scrum 
 
Segundo a IMPROVE IT (2007) 
A cada dia do Sprint a equipe faz uma reunião diária, 
chamada Daily Scrum. Ela tem como objetivo disseminar 
conhecimento sobre o que foi feito no dia anterior, identificar 
impedimentos e priorizar o trabalho a ser realizado no dia que 
se inicia. 
Os Daily Scrums normalmente são realizadas no mesmo 
lugar, na mesma hora do dia. Idealmente são realizados na 
parte da manhã, para ajudar a estabelecer as prioridades do 
novo dia de trabalho. 
Todos os membros da equipe devem participar do Daily 
Scrum. Outras pessoas também podem estar presentes, mas 
só poderão escutar. Isso torna os Daily Scrums uma 
excelente forma para uma equipe disseminar informações 
sobre o estado do projeto. 
O Daily Scrum não deve ser usado como uma reunião para 
resolução de problemas. Questões levantadas devem ser 
levadas para fora da reunião e normalmente tratadas por um 
grupo menor de pessoas que tenham a ver diretamente com 
o problema ou possam contribuir para solucioná-lo. Durante o 
Daily Scrum, cada membro da equipe provê respostas para 
cada uma destas três perguntas: 
 
 O que você fez ontem? 
 O que você fará hoje? 
 Há algum impedimento no seu caminho? 
 
Concentrando-se no que cada pessoa fez ontem e no que ela 
irá fazer hoje, a equipe ganha uma excelente compreensão 
sobre que trabalho foi feito e que trabalho ainda precisa ser 
feito. O Daily Scrum não é uma reunião de status report na 
qual um chefe fica coletando informações sobre quem está 
atrasado. Ao invés disso, é uma reunião na qual membros da 
equipe assumem compromissos perante os demais. 
Os impedimentos identificados no Daily Scrum devem ser 
tratados pelo Scrum Mastero mais rapidamente possível. 
 
Sprint Review 
 
Segundo CRUZ (2011) 
 
O objetivo maior desta reunião é a revisão dos itens 
concluídos pelo Product Owner, ou pelo cliente. A melhor 
maneira de fazer isso é justamente realizar 
uma apresentação, ao estilodemonstração, de todos os itens 
44 
 
 
concluídos ao PO. Com isso ele poderá conferir e avalir o que 
está sendo considerado pronto, levando em conta o que está 
sendo entregue versus o quedeveria ser entregue. 
 
[...] Quando o Time começa a melhorar a qualidade de suas 
entregues nas Reviews, a auto-estima melhora, 
aconfiança do Time em si mesmo aumenta, e 
a positividade começa a tomar conta do Time, fazendo com 
que a sua melhoria torne-se cada vez mais contínua. 
 
Retrospectiva 
 
Segundo a SABBAGH (2010) 
No Scrum, as reuniões de retrospectiva têm o objetivo de 
promover melhorias incrementais. Nessa reunião, os 
membros da equipe identificam e priorizam o que consideram 
que foi bem e o que consideram que pode melhorar, traçando 
planos de ação para realizar essas melhorias. 
[...] 
As reuniões de retrospectiva devem ser obrigatoriamente 
realizadas ao final de cada ciclo de desenvolvimento, ou 
sprint. 
 
 
Algumas técnicas para melhorar a retrospectiva segundo MACAUBAS (2008) 
 
1. Deixar os membros da equipe trabalharem - ficar em 
frente da sala e fazertodo o trabalho de escrever 
desencoraja os mebros da equipe de tomarem a 
iniciativa das idéias. Em vez disso faça-os escrevem 
tudo grandes post-it (usando marcadores escuros) – 
isso mantém todos envolvidos e encoraja ainda mais 
as pessoas quietas a participarem. 
2. Anotar fielmente – um facilitador (ou ScrumMaster) 
está aí para capturar idéias do grupo e não filtrar ou 
injetar sua própria idéia. 
3. Usar processamento paralelo – quando houver mais 
que uma ou duas áreas problemáticas para debater, 
quebre o grupo em dois ou três e faça uma análise 
das causas. Além de acelerar as coisas isso reduz a 
influência de uma ou duas vozes barulhentas na 
equipe. 
4. Deixar os membros da equipe tirarem conclusões – 
ocasionalmente os facilitadores (ou ScrumMaster) vão 
olhar para os dados brutos gerados pela equipe e 
dizer quais são suas conclusões sem permitir que a 
equipe faça seu próprio trabalho. Na verdade o 
facilitador está dizendo que não valoriza o feedback 
da equipe. Apesar de que pode levar algum tempo 
para que a equipe analise os dados por si só, eles 
45 
 
 
chegam a melhores conclusões e tomam posse dos 
resultados e das ações a serem executadas. 
5. Teste de entendimento – após um curto período de 
debate é útil testar para ver se a equipe alcançou um 
entendimento comum (nem sempre na decisão final, 
algumas vezes apenas em algum ponto no meio do 
caminho). Uma decisão deve ser proposta e uma vez 
que todos tenham feito perguntas esclarecedoras, nós 
testamos isso usando o “Fist of Five“. Com esta 
técnica o número de dedos indica o grau de apoio: 
Cinco – eu gostaria que essa idéia fosse minha pois 
vou ajudar a mudar; Três – eu posso viver com isso. É 
a vontade da equipe; Um – existem questões que eu 
preciso discutir; Mão fechada – Ausência de voto, eu 
quero impedir o consenso e forçar mais discussão. 
 
Qualidade 
 
“Quanto mais cedo os defeitos nos sistemas forem corrigidos, menor é o custo de 
correção para o Projeto. (GLENFORD, 1979, p. 8) 
 
Segundo COHN(2011, p. 328) 
[...] algumas equipes perceberam que testar a qualidade no 
fim além de ser ineficiente era insuficiente. 
[...] As equipes Scrum tornam o teste uma prática e uma parte 
centrais do processo de desenvolvimento em vez de algo que 
ocorre após os desenvolvedores terem “acabado”. Em vez de 
testarmos a qualidade depois de um produto ter sido 
construído, ela deve ser incorporada ao processo e ao 
produto à medida que ele é desenvolvido. 
[...]Da mesma forma que todos os clientes sofrem quando um 
produto tem baixa qualidade, a equipe inteira sofre quando os 
testes nãosão integrados ao processo ou não são executados 
nos níveis certos. Adquiris novas habilidades de teste, 
aprender como aplicá-las dentro dos timeboxes rigorosos do 
Scrum e saldar a dívida ténica são responsabilidades da 
equipe inteira. Esses não são desafios para serem deixados 
para os testadores. Uma boa equipe Scrum ficará 
constantemente alerta para o estado de suas práticas de 
teste, sempre procurando maneiras de melhorar. 
 
Benef[icios do time de teste no SCRUM, segundo ELIZA E LAGARES(2010) 
 
 Integração do time; 
 Apoio de quem está desenvolvendo código durante a 
execução dos testes; 
46 
 
 
 Apoio de quem está testando código durante a 
codificação; 
Participação mais direta e ativa do profissional que 
está testando o software; 
 Profissionais que estão desenvolvendo código 
interessados em aprender sobre teste; 
 Profissionais que estão testando código interessados 
em aprender sobre programação; 
 Agilidade, interação com testes; 
 Acompanhamento de defeitos pelo profissional que está 
testando o software; 
 Analistas de Teste deixam de ser reativos para serem 
pró-ativos. 
47 
 
 
 
Capítulo 3 
ESTUDO DE CASO 
 
O Instituto de Tecnologia XPTO ingressou no mercado no início do século XXI. A 
empresa é dividida em vários laboratórios, entre eles, um específico para área de 
desenvolvimento de software. No início, não era usado nenhuma metodologia para 
acompanhamento de projetos. Eram utilizado alguns conceitos básicos, como: 
tarefas, cronogramas, documentação do projeto, entre outros. 
 
Conforme os anos se passaram, o instituto começou a amadurecer: a demanda de 
projetos foi aumentando, e consequentemente, a quantidade de colaboadores. 
Cargos mais específicos foram sendo criados na organização para desempenhar os 
papeis certos, tais como: analista, testes e gerente de projetos. Uma framework foi 
construída para desenvolvimento de projetos, na qual envolvia arquitetura e 
padronização de código. A empresa evoluiu em muitos aspectos desde o início, 
porém, ainda não tinha uma metodologia para gerenciamento de projetos, e isso, 
fazia muita falta para o instituto, que ao entregar um projeto, muitas vezes consumia 
mais tempo e verba do que era planejado. Esse mal planejamento começou a ficar 
evidente e com frequencia, portanto, a organização percebeu que devia investir em 
algum método para melhorar o processo de acompanhamento do projeto. 
 
Em 2009, a empresa resolveu investir em uma metodologia, e consequentemente, 
em sua certificação. Com a ajuda do gestor na época, a certificação escolhida foi o 
CMMI. 
 
48 
 
 
CMMI (Capability Maturity Model Integration) 
 
O CMMI é uma metodologia com grande valor no mercado. Muitos clientes procuram 
empresas com o “selo” do CMMI. Acreditam que essa é uma boa referência de 
qualidade de produto, reponsabilidade da organização e competência no mercado 
de trabalho. Esse foi um dos motivos pelo qual a empresa optou por essa 
metodologia. Além disso, o CMMI é reconhecido mundialmente e poucas empresas 
conseguem atingir o nível exigido. O CMMI tem como base a melhoria de processo e 
as seguites definições: 
 
 Coleção de melhores práticas 
 Framework para organizar e priorizar atividades 
 Apoio para coordenação de atividades multi-disciplinares que podem ser 
requeridas para contruir produtos com sucesso. 
 Enfatiza o alinhamento dos objetivos da melhoria do processo com os 
objetivos de negócios da organização. 
 
O CMMI é dividido em 5 níveis de maturidade. Além disso, abrange 22 áreas de 
processos. Esses processos são divididos de acordo com nível de maturidade. 
Quanto maior o nível, mais áreas de processos a empresa precisa atingir. Os níveis 
são divididos da seguinte forma: 
 
Nível Área de processo 
5 Gestão de processo organizacional (OPM) 
Análise causal e resolução (CAR) 
4 Desempenho de processo organizacional 
(OPP) 
Gerenciamento quantitativo de projeto 
(QPM) 
3 Desenvolvimento de requisitos (RD) 
Solução técnica (TS) 
Integração de produto (PI) 
Verificação (VER) 
49 
 
 
Validação (VAL) 
Foco de Processo organizacional (OPF) 
Definição de processo organizacional (OPD) 
Treinamento organizacional (OT) 
Gerenciamento integrado de projeto (IPM) 
Gerenciamento de riscos (RSKM) 
Análise de decisão e resolução (DAR) 
2 Gerenciamento de requisitos (REQM) 
Planejamento de projeto (PP) 
Acompanhamento e controle de projeto 
(PMC) 
Gerenciamento de acordo com o fornecedor 
(SAM) 
Medição e análise (MA) 
Garantia e qualidade de processo e produto 
(PPQA) 
Gerência de configuração (CM) 
1 Nenhum processo é implementado 
 
Para obter o nível de maturidade no CMMI, é necessário implementar as áreas de 
processos correspondente. Uma área de processo é implementada quando o 
objetivo de cada área é atingido. Para isso, cada área é dividido com práticas gerais 
e práticas específicas. Cada prática resulta em artefatos que devem ser 
desenvolvidos pela empresa, como: documentos, e-mail, codificação, entre outros. 
Quando os artefatos são criados da maneira correta, o objetivo da prática é atingido, 
porém, os artefatos devem seguir um padrão e todos os projetos que seguem o 
CMMI devem produzir esses artefatos. 
 
Foram escolhidos 13 colaboradores para fazer a primeira fase do treinamento do 
CMMI. Nesse primeiro momento, foi explicadoos conceitos do CMMI, todas as 
práticas, as metas de cada uma delas, e como alcançar os objetivos de cada prática. 
Após o primeiro treinamento, os integrantes ficaram responsáveis por criar 
processos para cada prática do CMMI. Os processos deviam descrever como a 
organização faria para atingir os objetivos das práticas do CMMI, descrevendo quais 
50 
 
 
artefatos deveriam ser criados e qual padrão os artefatos deveriam seguir. O 
documento era escrito por um integrante e revisado por outro. 
 
Conforme os documentos foram escritos, os colaboradores foram percebendo que 
alguns processos seriam dificeis de serem atingidos, pois exigiam bastante 
documentação, check lists e outros artefatos de exigência do CMMI. Foi decidido 
que apenas alguns projetos seriam selecionados para passar pela avaliação do 
CMMI. 
 
Como parte do processo, um segundo treinamento foi feito. Para a segunda parte, 
apenas 8 colaboradores participaram. Esse segundo treinamento preparava a 
equipe para a pré-avaliação do CMMI. Essa pré-avaliação era bem exigente: eram 
feitas entrevistas com qualquer colaborador da empresa, independentemente se 
tinha feito o treinamnto ou não, para avaliar se o processo estava institucionalizado 
dentro da empresa de forma homogênea. Todos os colaboradores devem saber 
como o processo funciona. 
 
Como a empresa não estava madura o suficiente, o objetivo não foi alcançado. Um 
dos motivos foi que alguns colaboradores não tinham uma função bem definida: 
eram analistas, desenvolvedores, gerente de projetos, ao mesmo tempo, muitas 
vezes no mesmo projeto. Com tantas funções, era impossível praticar todos os 
processos que o CMMI exigia. Além disso, com tantas funções para uma pessoa, 
ficava ainda mais díficil criar todos os artefatos necessários. Após falhar na primeira 
avaliação, o instituto percebeu que não teria como dar continuidade na certificação, 
pois não estavam estruturados naquele momento para atingir a nota mínima. 
 
Porém, a empresa não desistiu de ter um metodologia para acompanhamento de 
projeto: os próprios colaboradores sentiam falta de um método para seguir. A falta 
do método implicava em projetos sendo desenvolvidos de forma diferente, de acordo 
com a vivência de cada gerente de projetos. 
 
Por iniciativa dos próprios colaboradores, eles começaram a pesquisar metodologias 
do mercado. Como o CMMI exigia muitos documentos, eles partiram para 
metodologias que não fossem tão “burocrática” nesse sentido. A idéia não era abolir 
51 
 
 
a documentação, pois ela já existia, funcionava bem e devia ser mantida, mas seguir 
um padrão que não exigisse tantas mudanças organizacionais. Começaram a 
pesquisar no mercado e encontraram as metodologias ágeis. A empresa se 
identificou pois a metodologia possui documentação, se adequeava na estrutura da 
organização e tinha como foco manter o cliente satisfeito. 
 
A metodologia SCRUM foi escolhida sem muitos estudos. Alguns colaboradores 
fizerem um curso e passaram para os demais da empresa. Um projeto piloto foi 
escolhido para implementar a metodologia. Apesar de ser menos exigente que o 
CMMI, isso não significa que a empresa não preciaria fazer grandes mudanças para 
se adequar ao SCRUM e portanto, algumas dificuldades foram encontradas. 
 
Dificuldades no SCRUM 
 
O SCRUM foi bem recebido por alguns colaboradores e criticados por outros. 
Algumas das dificuldades encontradas no SCRUM foram: 
 
 Imaturidade da equipe 
 Gerente de projetos “sem autoridade” 
 Escolha do SCRUM Master 
 Prazos 
 Cliente não respeitar a metodologia 
 
Imaturidade da equipe 
 
Esse problema aconteceu na grande maioria das equipes que utilizam o SCRUM na 
organização. A maturidade é um dos pontos mais importantes na metodologia 
SCRUM, pois, o time é auto-gerenciável e deve assumir os erros quando são 
cometidos ou a responsabilidade de itens quando são prometidos. Quando uma 
sprint falha, é porque a equipe como um todo falhou, e não apenas um integrante. 
 
No SCRUM não existe uma pessoa com dificuldade: se a dificuldade existe para 
pelo menos um, todo o time tem dificuldade. A idéia é que todos trabalhem juntos a 
52 
 
 
fim de conquistar o objetivo da sprint, portanto, o time deve ser integrado e com 
grande habilidade de trabalhar em equipe. 
 
O amadurecimento é conquistado no decorrer das sprints, pois o time vai se 
conhecendo e entendendo a melhor forma de traballhar junto. Quando as tarefas 
surgem, o time deve conversar entre si, para identificar qual a maneira mais 
produtiva de realizar essa tarefa. 
 
Além disso, a retrospectiva ajuda bastante, pois é vista como a reunião de “lavar 
roupa suja”. Apesar de ser vista assim, ela é muito produtiva, pois cada um pode 
expor o que gostou e o que não gostou da sprint que passou. O que for um 
problema, precisa de um plano de ação para melhorar e assim não cometer os 
mesmos problemas nas sprints futuras. Entretanto, o plano de ação deve ser 
executado para resolver o problema. Caso o item seja identificado, criado o plano de 
ação porém não colocado em prática, o item continua na estaca 0. 
 
Gerente de projetos “sem autoridade” 
 
O gerente de projetos está acostumado a saber todas as funcionalidades que serão 
entregues no projeto. É criado um cronograma com todas as tarefas, com seu 
respectivo tempo, e atribuída para o desenvolvedor fazê-la. 
 
No SCRUM, um cronograma inicial pode ser criado, porém, de acordo com a 
necessidade do cliente ele pode ser mudado (dentro do tempo que não prejudique a 
entrega) . Além disso, o gerente não atribui mais tarefas para a equipe: os próprios 
integrantes são livres para escolher o que irão desenvolver. 
 
Essa “falta de controle” assusta o gerente de projetos. Para isso, é necessário criar 
um elo de confiança maior, onde a equipe se compromete a entregar e o gerente de 
projetos a confiar que será entregue. Entretanto, continua sendo responsabilidade 
do gerente de que a entrega vai ser feita, por isso, é preciso trabalhar junto da 
equipe, resolver impedimentos, entender dificuldades e avisar o cliente que não será 
possivel entregar (quando necessário). 
 
53 
 
 
Escolha do SCRUMMaster 
 
Seu papel é ajudar a resolver impedimentos para a equipe, portanto, é preciso 
disponibilidade e autonomia. A disponibilidade é para sempre que necessário os 
integrantes da equipe possam acessá-lo, ou o mais breve possível, e autonomia 
para que seja possível tomar as decisões necessárias e resolver o impedimento. 
Além disso, esse papel ajuda o time a seguir a metodologia, então, é necessário de 
alguém com o conhecimento do SCRUM. 
 
A organização errou ao escolher um SCRUMMaster que nunca tinha estudado ou 
feito um treinamento sobre a metodologia. Obviamente, ele sentiu dificuldade em 
seguir os conceitos, o qual a equipe conhecia mais que ele, e de cobrá-los. Isso 
gerou descontentamento e influenciou no trabalho da equipe. 
O SCRUMMaster deve garantir que o SCRUM seja seguido, portanto, deve ter o 
conhecimento da metodologia. 
 
Prazos 
 
Os prazos são criados no Planning Meeting. É responsabilidade do Product Owner 
dizer o que precisa ser feito e qual é a prioridade das tarefas. A equipe deve se 
reunir e estimar os pontos, até que cheguem nos pontos que a equipe consegue 
produzir por sprint. O prazo pode ser influenciado por vários motivos: subestimar 
uma tarefa, dificuldade na hora de implementar, falta de ambiente, entre outras 
variaveis. Entretanto, é papel do time avisar o quanto antes que não será possível 
alcançar o que foi prometido na sprint e o motivo que ocasionou essa situação. 
 
Em um projeto na organização, o prazo foi um grande problema: o time avisava que 
não seria entregue alguns itens da sprint muito próximo do final e isso, obviamente, 
gerava desconforto do cliente. A transparência é algo muito importante, 
independentemente da metodologia utilizada, porém,

Continue navegando