Download PDF
ads:
FUNDAÇÃO EDSON QUEIROZ
UNIVERSIDADE DE FORTALEZA
CENTRO DE CIÊNCIAS TECNOLÓGICAS
MESTRADO EM INFORMÁTICA APLICADA
Ana Sofia Cysneiros Marçal
SCRUMMI: Um processo de gestão ágil baseado no SCRUM e
aderente ao CMMI
Fortaleza
Julho/2009
ads:
Livros Grátis
http://www.livrosgratis.com.br
Milhares de livros grátis para download.
FUNDAÇÃO EDSON QUEIROZ
UNIVERSIDADE DE FORTALEZA
CENTRO DE CIÊNCIAS TECNOLÓGICAS
MESTRADO EM INFORMÁTICA APLICADA
Ana Sofia Cysneiros Marçal
SCRUMMI: Um processo de gestão ágil baseado no SCRUM e
aderente ao CMMI
Dissertação apresentada ao Curso de Mestrado
em Informática Aplicada da Universidade de
Fortaleza (UNIFOR), como requisito parcial
para obtenção do Título de Mestre em
Informática.
Orientadora: Prof
a
. Maria Elizabeth Sucupira Furtado, D.Sc.
Co-Orientador: Prof. Arnaldo Dias Belchior, D.Sc. (in memorian)
Fortaleza
Julho/2009
ads:
__________________________________________________________________________
M313s Marçal, Ana Sofia Cysneiros.
SCRUMMI : um processo de gestão ágil baseado no SCRUM e aderente
ao CMMI /Ana Sofia Cysneiros Marçal. - 2009.
205 f.
Dissertação (mestrado) – Universidade de Fortaleza, 2009.
“Orientação: Profa. Maria Elizabeth Sucupira Furtado.”
1. Software. 2. Administração de projetos. 3. Métodos ágeis. I. Título.
CDU 681.3.06
________________________________________________________________________
Ana Sofia Cysneiros Marçal
SCRUMMI: Um processo de gestão ágil baseado no SCRUM e
aderente ao CMMI
Data de Aprovação: 10/Julho/2009
Banca Examinadora:
________________________________________________________
Prof
a
. Maria Elizabeth Sucupira Furtado, D.Sc.
(Prof
a
. Orientadora Presidente da Banca – UNIFOR)
________________________________________________________
Prof. Alexandre Marcos Lins de Vasconcelos, Dr.
(Prof. Dr. Membro da Banca Examinadora – UFPE)
________________________________________________________
Prof. Adriano Bessa Albuquerque, Dr.
(Prof. Dr. Membro da Banca Examinadora – UNIFOR)
v
Dedico este trabalho ao
inesquecível professor
orientador Arnaldo Dias
Belchior (in memorian).
vi
AGRADECIMENTOS
Em primeiro lugar agradeço a Deus, por sempre ter me abençoado nesta vida, dando-me
saúde e sabedoria para seguir em frente e alcançar meus objetivos em busca da felicidade.
A Stenio e Luíza, meus dois grandes amores, que sempre acreditaram e apoiaram
minhas decisões, sendo grandes incentivadores para que eu realizasse e concluísse este
mestrado. Pela paciência e companheirismo dos dois ao longo dos últimos anos, sendo
capazes de abdicar de momentos de lazer e da minha companhia em prol do meu estudo e
desenvolvimento profissional.
Aos meus pais, Romildo e Walmira, pela dedicação, amor, carinho, instrução e apoio
que me deram ao longo da minha vida acreditando sempre no meu potencial, força, coragem e
determinação para enfrentar novos desafios.
À minha família, sobretudo aos meus sogros, Gildo e Dilza, e à minha cunhada-irmã,
Jannine, pelo carinho e apoio nesta nova e difícil jornada acadêmica.
À Marileide, minha amiga e fiel escudeira, pelo amor e dedicação à minha casa e
família.
Ao inesquecível orientador e amigo professor Arnaldo Dias Belchior, pelo incentivo
constante, por acreditar em mim e no meu trabalho, pela sua disposição e compreensão em
saber ouvir e entender com serenidade os meus momentos de ansiedade e dificuldade, sendo
capaz de me tranqüilizar e dar forças para seguir adiante no mestrado.
À professora Elizabeth Furtado, por ter me recebido como sua orientanda com tanto
carinho e dedicação, pela motivação e apoio para que este trabalho fosse continuado e esta
dissertação fosse realizada, sendo um grande exemplo de sabedoria, determinação, foco e
orientação com resultados na minha vida acadêmica e profissional.
Ao professor Plácido, por ter recebido esta pernambucana com tanto carinho no MIA,
sendo um grande conselheiro e incentivador das minhas conquistas.
Ao CNPq, por financiar parte deste trabalho.
vii
Aos meus amigos de Recife: Bruno Freitas, Felipe Furtado, Teresa Maciel, Elizabeth
Morais, Valéria Moura e Ana Paula Cavalcanti, pelos trabalhos, estudos e artigos escritos em
conjunto ao longo desta pesquisa.
Ao Atlântico, em especial ao Carlo Giovano, Ciro Coelho, Marcus Rodrigues, Gabriela
Telles, Carla Ilane e todo o time de desenvolvimento do projeto piloto alvo do estudo de caso
neste trabalho, por terem confiado nas minhas propostas, no meu empenho e compromisso
profissional.
À Erik Égon, brilhante artista e design gráfico, pela criatividade, transformação e bela
representação visual dada às figuras que ilustram o Scrummi.
Por fim, agradeço a todos os demais amigos e familiares aqui não citados, mas que
certamente foram importantes para a conclusão deste trabalho.
viii
Resumo da dissertação apresentada ao Corpo Docente do Curso de Mestrado em
Informática Aplicada da Universidade de Fortaleza, como parte dos requisitos necessários
para a obtenção do grau de Mestre em Informática.
SCRUMMI: Um processo de gestão ágil baseado no SCRUM e aderente ao
CMMI
Autor: Ana Sofia Cysneiros Marçal
Orientadora: Maria Elizabeth Sucupira Furtado, DSc
Atualmente vive-se um cenário em que organizações de software têm empregado
esforços substanciais na melhoria dos seus processos com base em modelos de qualidade tais
como o CMMI. Adicionalmente, estas organizações têm demonstrado um interesse crescente
na adoção de métodos ágeis com foco em aumentar sua produtividade. Acreditando-se na
hipótese de que é possível combinar agilidade com modelos de maturidade, este trabalho
abraçou inicialmente o desafio de analisar a aderência do Scrum em relação ao CMMI,
especificamente no que diz respeito aos processos de gerenciamento de projetos. Em seguida,
foi feita uma pesquisa de campo para se investigar o real interesse de organizações brasileiras
em adotar práticas de métodos ágeis e CMMI na gestão de seus projetos. Os resultados
obtidos com as investigações realizadas embasaram a definição do processo de gestão ágil de
projetos, chamado Scrummi, construído a partir de extensões do Scrum para ficar aderente às
áreas de processo de gerenciamento de projeto do CMMI. O Scrummi é um processo de
gestão simples e completo, o qual pode ser estendido e adaptado para atender a uma grande
variedade de projetos, sendo relevante para organizações que têm o propósito de adotar uma
metodologia de gerenciamento de projetos ágil e que seja ao mesmo tempo compatível com
práticas do CMMI. O processo definido neste trabalho foi aplicado em um projeto real de
desenvolvimento de software em uma empresa brasileira de pesquisa e desenvolvimento
aderente ao nível 3 do CMMI mostrando assim que agilidade e maturidade podem andar
juntas. A partir do Scrummi foram introduzidas práticas inovadoras no contexto
organizacional, tornando o projeto do estudo de caso uma referência na empresa com relação
ao novo estilo de gerenciamento. As melhorias envolveram aumento de produtividade obtida
através do desenvolvimento e comprometimento do time do projeto.
Palavras-chave: Gerenciamento Ágil de Projetos, SCRUM, CMMI, Métodos Ágeis.
ix
Abstract of the dissertation presented to the board of faculties of the Master Program in
Applied Informatics at the University of Fortaleza, as partial fulfillment of the requirements
for the Master’s degree in Computer Science
SCRUMMI: Um processo de gestão ágil baseado no SCRUM e aderente ao
CMMI
Autor: Ana Sofia Cysneiros Marçal
Orientadora: Maria Elizabeth Sucupira Furtado, DSc
Nowadays, organizations have employed substantial efforts in processes improvement
based on quality models, such as CMMI. Additionally, these organizations have shown a
growing interest in the adoption of agile methods, focusing on increasing their productivity.
Based on the assumption that it is possible to combine agility with maturity models, this
research initially embraced the challenge of analyzing the adherence of Scrum to CMMI
practices, specifically with Project Management processes. This work contemplated a
research to investigate the real interest of the Brazilian organizations in adopting agile
practices and CMMI in the management of their projects. The research results were used as
basis to the definition of an agile project management process, called Scrummi, built from an
extension of the Scrum to be compliant with the CMMI project management process areas.
Scrummi is a simple but complete management process, which can be extended and tailored
to support a variety of projects, being relevant to organizations that aim to adopt an agile
project management methodology compatible with CMMI practices. The process documented
in this research was used in a real software development project in a Brazilian R&D company
which is compliant to CMMI level 3, showing that agility and maturity can be applied
together. Through Scrummi, innovative practices were introduced in the organizational
context. The case study project became a reference inside the company, representing a new
style of management. Main improvements achieved were related to increase in productivity,
directly influenced by high commitment and development of project team.
Keywords: Agile Project Management, SCRUM, CMMI, Agile Software Development
x
SUMÁRIO
LISTA DE FIGURAS ............................................................................................................. xiv
LISTA DE TABELAS ............................................................................................................ xvi
1 Introdução ......................................................................................................................... 18
1.1 Motivação ....................................................................................................... 18
1.2 Objetivos ......................................................................................................... 22
1.3 Estrutura do trabalho ....................................................................................... 24
2 Enfoques sobre Gestão de Projetos, CMMI e Agilidade .................................................. 25
2.1 Gerenciamento Clássico de Projetos ............................................................... 26
2.2 CMMI ............................................................................................................. 29
2.2.1 Os componentes do modelo CMMI ............................................................ 30
2.2.2 As Representações do CMMI ..................................................................... 31
2.2.3 Categorias das Áreas de Processo ............................................................... 33
2.2.4 Gerenciamento de Projetos no CMMI ........................................................ 34
2.3 Método Ágil Scrum ........................................................................................ 37
2.3.1 Papéis e Responsabilidades ......................................................................... 40
2.3.2 Artefatos ...................................................................................................... 41
2.3.3 Fases do Scrum............................................................................................ 41
2.3.4 Fluxo de Desenvolvimento.......................................................................... 42
2.3.5 Gráficos de Consumo do Produto e Consumo da Sprint ............................. 43
2.4 Gerenciamento Ágil de Projetos ..................................................................... 45
2.4.1 Definição, Valores e Princípios do Gerenciamento Ágil de Projetos ......... 46
2.4.2 Fases e Práticas do Gerenciamento Ágil de Projetos .................................. 47
2.4.3 Gerenciamento Ágil x Gerenciamento Clássico de Projetos ...................... 50
2.5 Combinando Agilidade e CMMI .................................................................... 51
2.6 Considerações finais ....................................................................................... 53
3 Investigando a aderência do Scrum ao CMMI ................................................................. 54
3.1 Análise da Área de Processo Planejamento do Projeto .................................. 55
3.1.1 SP 1.1 Estimar o Escopo do Projeto ............................................................ 55
3.1.2 SP 1.2 Estabelecer Estimativas de Atributos de Produtos de Trabalho e
Tarefas ..................................................................................................................... 56
3.1.3 SP 1.3 Definir o Ciclo de Vida do Projeto .................................................. 56
3.1.4 SP 1.4 Determinar Estimativas de Esforço e Custo .................................... 56
3.1.5 SP 2.1 Estabelecer o Orçamento e o Cronograma ...................................... 57
3.1.6 SP 2.2 Identificar os Riscos do Projeto ....................................................... 57
3.1.7 SP 2.3 Planejar o Gerenciamento de Dados ................................................ 57
3.1.8 SP 2.4 Planejar os Recursos do Projeto ...................................................... 58
3.1.9 SP 2.5 Planejar os Conhecimentos e Habilidades Necessários ................... 58
3.1.10 SP 2.6 Planejar o Envolvimento dos Stakeholders ..................................... 58
3.1.11 SP 2.7 Estabelecer o Plano do Projeto ........................................................ 59
3.1.12 SP 3.1 Revisar Planos que Afetam o Projeto .............................................. 59
3.1.13 SP 3.2 Equilibrar Níveis de Trabalho e Recursos ....................................... 59
xi
3.1.14 SP 3.3 Obter Comprometimento com o Plano ............................................ 60
3.1.15 Cobertura Geral do Scrum na Área de Processo PP.................................... 60
3.2 Análise da Área de Processo Monitoramento e Controle do Projeto.............. 61
3.2.1 SP 1.1 Monitorar os Parâmetros de Planejamento do Projeto..................... 61
3.2.2 SP 1.2 Monitorar os Compromissos ............................................................ 62
3.2.3 SP 1.3 Monitorar os Riscos do Projeto ....................................................... 62
3.2.4 SP 1.4 Monitorar o Gerenciamento de Dados ............................................. 63
3.2.5 SP 1.5 Monitorar o Envolvimento dos Stakeholders .................................. 63
3.2.6 SP 1.6 Conduzir Revisões de Progresso ..................................................... 63
3.2.7 SP 1.7 Conduzir Revisões em Marcos ........................................................ 63
3.2.8 SP 2.1 Analisar Problemas .......................................................................... 64
3.2.9 SP 2.2 Tomar ações corretivas .................................................................... 64
3.2.10 SP 2.3 Gerenciar ações corretivas ............................................................... 64
3.2.11 Cobertura Geral do Scrum na Área de Processo PMC................................ 64
3.3 Análise da Área de Processo Gerenciamento de Acordo com Fornecedores . 65
3.4 Análise da Área de Processo Gerenciamento Integrado de Projetos .............. 66
3.4.1 SP 2.1 Gerenciar o Envolvimento dos Stakeholders ................................... 67
3.4.2 SP 2.2 Gerenciar Dependências .................................................................. 67
3.4.3 SP 2.3 Resolver Questões de Coordenação ................................................. 68
3.4.4 SP 3.1 Estabelecer a Visão Compartilhada do Projeto................................ 68
3.4.5 SP 3.2 Estabelecer uma Estrutura Integrada para o Time ........................... 68
3.4.6 SP 3.3 Alocar Requisitos para times integrados ......................................... 69
3.4.7 SP 3.4 Estabelecer times integrados ............................................................ 70
3.4.8 SP 3.5 Garantir a colaboração entre as interfaces dos times ....................... 70
3.4.9 Cobertura Geral do Scrum na Área de Processo IPM+IPPD ...................... 70
3.5 Análise da Área de Processo Gerenciamento de Riscos ................................. 71
3.6 Análise da Área de Processo Gerenciamento Quantitativo de Projetos ......... 72
3.7 Considerações finais e Análise Geral dos Resultados .................................... 73
4 Investigando o interesse de organizações na melhoria de processos baseada em Scrum e
CMMI ....................................................................................................................................... 76
4.1 Análise do perfil das empresas ....................................................................... 78
4.2 Análise dos processos de desenvolvimento de software das empresas .......... 79
4.3 Análise dos projetos que usam Scrum ............................................................ 81
4.4 Análise de Condições para a Melhoria do Processo de Desenvolvimento de
Software ........................................................................................................................ 82
4.5 Análise de práticas de estimativas, gestão de riscos e gerenciamento de ações
corretivas ........................................................................................................................ 83
4.5.1 Análise de Práticas de Estimativas .............................................................. 84
4.5.2 Análise de Práticas para o Gerenciamento de Riscos ................................. 84
4.5.3 Análise de Práticas para o Gerenciamento de Ações Corretivas ................ 84
4.6 Considerações finais ....................................................................................... 85
5 Scrummi: Um processo de gestão baseado no Scrum e aderente ao CMMI .................... 87
5.1 Objetivos Específicos do Scrummi ................................................................. 87
5.2 Formato e Apresentação ................................................................................. 90
5.3 Visão Geral ..................................................................................................... 91
5.4 Ciclo de Vida .................................................................................................. 93
5.5 Papéis .............................................................................................................. 95
5.5.1 Gerente do Produto...................................................................................... 95
5.5.2 Gerente do Projeto ....................................................................................... 96
5.5.3 Gerente Sênior de Projetos .......................................................................... 97
xii
5.5.4 Time do Projeto ........................................................................................... 97
5.5.5 Stakeholders ................................................................................................ 98
5.6 Artefatos .......................................................................................................... 98
5.6.1 Plano do Projeto .......................................................................................... 98
5.6.2 Backlog do Projeto ...................................................................................... 99
5.6.3 Backlog da Sprint ...................................................................................... 101
5.6.4 Lista de Riscos do Projeto ......................................................................... 101
5.6.5 Lista de Impedimentos do Projeto ............................................................. 101
5.6.6 Base Histórica de Projetos......................................................................... 102
5.6.7 Ata de Reunião de Planejamento da Sprint ............................................... 102
5.6.8 Ata de Reunião de Revisão da Sprint ........................................................ 102
5.6.9 Ata de Reunião de Retrospectiva da Sprint ............................................... 103
5.7 Atividades da Fase Visão .............................................................................. 103
5.7.1 Estabelecer Visão Geral do Projeto ........................................................... 104
5.7.2 Criar Backlog do Projeto ........................................................................... 106
5.7.3 Estabelecer Comunidade e Plano de Comunicações ................................. 107
5.7.4 Definir Abordagem de Execução do Projeto ............................................. 108
5.8 Atividades da Fase Especulação ................................................................... 109
5.8.1 Iniciar Projeto ............................................................................................ 110
5.8.2 Planejar projeto ......................................................................................... 111
5.8.3 Planejar Sprint ........................................................................................... 118
5.8.4 Identificar e Analisar Riscos ..................................................................... 121
5.9 Atividades da Fase Exploração ..................................................................... 123
5.9.1 Monitorar Sprint ........................................................................................ 124
5.9.2 Desenvolver Time ..................................................................................... 129
5.10 Atividades da Fase Adaptação ...................................................................... 130
5.10.1 Realizar Revisão da Sprint ........................................................................ 130
5.10.2 Realizar Retrospectiva da Sprint ............................................................... 131
5.10.3 Monitorar Projeto ...................................................................................... 132
5.10.4 Atualizar Base Histórica de Projetos ......................................................... 135
5.11 Atividades da Fase Encerramento ................................................................. 135
5.11.1 Obter aceite final do projeto ...................................................................... 136
5.11.2 Concluir projeto......................................................................................... 137
5.11.3 Liberar Time e Infra-estrutura do Projeto ................................................. 137
5.12 Considerações sobre a Aderência do Scrummi ao CMMI ............................ 138
5.13 Considerações finais ..................................................................................... 142
6 Aplicação do Scrummi ................................................................................................... 144
6.1 Objetivos ....................................................................................................... 144
6.2 Estudo de Caso .............................................................................................. 145
6.2.1 Contextualização da organização .............................................................. 145
6.2.2 Caracterização do projeto piloto ............................................................... 145
6.2.3 Aplicação do Scrummi no projeto piloto .................................................. 147
6.2.4 Principais desafios encontrados na aplicação do Scrummi ....................... 158
6.2.5 Outras aplicações do Scrummi .................................................................. 163
6.2.6 Resultados e Lições Aprendidas ............................................................... 164
6.3 Considerações finais ..................................................................................... 166
7 Conclusões e Trabalhos Futuros ..................................................................................... 168
7.1 Principais Contribuições ............................................................................... 169
7.2 Trabalhos Futuros ......................................................................................... 170
BIBLIOGRAFIA .................................................................................................................... 171
xiii
APÊNDICE I – Template Plano do Projeto ........................................................................... 177
APÊNDICE II – Template Backlog do Projeto ...................................................................... 181
APÊNDICE III – Template Backlog da Sprint ...................................................................... 184
APÊNDICE IV – Template LISTA DE RISCOS .................................................................. 186
APÊNDICE V – Template LISTA DE IMPEDIMENTOS.................................................... 188
APÊNDICE VI – Template Base Histórica de Projetos ......................................................... 189
APÊNDICE VII – Template Ata de Reunião de Planejamento da Sprint .............................. 191
APÊNDICE VIII – Template Ata de Reunião de Revisão da Sprint ..................................... 192
APÊNDICE VIX – Template Ata de Reunião de Retrospectiva da Sprint ............................ 193
APÊNDICE X – Guia de Estimativas Planning Poker ........................................................... 194
APÊNDICE XI – Guia de Priorização do Backlog ................................................................ 196
APÊNDICE XII – Guia de Riscos .......................................................................................... 198
APÊNDICE XIII – Guia para Condução das Reuniões ......................................................... 203
xiv
LISTA DE FIGURAS
Figura 1: Representações do CMMI ............................................................................... 31
Figura 2: Visão geral do processo do Scrum .................................................................. 43
Figura 3: Gráfico de Consumo do Produto do Scrum ..................................................... 44
Figura 4: Gráfico de Consumo da Sprint do Scrum ........................................................ 45
Figura 5: Fluxo do gerenciamento ágil de projetos ......................................................... 47
Figura 6: Fases do framework do APM .......................................................................... 48
Figura 7: Cobertura geral do Scrum na área de processo PP .......................................... 61
Figura 8: Cobertura geral do Scrum na área de processo PMC ...................................... 65
Figura 9: Cobertura geral do Scrum na área de processo IPM+IPPD ............................ 71
Figura 10: Cobertura do Scrum nas PAs de Gerenciamento de Projetos do CMMI ...... 73
Figura 11: Cobertura do Scrum nas PAs de Gerenciamento de Projetos do CMMI
segundo os níveis de maturidade do modelo. ........................................................................... 74
Figura 12: Localização das empresas nas regiões geográficas do Brasil ........................ 78
Figura 13: Tempo de mercado das empresas .................................................................. 79
Figura 14: Tamanho (número de profissionais) das empresas ........................................ 79
Figura 15: Aderência dos processos das empresas ao CMMI......................................... 80
Figura 16: Adoção de métodos àgeis nas empresas ........................................................ 80
Figura 17: Versão do Scrummi publicada a partir do EPF Composer ............................ 90
Figura 18: Framework de atividades do Scrummi .......................................................... 92
Figura 19: Ciclo de Vida proposto pelo Scrummi .......................................................... 93
Figura 20: Backlog do Projeto ........................................................................................ 99
Figura 21: Gráficos de Consumo do Backlog do Projeto do Scrummi ......................... 100
Figura 22: Gráfico de consumo do backlog da sprint do Scrummi .............................. 101
Figura 23: Fluxo de atividades da fase Visão ............................................................... 103
Figura 24: Fluxo de atividades da fase Especulação ..................................................... 110
Figura 25: Macro-atividade Planejar Projeto ................................................................ 111
Figura 26: Macro-atividade Planejar Sprint .................................................................. 118
Figura 27: Fluxo de atividades da fase Exploração ...................................................... 123
Figura 28: Macro-atividade Monitorar Sprint ............................................................... 124
Figura 29: Fluxo de atividades da fase Adaptação........................................................ 130
Figura 30: Macro-atividade Monitorar Projeto ............................................................. 133
Figura 31: Fluxo de atividades da fase Encerramento .................................................. 136
Figura 32: Cobertura do Scrummi nas PAs de Gerenciamento de Projeto do CMMI .. 142
Figura 33: Ciclo de Vida do Projeto Piloto ................................................................... 147
Figura 34: Plano de Marcos e entregas do Projeto Piloto ............................................. 149
Figura 35: Atividades das fases Especulação, Exploração e Adaptação executadas no
projeto piloto .......................................................................................................................... 149
Figura 36: Backlog do Projeto do projeto piloto ........................................................... 150
Figura 37: Planilha de estimativas de esforço dos casos de uso a partir de sua
complexidade .......................................................................................................................... 152
Figura 38: Backlog da Sprint 4 do projeto piloto .......................................................... 153
xv
Figura 39: Quadro ágil do projeto piloto ...................................................................... 155
Figura 40: Monitoramento da Sprint realizado pela ferramenta JIRA .......................... 156
Figura 41: Monitoramento do escopo da sprint ............................................................ 157
Figura 42: Atividades realizadas pelo Gerente de Produto ........................................... 163
Figura 43: Gráficos de Consumo do Backlog do Projeto ............................................. 182
Figura 44: Planilhas de acompanhamento das estimativas e custos do projeto ............ 182
Figura 45: Gráfico de consumo de horas da sprint ....................................................... 185
xvi
LISTA DE TABELAS
Tabela 1: Níveis de maturidade na representação por estágios do CMMI ..................... 32
Tabela 2: Áreas de processo do CMMI .......................................................................... 34
Tabela 3: Prinípios dos métodos ágeis ............................................................................ 38
Tabela 4: Comparação entre as abordagens de desevolvimento de software ................. 39
Tabela 5: Princípios do APM .......................................................................................... 47
Tabela 6: Práticas do APM ............................................................................................. 49
Tabela 7: Gerenciamento Ágil x Gerenciamento Clássico de Projetos .......................... 50
Tabela 8: Áreas de processo do Gerenciamento de Projetos do CMMI ......................... 54
Tabela 9: Critérios para classificação das práticas específicas ....................................... 55
Tabela 10: Classificação da Área de Processo PP .......................................................... 60
Tabela 11: Classificação da Área de Processo PMC ...................................................... 65
Tabela 12: Classificação da Área de Processo SAM ...................................................... 66
Tabela 13: Classificação da Área de Processo IPM+IPPD ............................................. 70
Tabela 14: Classificação da Área de Processo RSKM.................................................... 72
Tabela 15: Classificação da Área de Processo QPM ...................................................... 72
Tabela 16: Parâmetros para classificação dos projetos Scrum........................................ 81
Tabela 17: Características dos projetos Scrum ............................................................... 81
Tabela 18: Condições para melhoria do processo de gestão na adoção de práticas de
Scrum ........................................................................................................................................ 82
Tabela 19: Condições para melhoria do processo de gestão na adoção de práticas do
CMMI ....................................................................................................................................... 83
Tabela 20: Objetivos específicos do Scrummi ................................................................ 88
Tabela 21: Tabela resumo das atividades do Scrummi ................................................... 91
Tabela 22: Atividades do Scrummi por fase ................................................................... 92
Tabela 23: Etapas do Ciclo de vida do Scrummi ............................................................ 94
Tabela 24: Estrutura de decomposição do trabalho do Scrummi .................................... 94
Tabela 25: Atividade Estabelecer Visão Geral do Projeto ............................................ 104
Tabela 26: Atividade Criar Backlog do Projeto ............................................................ 106
Tabela 27: Atividade Estabelecer Comunidade e Plano de Comunicações .................. 107
Tabela 28: Atividade Definir Abordagem de Execução do Projeto .............................. 108
Tabela 29: Atividade Iniciar Projeto ............................................................................. 110
Tabela 30: Atividade Atualizar Backlog do Projeto ..................................................... 112
Tabela 31: Atividade Estimar Backlog do Projeto ........................................................ 114
Tabela 32: Atividade Estimar duração, esforço e custos do projeto ............................. 115
Tabela 33: Atividade Planejar entregas do projeto ....................................................... 117
Tabela 34: Atividade Definir Objetivo e Escopo da Sprint .......................................... 119
Tabela 35: Atividade Construir o backlog da sprint ..................................................... 120
Tabela 36: Atividade Identificar e Analisar Riscos ...................................................... 121
Tabela 37: Atividade Atualizar Backlog da Sprint ....................................................... 124
Tabela 38: Atividade Realizar Reunião de Acompanhamento ..................................... 125
Tabela 39: Atividade Remover Impedimentos ............................................................. 126
xvii
Tabela 40: Atividade Gerenciar Compromissos ........................................................... 126
Tabela 41: Atividade Gerenciar Envolvimento dos Stakeholders ................................ 128
Tabela 42: Atividade Coletar mudanças ....................................................................... 128
Tabela 43: Atividade Gerenciar e Monitorar Riscos..................................................... 129
Tabela 44: Atividade Desenvolver Time ...................................................................... 129
Tabela 45: Atividade Realizar Revisão da Sprint ......................................................... 131
Tabela 46: Atividade Realizar Retrospectiva da Sprint ................................................ 132
Tabela 47: Resumo da atividade: Monitorar estimativas e custos ................................ 133
Tabela 48: Atividade Monitorar Backlog do Projeto .................................................... 134
Tabela 49: Atividade Reportar Progresso ..................................................................... 135
Tabela 50: Atividade Atualizar Base Histórica de Projetos .......................................... 135
Tabela 51: Atividade Celebrar conclusão do projeto .................................................... 136
Tabela 52: Atividade Concluir projeto .......................................................................... 137
Tabela 53: Atividade: Liberar time e infra-estrutura do projeto ................................... 137
Tabela 54: Mapeamento das Atividades Scrummi x Práticas do CMMI ...................... 138
Tabela 55: Classificação das práticas do CMMI x Scrummi ........................................ 141
Tabela 56: Caracterização do Projeto Piloto ................................................................. 146
Tabela 57: Estimativas de duração, esforço e custos do projeto piloto ........................ 148
Tabela 58: Complexidade dos casos de uso X Story Points ......................................... 160
Tabela 59: Caracterização do Projeto A........................................................................ 163
Tabela 60: Caracterização dos sub-projetos do Projeto B ............................................ 164
Tabela 61: Parâmetros para Classificação de Atributos do Projeto .............................. 190
Tabela 62: Riscos por Categoria ................................................................................... 199
Tabela 63: Fator de exposição do risco ......................................................................... 202
18
1 Introdução
Este capítulo apresenta a motivação deste trabalho, seus objetivos e sua organização.
1.1 Motivação
De acordo com o SEI (Software Engineering Institute), ao longo dos últimos anos,
organizações vêem adotando modelos de qualidade focados na maturidade do processo de
software, tais como o SW-CMM (Capability Maturity Model for Software) e o seu substituto
o CMMI (Capability Maturity Model Integration) (SEI, 2006). Uma das razões para isso está
relacionada ao fato de que a melhoria na qualidade de software está largamente associada à
adequação e aderência dos processos organizacionais aos níveis de maturidade destes
modelos, garantindo melhorias relacionadas com o desempenho dos projetos, com a qualidade
dos produtos e serviços bem como maior satisfação do cliente (ALLEMAN, 2004).
Seguindo-se a linha do tempo com relação à engenharia de software, observa-se que na
década de 90 o SW-CMM torna-se o padrão “de-facto” para o desenvolvimento de software
ajudando as organizações a saírem do caos, entrarem em um ambiente mais estruturado e
estável (DAVIS et al., 2007) provocando, inclusive, uma grande mudança no âmbito gerencial
dos projetos de desenvolvimento de software (COHEN et al., 2003). Goldenson e Gibson
(2003) mostraram em seu trabalho que o SW-CMM aplicado em algumas organizações
garantiu uma melhoria de produtividade de 35%, diminuiu o tempo de lançamento de
produtos no mercado em 19% e reduziu os defeitos pós-entrega em 39%.
Entretanto, o surgimento de vários métodos ágeis no final dos anos 90 entre eles:
Adaptive Software Development (HIGHSMITH, 2002), Crystal (COCKBURN, 2004),
Dynamic Systems Development (COHEN et al., 2003), eXtreme Programming (XP) (BECK,
1999), Feature Driven Development (HIGHSMITH, 2002) e Scrum (ADM, 2003), contribuiu
para que a partir de 2000, de acordo com Boehm (2006), acompanhássemos uma tendência
para o desenvolvimento ágil de aplicações. Tal feito causou frustrações crescentes com
19
relação a planos, especificações e documentações pesados muitas vezes impostos por critérios
de conformidade aos modelos de maturidade.
Métodos ágeis empregam princípios de ciclos iterativos, entrega rápida de software
funcionando e simplicidade, como definidos no Manifesto para Desenvolvimento Ágil
(BECK et al., 2001) publicado em 2001. O manifesto tem como essência a definição de um
novo enfoque de desenvolvimento de software calcado na agilidade, na flexibilidade, na
habilidade de comunicação e na capacidade de oferecer novos produtos e serviços de valor ao
mercado, em curtos períodos de tempo (HIGHSMITH, 2004).
O Scrum destaca-se dos demais métodos ágeis pela maior ênfase dada ao gerenciamento
do projeto e tem sido utilizado nos últimos dez anos em milhares de projetos em centenas de
organizações espalhadas por todo o mundo. Foi criado em 1996 por Ken Schwaber e Jeff
Sutherland partindo da premissa de que o desenvolvimento de software é imprevisível e
complexo, sendo aplicável a ambientes voláteis (ADM, 1996). Reúne atividades de
monitoramento e feedback, em geral, reuniões rápidas e diárias com toda a equipe, visando
identificação e correção de quaisquer deficiências e/ou impedimentos no processo de
desenvolvimento (SCHWABER, 2004).
Ainda do ponto de vista do gerenciamento de projetos, o APM (Agile Project
Management) surge junto com o manifesto ágil para o desenvolvimento de projeto e
representa um conjunto de valores, princípios e práticas, que auxiliam a equipe de projeto a
entregar produtos ou serviços de valor em um ambiente desafiador (HIGHSMITH, 2004). Os
valores centrais do APM focam basicamente em dois propósitos maiores: a necessidade de
construir produtos ágeis e adaptáveis juntamente com a necessidade de criar times de
desenvolvimento ágeis e adaptáveis. O enfoque ágil para gerenciamento de projetos pode ser
aplicado a projetos que são conduzidos em ambientes complexos e caracterizados por muitas
incertezas iniciais; têm dificuldades para detalhamento do escopo e de elaboração de um
planejamento completo; têm um elevado grau de mudanças; e têm constantes pressões pela
entrega de resultados em curtos períodos de tempo.
Fatores relacionados à competição do mercado têm favorecido os métodos e
gerenciamento ágeis. Organizações precisam entregar produtos e serviços cada vez melhores,
com prazos mais curtos e com preços cada vez mais atrativos (CHRISSIS; KONRAD;
SHRUM, 2007). De acordo com Boehm e Turner (2004), o ambiente no qual o software é
imaginado, criado e especificado está sofrendo profundas mudanças. Os sistemas de
20
informação estão maiores e se tornando cada vez mais complexos. Os requisitos estão
mudando num ritmo acelerado e o software está presente em toda parte, sendo sua qualidade e
usabilidade consideradas aspectos críticos a serem avaliados. Times de desenvolvimento de
produtos estão vivenciando uma revolução na qual tanto engenheiros quanto gerentes de
projetos devem ajustar-se (HIGHSMITH, 2004). Processos prescritivos e padronizados com
práticas invariáveis não são mais recomendados para o ambiente volátil de desenvolvimento
de software e produtos. Assim, processos de desenvolvimento baseados em modelos de
maturidade migram de antecipatórios para adaptativos e o gerenciamento de projetos muda
também (HIGHSMITH, 2004).
Observando este cenário de mudanças, organizações que empregaram um grande
esforço na melhoria dos seus processos baseadas no SW-CMM ou CMMI começam a ficar
preocupadas com o custo de utilizar processos pesados e com muita documentação e
questionam por simplificação acreditando que abordagens ágeis podem prover incrementos de
melhorias (BOEHM; TURNER, 2004).
Com o intuito de se encontrar soluções para promover velocidade e simplicidade no
desenvolvimento de software em organizações que adotam modelos de maturidade, vários
estudos e análises vêm sendo realizadas desde o início dos anos 2000. Orr (2002), Turner e
Jain (2002), Paulk (2001) e Boehm e DeMarco (2002), em seus respectivos trabalhos,
apresentam diferenças e semelhanças nas duas abordagens, acreditando que a área da
engenharia de software está passando por mais uma nova fase denominada: desenvolvimento
tradicional de software versus desenvolvimento ágil de software. Turner e Jain (2002)
comentam que, apesar da existência de características distintas entre os métodos ágeis e o
modelo CMMI, ambos possuem planos específicos para o desenvolvimento de software e
buscam o melhor para que a organização produza software com qualidade.
Boehm e Turner (2004) defendem que apesar de aparentemente opostos, a agilidade e
disciplina são valores complementares no desenvolvimento e gerenciamento de software.
Desenvolvedores disciplinados ou “plan-driven” devem ser ágeis. Da mesma forma,
desenvolvedores ágeis devem ser disciplinados. Complementa dizendo que: “A chave do
sucesso é encontrar o balanceamento correto entre disciplina e agilidade que pode variar de
projeto para projeto, levando em consideração circunstâncias e riscos envolvidos”. E ainda
observa uma diferenciação do entendimento da palavra qualidade utilizada nos métodos ágeis
e nos modelos de qualidade. Em modelos, como o CMMI, a garantia da qualidade é definida
21
como “conformidade nos processos e especificações”, enquanto nos métodos ágeis, a
qualidade é entendida como satisfação do cliente.
Davis e seus colegas (2007) relatam que, apesar de existir uma grande controvérsia
entre a compatibilidade dos métodos ágeis e o CMMI, eles não são mutuamente exclusivos.
Assim eles definem uma abordagem híbrida, Agile+, para o desenvolvimento de software
baseada no XP e ao mesmo tempo compatível com o CMMI. Segundo Anderson (2005), o
caminho para alcançar mais agilidade com o CMMI é perceber que as práticas são
primariamente consultivas ou indicativas e, que para corresponder a uma avaliação do CMMI,
uma organização deve demonstrar que as metas de uma área de processo estão sendo
alcançadas por meio de evidências de práticas. Esta experiência é relatada em seu trabalho de
extensão do método MSF (Microsoft Solutions Framework) para desenvolvimento ágil de
projetos para se ajustar aos requisitos do CMMI nível 3.
Outros trabalhos publicados em (DUTTON; McCABE, 2006), (DALTON, 2006) e
(GLAZER et al., 2008), apresentam análises detalhadas realizadas sobre o impacto do uso de
metodologias ágeis na implementação de processos, considerando cada área de processo
definida no CMMI. Estes trabalhos indicam não apenas ser viável a abordagem de se unir
princípios ágeis ao CMMI, como também apontam esta abordagem híbrida como uma boa
estratégia para alcance de melhores resultados em termos de qualidade e produtividade.
Consderando este cenário no qual se discute agilidade e CMMI, uma preocupação veio
à tona durante a execução deste trabalho: como conseguir atingir um nível de maturidade
garantindo a agilidade necessária para executar uma grande diversidade de projetos
inovadores de forma flexível, aceitando mudanças, agregando valor de negócio aos clientes e
ao mesmo tempo aumentando a produtividade das equipes de desenvolvimento?
Para estes questionamentos foi considerada a hipótese de que seria necessário adotar
práticas ágeis no contexto da gestão, com o mínimo de “burocracia” e documentação
necessária para alcançar níveis de maturidade do CMMI. A gestão ágil para esses tipos de
projetos poderia ser introduzida considerando o Scrum como o ponto de partida. Mas, o que
podemos afirmar com relação ao alinhamento do Scrum com o CMMI? Eles podem co-
existir? Como o gerenciamento ágil de projetos baseado no Scrum é aderente aos objetivos e
práticas específicas do CMMI?
Respostas a essas perguntas nortearam esta pesquisa. Tivemos como pressuposto o fato
de que apesar dos processos não serem tão importantes quanto pessoas no gerenciamento ágil
22
isto não significa que não se dê importância a eles. Highsmith (2004) e Chin (2004) defendem
que não se deve atribuir aos processos uma conotação negativa, vinculada ao excesso de
documentação e padronização, à característica estática e prescritiva, difícil de ser mudada,
conforme alardeiam alguns seguidores do movimento ágil. Segundo os autores, os processos
como qualquer outro elemento dentro das empresas devem estar alinhados aos seus negócios
e, portanto devem existir podendo ser prescritivos ou baseados numa estrutura orgânica,
flexível e facilmente adaptável.
Este trabalho abraçou o desafio de analisar e investigar a aderência do Scrum em
relação ao CMMI, especificamente no que diz respeito às práticas específicas dos processos
de gerenciamento de projetos servindo como insumo para se definir um processo de gestão de
projetos híbrido, sendo ao mesmo tempo ágil e aderente ao modelo de maturidade CMMI.
Acreditando neste processo como uma boa alternativa para instituições desenvolvedoras
de software que pretendem usar o Scrum com o CMMI, surgiu então a necessidade de se
investigar o real interesse dessas organizações em adotar na gestão de seus projetos práticas
de métodos ágeis e CMMI. Esta investigação foi realizada por meio da aplicação de uma
pesquisa de campo com empresas brasileiras de desenvolvimento de software.
A motivação e necessidade confirmada na pesquisa embasaram a definição do processo
de gestão ágil, chamado Scrummi, o qual combina práticas do Scrum com práticas das áreas
de processo de gerenciamento de projeto do CMMI, a ser apresentado ao longo desta
dissertação.
1.2 Objetivos
O objetivo geral deste trabalho é propor um processo de gerenciamento ágil de projetos,
sendo baseado numa extensão do método ágil Scrum a partir das áreas de processo de
gerenciamento de projeto do CMMI: Planejamento do Projeto (PP), Controle e
Monitoramento do Projeto (PMC), Gerenciamento Integrado de Projetos (IPM) e
Gerenciamento de Riscos (RSKM). Tal processo, chamado Scrummi visa contribuir com
organizações que pretendem incorporar em seus processos valores, princípios e práticas de
gestão ágil de projetos que seja ao mesmo tempo compatível com práticas do CMMI e Scrum.
23
Os objetivos específicos deste trabalho são:
Estudar e investigar a aderência do SCRUM ao CMMI, identificando os pontos
fortes e problemas existentes. O escopo deste estudo restringe-se às práticas
específicas das áreas de processo pertencentes à categoria de gerenciamento de
projetos na sua representação por estágios;
Fazer uma pesquisa de interesse das empresas brasileiras sobre a melhoria dos
processos de gestão de projetos baseados em metodologias ágeis e CMMI com o
objetivo de ajudar na caracterização do perfil de empresas que apostam nesta
tendência;
Definir um processo de gestão ágil aderente a práticas de gerenciamento de
projetos do CMMI que possa ser facilmente introduzido em organizações de
desenvolvimento de software que possuam ou não processos aderentes ao CMMI;
Aplicar o processo em um projeto-piloto real analisando os resultados,
descobrindo lições aprendidas, bem como identificando oportunidades de
melhoria;
Aumentar a produtividade
1
, motivação e comprometimento do time de
desenvolvimento de projetos de desenvolvimento de software com a aplicação de
práticas de gestão ágil.
As metas a serem atingidas são as seguintes:
Ter um novo processo para apoiar organizações na melhoria dos seus processos
sendo totalmente compatível com valores, princípios e práticas do Scrum;
Ter um novo processo para apoiar a gestão de projetos que seja totalmente
compatível com práticas específicas das Áreas de Processo Planejamento do
Projeto, Monitoramento Controle do Projeto, Gerenciamento de Riscos e
parcialmente compatível com Gerenciamento Integrado de Projetos do CMMI;
1
A produtividade corresponde à quantidade de horas necessárias para se desenvolver 1unidade de medida
relacionada ao tamanho (Story Point ou Use Case Point, por exemplo) da funcionalidade do projeto.
24
Aplicar o Scrummi em um projeto real de desenvolvimento de software,
garantindo aumento da produtividade em pelo menos 20% com relação à média
organizacional;
Contribuir de forma relevante em pelo menos uma organização que tem seu
processo baseado no CMMI e está planejando a melhoria dos seus processos
através da introdução de agilidade;
Utilizar uma ferramenta para construção e gestão do novo processo que possa ser
facilmente navegável.
1.3 Estrutura do trabalho
Com relação à estrutura, esta dissertação está dividida em oito capítulos, inclusive esta
introdução e alguns apêndices, sendo resumidamente descrita a seguir.
No Capítulo 2 são mostrados: os conceitos e origens da gestão de projetos; o modelo de
maturidade CMMI com enfoque no gerenciamento de projetos de desenvolvimento de
software; contextualização e história dos métodos ágeis destancando-se o Scrum; e por fim a
apresentação do Gerenciamento Ágil de Projetos bem como trabalhos e ações relacionados
com a combinação dos enfoques ágil e CMMI para o desenvolvimento de projetos de
software.
No Capítulo 3 é apresentado o estudo realizado para a se investigar e mapear a
aderência do Scrum nas áreas de processo de gerenciamento de projetos do CMMI.
O Capítulo 4 apresenta os resultados da pesquisa de campo aplicada no contexto de
empresas brasileiras com o objetivo de investigar o interesse na melhoria de seus processos de
gestão baseados em Scrum e CMMI.
O Capítulo 5 apresenta detalhadamente o Scrummi, o processo de gestão ágil definido
neste trabalho a partir extensões do Scrum para estar aderente ao CMMI.
O Capítulo 6 descreve o estudo de caso realizado com a aplicação do Scrummi, os
desafios encontrados, resultados e lições aprendidas coletados.
Por fim, o Capítulo 7 apresenta as conclusões e as contribuições deste trabalho, bem
como suas perspectivas futuras.
25
2 Enfoques sobre Gestão de Projetos, CMMI e Agilidade
Muito tem sido feito e estudado nos últimos anos em busca de uma área e disciplina de
gerência de projetos consolidada e bem entendida (FREITAS, 2006). O PMBOK (Project
Management Body of Knowledge) definido pelo PMI (Project Management Institute) é uma
iniciativa importante neste contexto e reúne um conjunto de boas práticas que pode ser
aplicado em uma grande variedade de projetos (PMI, 2004). O PMBOK também fornece e
promove um vocabulário comum para se discutir, escrever e aplicar o gerenciamento de
projetos possibilitando o intercâmbio eficiente de informações entre os profissionais de
gerência de projetos.
Na área de desenvolvimento de software e Tecnologia da Informação, várias
metodologias, modelos e processos de software trazem métodos, técnicas, práticas,
ferramentas e atividades relacionadas com gerência de projetos. Entre eles, destaca-se o
CMMI (SEI, 2006), modelo de maturidade no desenvolvimento de software. O CMMI está
em franca ascensão principalmente entre as empresas de software que têm investido bastante
na melhoria dos seus processos visando aumentar sua participação em projetos de grande
porte e na exportação de produtos por meio da obtenção de atestado de aderência aos níveis
de maturidade do modelo.
O Gerenciamento Ágil de Projetos que surge como uma evolução no âmbito gerencial
das metodologias ágeis de desenvolvimento de software representa uma resposta às crescentes
pressões por inovação em prazos cada vez mais curtos e ao mau desempenho de grande parte
dos projetos de software (DIAS, 2005).
Neste contexto, este capítulo apresenta a revisão bibliográfica relacionada com o
objetivo deste trabalho. São abordados conceitos e definições sobre a gestão de projetos, o
modelo de maturidade CMMI, os métodos ágeis para desenvolvimento de software,
destacando-se o Scrum e a gestão ágil de projetos. Por fim, são apresentados trabalhos
relacionados com a combinação de agilidade e CMMI, foco do trabalho de pesquisa realizado.
26
2.1 Gerenciamento Clássico de Projetos
Segundo Meredith e Mantel (2000) foi a partir da década de 60 que a gestão de
projetos passou a despertar maior interesse e ganhar popularidade, apesar dos projetos
existirem desde os tempos remotos. O Gerenciamento de projetos foi objeto de estudo de
vários autores e pesquisadores que apresentaram suas definições e visões sobre o tema
(VERZUH, 1999), (KERZNER, 2002), (DINSMORE, 2004). Estes autores compartilham a
mesma linha conceitual, ou seja, a estruturação do gerenciamento de projetos por meio de
processos assim como está definido no PMBOK divulgado pelo PMI.
Para melhor entender o gerenciamento de projetos é preciso, em primeiro lugar,
reconhecer o que é um projeto. Segundo o PMI (2004), “um projeto é um esforço temporário
com a finalidade de criar um produto, serviço ou produto exclusivo”. Um projeto utiliza
recursos limitados e é conduzido por pessoas, com o objetivo principal de atingir suas metas
dentro de parâmetros de prazo, custo e qualidade.
Como os projetos envolvem a realização de algo que nunca foi feito anteriormente, a
eles pode-se associar um certo grau de complexidade e incerteza. O propósito de um projeto é
alcançar o seu objetivo declarado e então ser encerrado (PMI, 2004). Diferentemente, a
operação contínua tem por finalidade a sustentação do negócio, sendo obtida por meio da
realização de processos repetitivos os quais produzem resultados a cada execução.
De acordo com o PMI, gerenciar um projeto inclui: a identificação de necessidades,
seja ela uma demanda de mercado, uma necessidade organizacional, uma solicitação de um
cliente, um avanço tecnológico ou mesmo um requisito legal; o estabelecimento de objetivos
claros e alcançáveis; o balanceamento de demandas conflitantes de qualidade, escopo, tempo
e custo; e a adaptação das especificações, dos planos e da abordagem às diferentes
preocupações e expectativas dos diversos stakeholders do projeto.
Kerzner (2002) complementa que, para ser bem-sucedida, a gestão de projetos
demanda um fluxo de trabalho e coordenação horizontal, com ênfase na comunicação, no
aumento da produtividade, eficácia e eficiência, com destaque especial ao papel e às
atribuições do gerente de projeto.
27
Preocupado com a padronização de conceitos bem como com sua aplicação prática, o
PMI (2004) descreve o gerenciamento de projetos como “a aplicação de conhecimentos,
habilidades, ferramentas e técnicas às atividades do projeto, a fim de atender aos seus
requisitos”. Ainda enfatiza que o gerenciamento de projetos é realizado por meio da aplicação
e da integração de processos de gerenciamento de projetos, definidos com base em boas
práticas com seus respectivos objetivos e integração conforme apresentados no PMBOK.
Esses processos encontram-se organizados em cinco grupos:
Iniciação: define e autoriza o projeto ou fase do projeto;
Planejamento: define e refina os objetivos e planeja as ações necessárias para
atingir os objetivos e o escopo para os quais o projeto foi concebido;
Execução: integra pessoas e outros recursos visando a execução do plano de
gerenciamento do projeto;
Monitoramento e controle: mede e monitora regularmente o progresso do
projeto para identificar variações em relação ao plano, de forma a possibilitar a
tomada de ações corretivas quando necessário, sempre com o intuito de atender
aos objetivos do projeto;
Encerramento: formaliza a aceitação final do produto, serviço ou resultado e
conduz o projeto, ou uma fase, a um final ordenado.
Nesses 5 grupos, encontram-se 44 processos de gerenciamento de projetos,
distribuídos ao longo de nove áreas de conhecimento conforme descritas no PMBOK (PMI,
2004) e resumidamente definidas a seguir:
Gerenciamento da integração do projeto: inclui as atividades necessárias
para identificar, definir, combinar, unir e coordenar os diversos processos e
atividades do gerenciamento de projetos nos grupos de processos de gestão de
projetos;
Gerenciamento do escopo do projeto: compreende os processos necessários
para garantir que o projeto inclua todo o trabalho necessário, e apenas o
necessário, para entregar o projeto com sucesso;
28
Gerenciamento do tempo do projeto: inclui os processos necessários para
realizar o projeto dentro do prazo estipulado;
Gerenciamento dos custos do projeto: são considerados os processos
envolvidos no planejamento, estimativa, orçamento e controle de custos de
modo a encerrar o projeto dentro do orçamento previsto;
Gerenciamento da qualidade do projeto: compreende as atividades da
organização executora que determinam as responsabildades, os objetivos e as
políticas de qualidade de forma a atender as necessidades que motivaram a sua
realização;
Gerenciamento dos recursos humanos do projeto: estão inseridos os
processos que organizam e gerenciam a equipe do projeto;
Gerenciamento das comunicações do projeto: reúne os processos necessários
para garantir a geração, coleta, distribuição, armazenamento, recuperação e
distribuição das informações do projeto de forma oportuna e adequada;
Gerenciamento dos riscos do projeto: inclui os processos que tratam a
identificação, a análise, a proposição de respostas, o monitoramento e o
controle dos riscos de um projeto;
Gerenciamento das aquisições do projeto: engloba os processos para
comprar ou adquirir os produtos, serviços e resultados necessários,
externamente à organização do projeto.
Apesar de todo o detalhamento oferecido pelo PMBOK, o PMI (2004) ressalta que o
conhecimento, as habilidades e os processos de gerenciamento de projetos não devem ser
aplicados uniformemente em todos os projetos. Cabe ao gerente do projeto, com o apoio do
time do projeto, a seleção e determinação dos processos adequados e do grau de rigor de cada
processo a ser aplicado em um projeto específico.
Sendo assim, para que um projeto seja bem sucedido, o gerente e o time do projeto
devem, segundo o PMI: selecionar processos adequados dentro do grupo de processos de
gerenciamento de projetos que sejam necessários para atender os objetivos do projeto; usar
29
uma abordagem definida para adaptar os planos e as especificações do produto de forma a
atender aos requisitos do produto e do projeto; atender aos requisitos para satisfazer as
necessidades, os desejos e as expectativas dos stakeholders do projeto; e balancear as
demandas conflitantes de escopo, tempo, custo, qualidade, recursos e risco para gerar um
produto de qualidade.
Finalmente, ao se analisar o PMBOK percebe-se uma abordagem bastante estruturada
para o planejamento e gerenciamento de projetos, calcada basicamente em uma ampla e
completa definição do escopo do projeto, em um planejamento prévio e bem elaborado das
várias áreas de conhecimento, no acompanhamento formal do progresso do projeto,
considerando-se escopo, prazo e custo e no controle bastante rígido das mudanças no projeto.
2.2 CMMI
De acordo com o SEI (2006), um modelo é uma representação simplificada do mundo
real, sendo que os modelos de maturidade de capacitação (Capability Maturity Models -
CMMs) contêm os elementos essenciais de processos eficientes para uma ou mais áreas de
conhecimento. Estes elementos se baseiam nos conceitos desenvolvidos por Crosby (1979),
Deming (1986), Juran (1988) e Humphrey (1989).
O CMMI representa uma abordagem de melhoria de processos que provê elementos
essenciais para um processo efetivo de desenvolvimento de software. Reúne melhores práticas
que abrangem o desenvolvimento e manutenção, cobrindo o ciclo de vida de produto desde a
sua concepção até a sua entrega e manutenção. Em outras palavras, estabelece um guia para
melhorar os processos da organização e sua capacidade para gerenciar o desenvolvimento,
aquisição e manutenção de produtos e serviços.
A proposta do CMMI é a de um modelo integrado que pode ser utilizado em várias
disciplinas, com foco, sobretudo, em desenvolvimento integrado do produto e do processo,
desenvolvimento de sistemas, desenvolvimento de software e subcontratação (aquisição de
produtos de fornecedores), entre outros. Este modelo descreve orientações para a definição de
implantação de processos, porém não descreve processo algum, deixando isto a cargo das
organizações – são orientações definidas pelas práticas especificadas.
30
2.2.1 Os componentes do modelo CMMI
Os componentes do modelo CMMI estão agrupados em três categorias que informam
como devemos interpretá-los (CHRISSIS; KONRAD; SHRUM, 2007), a saber:
Requeridos são aqueles que descrevem o que deve ser implementado
visivelmente nos processos da organização visando satisfazer uma área de
processo (metas específicas e genéricas do modelo);
Esperados são aqueles que descrevem o que uma organização deve
implementar para encontrar um componente requerido (práticas específicas e
genéricas do modelo);
Informativos são aqueles que ajudam as organizações a pensar em como
podem implementar os componentes requeridos e esperados (demais
componentes do modelo).
Uma Área de Processo (PA, do inglês Process Area) é um conjunto de práticas
relacionadas em uma determinada área que, quando executadas coletivamente, satisfazem o
conjunto dos objetivos considerados importantes para a melhoria desta área. Alguns
componentes complementares são adicionados à área de processo com o objetivo de melhor
descrevê-la. Entre eles: propósito - que descreve a finalidade da área de processo; notas
introdutórias que descrevem os conceitos principais cobertos pela área de processo; e a lista
de áreas relacionadas que refletem os relacionamentos entre as áreas de processo.
Uma meta específica (SG, do inglês Specific Goal) descreve as características
originais que devem estar presentes no processo para satisfazer à área de processo. A meta
específica, por sua vez é composta por várias práticas específicas que descrevem as atividades
esperadas para alcançarmos as metas específicas. Cada prática específica relaciona uma lista
de produtos típicos de trabalho, compondo a lista de exemplos de saídas da prática.
Uma meta genérica (GG, do inglês Generic Goal) descreve as características que
devem estar presentes durante a institucionalização do processo. São chamadas de metas
genéricas, pois se aplicam a várias áreas de processo. Ambas as metas genéricas e específicas
são componentes requeridos do modelo CMMI e são usadas nas avaliações ajudando a
determinar se uma PA está satisfeita ou não.
31
Concluindo, as sub-práticas são descrições detalhadas que fornecem orientação para a
interpretação e implementação de uma prática específica ou genérica. São componentes
informativos do modelo com o propósito de apresentar idéias úteis para a melhoria dos
processos.
2.2.2 As Representações do CMMI
O CMMI descreve 22 áreas de processo e oferece duas abordagens para melhoria de
processos como ilustra a Figura 1 (FREITAS, 2006).
Figura 1: Representações do CMMI
A representação contínua esquerda da Figura 1) define níveis de capacidade por
área de processo e a representação em estágios direita da Figura 1) define 5 níveis de
maturidade organizacionais, sendo que cada nível reúne um conjunto de áreas de processo a
serem implementadas em níveis evolutivos de maturidade. Cada área de processo é definida
em termos de objetivos, que representam o resultado efetivo da aplicação da mesma e que
podem ser alcançados pela execução de práticas recomendadas e relacionadas ao contexto da
área específica.
Na representação contínua, uma organização pode optar por melhorar o desempenho
de uma única área de processo que esteja relacionada a um determinado problema ou pode
trabalhar em diversas áreas independentes que estejam alinhadas aos objetivos estratégicos da
organização (CHRISSIS; KONRAD; SHRUM, 2007). Permite também que uma organização
melhore diferentes processos em capacidades distintas, limitadas, entretanto, pelas
32
dependências existentes entre algumas áreas de processo. Na representação contínua, as áreas
de processos são avaliadas em seis níveis de capacidade numerados de 0 a 5.
A representação por estágios, por sua vez, oferece um caminho sistemático e
estruturado para a melhoria dos processos da organização baseado em um estágio de cada vez.
As áreas de processo o estruturadas em níveis de maturidade e quando uma organização
atinge um nível de maturidade, considera-se que seus processos alcançaram uma determinada
capacidade, ou seja, possuem mecanismos que garantem a repetição sucessiva de bons
resultados. A melhoria contínua dos processos da organização é obtida por meio de passos
evolutivos entre os cinco níveis de maturidade do modelo, definidos e numerados de 1 a 5
conforme descritos na Tabela 1.
Tabela 1: Níveis de maturidade na representação por estágios do CMMI
Nível de Maturidade Descrição
1: Inicial Os processos são informais e caóticos. A organização
normalmente não possui um ambiente estável. O sucesso
destas organizações depende da competência e heroísmo das
pessoas e não do uso de processos comprovados. Apesar deste
ambiente informal e caótico, organizações muitas vezes
produzem produtos e serviços que funcionam; entretanto, elas
freqüentemente excedem o orçamento e o cronograma de seus
projetos.
2: Gerenciado Os requisitos, processos, produtos de trabalho e serviços são
gerenciados. A situação dos produtos de trabalho e a entrega
dos serviços são visíveis para o gerenciamento em marcos
definidos. Compromissos são estabelecidos entre os
stakeholders relevantes e são revistos conforme necessário. Os
produtos de trabalho são revisados com os stakeholders e
controlados. Os produtos de trabalho e serviços satisfazem
seus requisitos, padrões e objetivos definidos.
3: Definido O conjunto de processos padrão da organização é estabelecido
e melhorado ao longo do tempo. Os projetos estabelecem seus
processos definidos adaptando o conjunto de processos padrão
da organização. A alta gestão da organização estabelece os
objetivos dos processos e assegura que estes objetivos estão
sendo tratados de forma adequada. Neste nível, os processos
são gerenciados de forma mais pró-ativa, utilizando um
entendimento dos inter-relacionamentos das atividades de
processos e medidas detalhadas do processo, seus produtos de
trabalho e seus serviços.
33
Nível de Maturidade Descrição
4: Gerenciado
Quantitativamente
São selecionados os subprocessos que contribuem
significativamente para o desempenho geral do processo. A
qualidade e o desempenho do processo são entendidos em
termos estatísticos e são gerenciados durante toda a vida dos
processos. Medidas de qualidade e desempenho de processos
são incorporadas ao repositório de medições da organização
para dar suporte a futuras decisões baseadas em fatos
ocorridos.
5: Otimizado Os processos são continuamente melhorados com base em um
entendimento quantitativo das causas comuns de variações
inerentes aos processos.
2.2.3 Categorias das Áreas de Processo
Além da divisão tradicional do CMMI em níveis de maturidade com áreas de processo
que perseguem metas genéricas e específicas, as áreas de processo definidas podem ser
agrupadas em quatro categorias:
Gerenciamento de Projetos: cobrem as atividades de gerenciamento de
projetos relacionadas ao planejamento, monitoramento e controle do projeto;
Engenharia: cobrem as atividades de desenvolvimento e manutenção que são
compartilhadas entre as disciplinas de engenharia;
Suporte: cobrem as atividades que suportam o desenvolvimento e manutenção
de produtos. Tratam os processos que são utilizados no contexto da execução
de outros processos;
Gerenciamento de Processos: contêm atividades que percorrem todo o
projeto, relativas à definição, planejamento, distribuição de recursos, aplicação,
implementação, monitoramento, controle, avaliação, medição e melhoria de
processos.
A Tabela 2 mostra as vinte e duas áreas de processo do modelo CMMI com suas
respectivas categorias e classificação nos níveis de maturidade de acordo com a representação
por estágios do modelo.
34
Tabela 2: Áreas de processo do CMMI
Nível Área de Processo Sigla
2
Categoria
2 Gerenciamento de Requisitos REQM
Engenharia
Planejamento do Projeto PP Gerenciamento de Projetos
Controle e Monitoramento do Projeto PMC Gerenciamento de Projetos
Gerenciamento de Acordos com Fornecedores SAM Gerenciamento de Projetos
Medição e Análise MA Suporte
Garantia da Qualidade do Processo e do
Produto
PPQA Suporte
Gerenciamento de Configuração CM Suporte
3 Desenvolvimento de Requisitos RD Engenharia
Solução Técnica TS Engenharia
Integração de Produtos PI Engenharia
Verificação VER Engenharia
Validação VAL Engenharia
Foco no Processo Organizacional OPF Gerenciamento de Processos
Definição do Processo Organizacional + IPPD OPD Gerenciamento de Processos
Treinamento Organizacional OT Gerenciamento de Processos
Gerenciamento Integrado de Projetos
Desenvolvimento Integrado do Produto e do
Processo
IPM
+IPPD
Gerenciamento de Projetos
Gerenciamento de Riscos RSK Gerenciamento de Projetos
Análise de Decisões e Resoluções DAR Suporte
4 Desempenho do Processo Organizacional OPP Gerenciamento de Processos
Gerenciamento Quantitativo do Projeto QPM Gerenciamento de Projetos
5 Inovação e Desenvolvimento Organizacional OID Gerenciamento de Processos
Análise de Causas e Resoluções CAR Suporte
2.2.4 Gerenciamento de Projetos no CMMI
O CMMI possui uma categoria específica para o Gerenciamento de Projetos a qual
engloba atividades de gestão relacionadas com planejamento, monitoração e controle do
projeto, sendo composta pelas áreas de processo:
Planejamento do Projeto (PP);
Monitoramento e Controle do Projeto (PMC);
2
As siglas aqui apresentadas representam a abreviação das áreas de processo escritas em inglês, preservando-se
assim a definição original do modelo CMMI.
35
Gerenciamento de Acordos com Fornecedores (SAM);
Gerenciamento de Riscos (RSKM);
Gerenciamento Integrado do Projeto (IPM) + Desenvolvimento Integrado do
Produto e do Processo (IPPD);
Gerenciamento Quantitativo do Projeto (QPM).
Para descrever as interações entre as áreas de processo de gestão é mais útil tratá-las
em dois grupos: gerenciamento de projetos fundamentais e gerenciamento de projetos
avançado, como descritos em (CHRISSIS; KONRAD; SHRUM, 2007].
As áreas de processo de gerenciamento de projetos fundamentais ou básicas
(Planejamento de Projeto, Controle e Monitoramento de Projeto e Gerenciamento de Acordos
com Fornecedores) endereçam as atividades relacionadas ao estabelecimento e manutenção
do plano do projeto, estabelecimento e manutenção de compromissos, monitoramento de
progresso do projeto em relação ao planejado, implementação de ações corretivas e
gerenciamento de acordos com os fornecedores.
A área de processo de Planejamento de Projeto (PP) visa estabelecer e manter planos
que definam as atividades do projeto. Esta área envolve o desenvolvimento do plano de
projeto, a interação e comprometimento dos stakeholders com o planejamento e a manutenção
deste plano. O planejamento se inicia com os requisitos que definem o produto e o projeto. O
planejamento inclui a estimativa dos atributos dos produtos de trabalho e das tarefas,
determinação dos recursos necessários, a negociação dos compromissos do projeto, a
elaboração de um cronograma e a identificação e análise dos riscos do projeto. O plano de
projeto provê a base para a execução e o controle das atividades do projeto que endereçam os
compromissos com o cliente do projeto. O plano do projeto precisa ser revisado
periodicamente durante a execução do projeto para refletir as mudanças nos requisitos e nos
compromissos, ajustes de estimativas, ações corretivas e mudanças do processo. As metas e
práticas específicas da área de processo PP são descritas na Tabela 10 apresentada no capítulo
3 deste trabalho.
O Controle e Monitoramento do Projeto (PMC) tem como objetivo prover um
entendimento do progresso do projeto para que ações corretivas apropriadas possam ser
36
tomadas quando o desempenho do projeto desvia significativamente do planejado. O
progresso do projeto é determinado pela comparação entre a realização dos atributos dos
produtos de trabalho e tarefas, esforço, custo e cronograma em relação ao planejamento
inicial, sendo realizado em marcos prédefinidos ou níveis de controle dentro do cronograma
do projeto ou da WBS (Work Breakdown Structure). A visibilidade adequada permite que as
ações corretivas sejam tomadas quando o desempenho desvia significativamente do
planejado. As ações corretivas podem requerer revisão do plano original, estabelecimento de
novos acordos ou inclusão de atividades de mitigação adicionais dentro do planejamento
atual. As metas e práticas específicas da área de processo PMC são descritas na Tabela 11
apresentada no capítulo 3 deste trabalho.
O Gerenciamento de Acordos com Fornecedores (SAM) visa gerenciar a aquisição de
produtos de fornecedores com os quais exista um acordo formal. Esta área de processo se
aplica à aquisição de produtos e componentes de produtos que são entregues ao cliente do
projeto. Esta área de processo não se aplica a acordos nos quais o fornecedor está integrado ao
time do projeto. Ela é aplicável para fornecedores cujos processos produtivos não sejam os
mesmos do time do projeto. A definição de “fornecedor” varia com as necessidades de
negócio, podendo ser um fornecedor interno (fornecedores que são da mesma organização,
mas externos ao projeto), ou externo (por exemplo, laboratórios e fornecedores comerciais).
Um acordo formal é qualquer acordo legal entre a organização (representando o projeto) e o
fornecedor. Este acordo pode ser um contrato, uma licença ou um memorando de acordo. O
produto adquirido é entregue ao projeto pelo fornecedor e se torna parte do produto que será
entregue ao cliente. As metas e práticas específicas da área de processo SAM são descritas na
Tabela 12 apresentada no capítulo 3 deste trabalho.
As demais áreas de processo relativas ao gerenciamento de projetos do CMMI
(Gerenciamento Integrado de Projetos + IPPD, Gerenciamento de Riscos e Gerenciamento de
Projetos Quantitativo) compõem o que Chrissis e seus colegas (2007) chamam de
gerenciamento de projeto avançado. Estas áreas de processos endereçam atividades para
estabelecer um processo definido para o projeto, estabelecer um ambiente de trabalho a partir
dos padrões do ambiente organizacional, coordenar e colaborar com os stakeholders
relevantes, gerenciar riscos, formar e sustentar times integrados na condução de projetos e
gerenciar quantitativamente o processo definido para o projeto.
37
O Gerenciamento de Projetos Integrado (IPM) + IPPD visa estabelecer e manter o
processo definido para o projeto que é customizado a partir do conjunto de processos padrão
da organização. O projeto é gerenciado com o apoio do processo definido para o projeto que
usa e contribui para a base de resultados do processo da organização. O gerenciamento do
projeto garante que os stakeholders relevantes associados ao projeto coordenem seus esforços
de maneira sistemática. Isto é feito por meio do gerenciamento do envolvimento dos
stakeholders, da identificação, negociação e rastreamento das dependências críticas e da
resolução de problemas de coordenação dentro do projeto com os stakeholders relevantes.
Finalmente, esta área de processo implementa uma visão integrada do projeto e uma estrutura
de time integrado para executar o trabalho do projeto alcançando os seus objetivos. As metas
e práticas específicas da área de processo IPM + IPPD são descritas na Tabela 13 apresentada
no capítulo 3 deste trabalho.
Embora a identificação e o monitoramento dos riscos sejam cobertos nas áreas de
processo de Planejamento de Projetos e Controle e Monitoramento do Projeto, a área de
processo de Gerenciamento de Riscos (RSKM) adota uma abordagem pró-ativa para o
gerenciamento dos riscos com atividades que incluem a identificação dos parâmetros de risco,
avaliações dos riscos e mitigações dos mesmos. As metas e práticas específicas da área de
processo RSKM são descritas na Tabela 14 apresentada no capítulo 3 deste trabalho.
O Gerenciamento de Projetos Quantitativo (QPM) aplica técnicas estatísticas e
quantitativas para gerenciar o desempenho do processo e a qualidade do produto. Estes
objetivos no âmbito do projeto derivam dos objetivos estabelecidos pela organização. O
processo definido para o projeto compreende, em parte, elementos do processo e sub-
processos cujo desempenho possa ser previsto. Ações corretivas são tomadas quando causas
especiais de variação do processo são identificadas (uma causa de um defeito que seja
específica a alguma circunstância transiente e não a uma parte inerente do processo). As
metas e práticas específicas da área de processo QPM são descritas na Tabela 15 apresentada
no capítulo 3 deste trabalho.
2.3 Método Ágil Scrum
Aparentemente opostos aos modelos padrões para o desenvolvimento de software, os
métodos ágeis surgiram em resposta à crise crônica do software (FOWLER, 2005) como uma
38
reação aos modelos clássicos e tradicionais de desenvolvimento e do reconhecimento da
necessidade de se criar uma alternativa a estes processos caracterizados pelo grande foco dado
à criação de documentações completas (BECK et al., 2001). O termo “ágil” aplicado na
indústria de software foi criado em fevereiro de 2001, após um encontro em Utah, nos EUA.
Como resultado do encontro, foi criada a Agile Alliance”, uma organização que promove
conceitos de agilidade para o desenvolvimento de software ajudando organizações na adoção
destes conceitos, sendo publicado o Manifesto para Desenvolvimento Ágil de software
(BECK et al. 2001) com o seguinte conteúdo:
¨Nós estamos descobrindo melhores maneiras para o desenvolvimento de software,
executando e ajudando os outros a desenvolver. Por meio deste trabalho valoriza-se:
Os indivíduos e suas iterações acima de processos e ferramentas;
Software funcionando acima de documentação exaustiva;
Colaboração do cliente acima de negociação contratual;
Respostas às mudanças acima de execução de um plano.
Ou seja, embora haja valor nos itens à direita, nós valorizamos mais os itens à
esquerda.”
Além do Manifesto para Desenvolvimento Ágil de software foram criados 12
princípios que norteiam as práticas dos médodos ágeis de desenvolvimento de software,
conforme apresentados na Tabela 3 (BECK et al., 2001).
Tabela 3: Prinípios dos métodos ágeis
Princípios dos métodos ágeis
Nossa maior prioridade é satisfazer o cliente por meio da entrega rápida e contínua
de um software de valor
Mudanças de requisitos são bem-vindas, mesmo que em uma etapa avançada do
desenvolvimento
Faça entregas de software com freqüência (variando entre um par de semanas a um
par de meses), com uma preferência para um prazo curto
Pessoas de negócio e desenvolvedores devem trabalhar diariamente juntos ao longo
do projeto
Construa projetos cercado de pessoas motivadas. Ofereça a elas o ambiente e todo o
apoio necessários, e acredite na sua capacidade para a realização do trabalho
O método mais eficiente e eficaz de transmitir informações para o time de
desenvolvimento é a comunicação face-a-face
O software funcionando é a medida primária de progresso do projeto
Processos ágeis promovem desenvolvimento sustentado. Os patrocinadores,
desenvolvedores e usuários devem ser capazes de manter um ritmo constante
indefinidamente
39
Atenção contínua na excelência técnica e num bom projeto melhora a agilidade
Simplicitade é essencial
As melhores arquiteturas, requisitos e projetos emergem de equipes auto-organizadas
O time do projeto avalia seu desempenho refletindo como se tornar mais efetivo em
intervalos regulares e ajusta seu comportamente de acordo com as descobertas
Segundo Cohen et al. (2003), “...os métodos ágeis podem ser considerados uma
coletânea de diferentes técnicas e métodos que compartilham os mesmos valores e princípios
básicos, alguns dos quais remontando em técnicas introduzidas em meados dos anos 70 como
o desenvolvimento e melhoria iterativos”. De acordo com Abrahamsson e seus colegas
(2003), os métodos ágeis são caracterizados por serem: incrementais, devido aos ciclos
rápidos de desenvolvimento; cooperativos, que estimulam a proximidade entre o cliente e
interação entre os desenvolvedores; diretos, devido à simplicidade de aprendizado e
documetação; e finalmente adaptativos, pela habilidade de avaliar e acomodar mudanças ao
longo do projeto.
A Tabela 4 apresenta uma comparação entre a abordagem clássica e a ágil para o
desenvolvimento de software (DIAS, 2005). Estas diferenças entre as abordagens conforme
descritas em (NERUR et al., 2005) sugerem que as organizações repensem seus objetivos e
fatores humanos, gerenciais e tecnológicos a fim de alcançar uma implementação bem
sucedida dos métodos ágeis.
Tabela 4: Comparação entre as abordagens de desevolvimento de software
Desnvolvimento Clássico Desenvolvimento Ágil
Premissa fundamental
O sw é totalmente
especificável e previsível e
pode ser construído por meio
de um planejamento
detalhado e extensivo
O sw é adaptativo podendo
ser construído por times
pequenos, com princípios de
melhoria contínua do projeto
e o desenvolvimento baseado
no rápido feedback e na
aceitação de mudanças
Estilo de Gerenciamento
Comando e Controle Liderança e colaboração
Distribuição de Papéis Individual favorecendo a
especialização
Equipes auto-organizadas,
encorajando a
multidisciplinaridade de
papéis
Papel do cliente Importante Crítico
O Scrum foi criado em 1996 por Ken Schwaber e Jeff Sutherland, como um método
ágil que aceita que o desenvolvimento de software é imprevisível e formaliza a abstração,
sendo aplicável a ambientes voláteis (ADM, 1996). É uma abordagem empírica baseada na
40
flexibilidade, adaptabilidade e produtividade em que a escolha das técnicas de
desenvolvimento fica a cargo do time.
O Scrum destaca-se dos demais métodos ágeis pela maior ênfase dada ao
gerenciamento do projeto (UDO; KOPPERNSTEINER, 2003) e reúne atividades de
monitoramento e feedback, em geral, reuniões rápidas e diárias com toda a equipe, visando a
identificação e correção de quaisquer deficiências e/ou impedimentos no processo de
desenvolvimento.
De acordo com Schwaber (2004), o Scrum assume a premissa de que o
desenvolvimento de software é muito complexo e imprevisível para ser planejado totalmente
no seu início e que ao invés de realizarmos um planejamento detalhado prescritivo do projeto,
deve-se usar o modelo empírico
3
de controle de processos para garantir a visibilidade,
inspeção e adaptação do planejamento do projeto. O método baseia-se ainda, em princípios
como: equipes pequenas de no máximo 7 pessoas; com requisitos que são pouco estáveis ou
desconhecidos; com ciclos curtos em que divide o desenvolvimento em intervalos de tempos
de no máximo 30 dias, também chamados de sprints.
2.3.1 Papéis e Responsabilidades
O Scrum implementa um framework iterativo e incremental cujas atividades são
assumidas por três papéis principais (SCHWABER, 2004):
Product Owner: representa os interesses de todos no projeto; define os
fundamentos do projeto definindo requisitos iniciais e gerais (Product
Backlog), retorno do investimento, objetivos e planos de entregas; prioriza o
Product Backlog a cada sprint, garantindo que as funcionalidades de maior
valor sejam construídas prioritariamente;
ScrumMaster: gerencia o processo do Scrum, ensinando o Scrum a todos os
envolvidos no projeto e implementando o Scrum de modo que esteja adequado
à cultura da organização; deve garantir que todos sigam as regras e práticas do
Scrum; e também é responsável por remover os impedimentos do projeto;
3
O modelo empírico de controle de processos proporciona controle através de exercícios frequentes de inspeção
e adaptação em processos que não estão totalmente definidos, gerando resultados que não são repetitivos.
41
Time: desenvolve as funcionalidades do produto; define como transformar o
Product Backlog em incremento de funcionalidades numa sprint gerenciando
seu próprio trabalho. O time é responsável coletivamente pelo sucesso da
sprint e conseqüentemente pelo projeto como um todo.
2.3.2 Artefatos
De acordo com Schwaber (2004), o Scrum introduz os seguintes artefatos principais
usados ao longo do seu fluxo de desenvolvimento: Product Backlog, Sprint Backlog e
incremento de funcionalidade do produto.
O Product Backlog contém uma lista de itens priorizados que incluem os requisitos
funcionais e não funcionais do sistema/produto que está sendo desenvolvido no projeto. O
Product Owner é o responsável pelos conteúdos e priorização do Product Backlog que é
usado no plano de projeto apenas como uma estimativa inicial dos requisitos. O Product
Backlog nunca está completo e evolui de acordo com a evolução do produto e do ambiente ao
qual está inserido. O gerenciamento constante das mudanças serve para identificar o que o
sistema/produto precisa para ficar apropriado, competitivo e usável.
O Sprint Backlog corresponde à lista de tarefas que o time do projeto define para
implementar na sprint os requisitos selecionados do Product Backlog. Apenas o time pode
mudar o Sprint Backlog que representa o planejamento real do time para a sprint.
No Scrum o time deverá entregar incrementos de funcionalidade a cada sprint. Os
incrementos de funcionalidade consistem de códigos testados, bem estruturados e bem
escritos, que são executáveis acompanhados da documentação necessária para a sua operação.
2.3.3 Fases do Scrum
O Scrum possui um ciclo de vida composto por 4 fases como definido em (LARMAN,
2004):
Planejamento: que tem por objetivo estabelecer a visão do projeto e as
expectativas entre os stakeholders, além de garantir financiamento/orçamento para
a realização do projeto;
42
Preparação: que tem por objetivo identificar os requisitos e priorizá-los (pelo
menos para a próxima sprint). Divide o Product Backlog em sprints, de acordo
com a priorização realizada, levando em consideração a produtividade do time;
Desenvolvimento: corresponde à implementação do sistema em uma série de
sprints de 30 dias consecutivos (sprints), com apresentação de um incremento de
funcionalidade ao final da sprint;
Entrega: corresponde implantação operacional do sistema.
2.3.4 Fluxo de Desenvolvimento
Um projeto no Scrum se inicia com uma visão do produto que será desenvolvido
(SCHWABER, 2004). A visão contém a lista das características do produto estabelecidas pelo
cliente, além de algumas premissas e restrições. Em seguida, o Product Backlog é criado
contendo a lista de todos os requisitos conhecidos. O Product Backlog é então priorizado e
dividido em releases. O fluxo de desenvolvimento detalhado do Scrum é mostrado na Figura
2 adaptada de (GLOGER, 2007).
Todo o trabalho no Scrum é realizado em iterações chamadas de sprints. Schwaber
(2004) explica que cada sprint se inicia com uma reunião de planejamento (Sprint Planning
Meeting), na qual o Product Owner e o time decidem em conjunto o que deverá ser
implementado (Selected Product Backlog). A reunião é dividida em duas partes. Na primeira
parte (Sprint Planning 1), o Product Owner apresenta os requisitos de maior valor e prioriza
aqueles que devem ser implementados. O time então define colaborativamente o que poderá
entrar no desenvolvimento da próxima sprint, considerando sua capacidade de produção. Na
segunda parte (Sprint Planning 2), o time planeja seu trabalho, definindo o Sprint Backlog,
que são as tarefas necessárias para implementar as funcionalidades selecionadas a partir do
Product Backlog. Nas primeiras sprints, é realizada a maioria dos trabalhos de arquitetura e
de infra-estrutura. A lista de tarefas pode ser modificada ao longo da sprint pelo time e as
tarefas podem variar entre 4 a 16 horas para a sua conclusão.
43
Figura 2: Visão geral do processo do Scrum
Durante a execução das sprints, diariamente o time faz uma reunião de 15 minutos
para acompanhar o progresso do trabalho e agendar outras reuniões necessárias. Na reunião
diária (Daily Scrum Meeting), cada membro do time responde a três perguntas básicas:
O que eu fiz no projeto desde a última reunião?
O que irei fazer até a próxima reunião?
Quais são os impedimentos?
No final da sprint, é realizada a reunião de revisão (Sprint Review Meeting) para que o
time apresente o resultado alcançado na sprint ao Product Owner. Neste momento as
funcionalidades são inspecionadas e adaptações do projeto podem ser realizadas. Em seguida
o ScrumMaster conduz a reunião de retrospectiva (Sprint Retrospective Meeting), com o
objetivo de melhorar o processo/time e/ou produto para a próxima sprint.
2.3.5 Gráficos de Consumo do Produto e Consumo da Sprint
No Scrum, o monitoramento do progresso do projeto é realizado por meio de dois
gráficos principais: Consumo do Produto e Consumo da Sprint. Estes gráficos mostram ao
longo do tempo a quantidade de trabalho que ainda resta ser feito, sendo um excelente
44
mecanismo para visualizar a correlação entre a quantidade de trabalho que falta ser feita (em
qualquer ponto) e o progresso do time do projeto em reduzir este trabalho.
O gráfico de consumo do produto (Product Burndown) uma indicação de quão
rapidamente o time está consumindo o trabalho a ser realizado e entregando os requisitos do
Product Backlog. É uma ferramenta útil para ajudar a planejar quando liberar ou remover
requisitos de uma entrega se o progresso do projeto não está ocorrendo como planejado. A
Figura 3, adaptada de (COCHANGO, 2009), exemplifica um gráfico de consumo do produto.
Figura 3: Gráfico de Consumo do Produto do Scrum
o gráfico de consumo da sprint (Sprint Burndown) ao time uma indicação diária
da sua velocidade e do progresso do trabalho (esforço) em relação ao que foi planejado para a
sprint. O gráfico ajuda na motivação do time na medida em que o time acompanha
diariamente e graficamente a evolução do seu trabalho. É também uma importante ferramenta
para ajudar no processo de tomada de decisão de negocião do escopo da sprint. A Figura 4,
adaptada de (COCHANGO, 2009), exemplifica um gráfico de consumo da sprint.
45
Figura 4: Gráfico de Consumo da Sprint do Scrum
2.4 Gerenciamento Ágil de Projetos
O Gerenciamento Ágil de Projetos (APM, do inglês Agile Project Management) foi
criado a partir dos valores e princípios dos métodos ágeis de desenvolvimento de software
conforme reportados no Manifesto para o Desenvolvimento Ágil de Software (HIGHSMITH,
2004). Segundo Highsmith (2004) e Chin (2004) o Gerenciamento Ágil de Projetos se desfaz
da postura antecipatória, fortemente calcada no planejamento prévio de ações e atividades,
típica de um gerenciamento “clássico” de projetos e busca o desenvolvimento da visão do
futuro e da capacidade de exploração. Sendo assim, Highsmith (2004) cita cinco objetivos
principais para um bom processo de exploração que acabam por construir a base para o
gerenciamento ágil de projetos:
Inovação contínua: a ideia da inovação está associada a um ambiente
organizacional no qual a cultura estimula o desenvolvimento do time por meio
do autogerenciamento e autodisciplina;
Adaptabilidade do produto: os produtos desenvolvidos devem oferecer valor
ao cliente hoje sendo adaptáveis necessidades do futuro;
Tempos de entrega reduzidos: foco, direcionamento preciso e capacidade
técnica do time do projeto são fatores essenciais para a redução dos prazos de
46
desenvolvimento de produtos com vistas ao melhor aproveitamento de
oportunidades de mercado e retorno do investimento;
Capacidade de adaptação do processo e das pessoas: estabelecimento de
processos que respondam rapidamente as alterações de negócio das
organizações, bem como times de desenvolvimento que abracem as mudanças
enxergando-as como desafios em um ambiente dinâmico;
Resultados confiáveis: entregas de valor que suportem crescimento do negócio
e lucratividade.
O Gerenciamento Ágil de Projetos pode ser visto como uma resposta no âmbito
gerencial às crescentes pressões por constantes inovações, à concorrência acirrada, à
necessidade de redução dos ciclos de desenvolvimento e implantação de novos produtos ou
serviços e à necessidade de adaptação a um ambiente de negócio bastante dinâmico e volátil
(HIGHSMITH, 2004).
2.4.1 Definição, Valores e Princípios do Gerenciamento Ágil de Projetos
Estruturados a partir do Manifesto para o Desenvolvimento Ágil de Software (BECK et
al., 2001), os valores centrais do APM endereçam tanto a necessidade de criação e entrega de
produtos ou sistemas que proporcionem valor de negócio ao cliente, de modo ágil e adaptável,
como a necessidade de desenvolvimento de times com as mesmas características. Os quatro
valores principais do Gerenciamento Ágil de Projetos são:
1. As respostas às mudanças são mais importantes que o seguimento de um plano;
2. A entrega de produtos/sistemas funcionando está acima da entrega de
documentação;
3. Prioriza-se a colaboração do cliente sobre a negociação de contratos;
4. Os indivíduos e suas interações são mais importantes que os processos e
ferramentas.
Além dos valores básicos, o APM possui um conjunto de seis princípios, divididos em 2
categorias, uma relacionada com o valor ao cliente e outra relacionada com o estilo de
gerenciamento como mostra a Tabela 5 (HIGHSMITH, 2004):
47
Tabela 5: Princípios do APM
Categoria Princípio
Valor ao Cliente 1. Entregar valor ao cliente
2. Gerar entregas iterativas e baseadas em
funcionalidades
3. Buscar excelência técnica
Gerenciamento baseado na
liderança e colaboração
4. Encorajar a exploração
5. Construir equipes adaptativas (auto-
organizadas e autodisciplinadas)
6. Simplificar
2.4.2 Fases e Práticas do Gerenciamento Ágil de Projetos
No APM, um projeto é estruturado em uma etapa inicial, seguida por vários ciclos ou
iterações (UDO; KOPPERNSTEINER, 2003). A cada iteração é feito um novo planejamento
de escopo, prazo, custo e qualidade, visando a entrega de produtos ou resultados de forma a se
obter incrementos de funcionalidades. O término do projeto é obtido ao final das rias
iterações. A Figura 5 (UDO; KOPPERNSTEINER, 2003) apresenta o fluxo do gerenciamento
ágil de projetos.
Figura 5: Fluxo do gerenciamento ágil de projetos
A Figura 6 adaptada de (HIGHSMITH, 2004) mostra uma visão geral do framework de
processos do APM, sendo o mesmo estruturado em 5 fases como descritas a seguir:
Visão: identificação da visão do produto e o escopo do projeto, a comunidade
participante do projeto e definição de como o time do projeto irá trabalhar em
conjunto;
48
Especulação: estabelecimento dos requisitos iniciais do produto/sistema e
desenvolvimento de um plano de marcos e entregas de projeto baseado em
iterações atrelado a um planejamento e estratégias de mitigação de riscos;
Exploração: entrega de incrementos de funcionalidade planejados por meio do
gerenciamento das atividades do projeto e monitoramento dos riscos;
Adaptação: revisão dos resultados alcançados com análise da situação atual
versus a planejada incluindo a avaliação do desempenho da equipe do projeto e
adaptação do que for necessário;
Encerramento: finalização das atividades do projeto, transferência dos
aprendizados-chave e celebração.
Figura 6: Fases do framework do APM
Para cada fase do APM há um conjunto de práticas específicas. Highsmith (2004)
enfatiza que estas práticas, formam um sistema de práticas que se complementam garantindo
o alinhamento com os princípios e valores do gerenciamento ágil de projetos. Highsmith
(2004) comenta ainda que as práticas do APM se mostram úteis em uma grande variedade de
situações e que também podem ser aplicadas em projetos de produção, assim como outras
práticas não mencionadas no gerenciamento ágil podem trazer benefícios aos projetos ágeis.
A Tabela 6 apresenta todas as práticas propostas pelo gerenciamento ágil de projetos,
agrupadas pela fase a qual pertencem.
49
Tabela 6: Práticas do APM
Fase Prática Objetivo
Visão
1. Caixa de Visão do
Produto e Sentença de
Elevador
Definir uma visão concisa, visual e curta do
produto que será desenvolvido, estabelecendo
um conceito de alto nível
2. Arquitetura do produto Desenvolver uma arquitetura que facilte a
exploração e desenvolvimento do produto
assegurando um direcionamento para condução
de trabalhos técnicos e organizacionais
3. Folha de dados do projeto
Estabelecer um documento resumo do projeto
(de apenas 1 página) contendo informações
relevantes sobre objetivos de negócio,
especificação do produto, restrições de escopo,
prazo e custos bem como riscos inicialmente
identificados
4. Obtenção das pessoas
certas
Alocar o time do projeto e definir sua
organização visando alcançar as melhores
pessoas para o projeto
5. Identificação dos
participantes
Identificar todos os participantes do projeto de
modo que se possa entender e gerenciar suas
expectativas
6. Interface entre o time do
cliente e o time do projeto
Definir as interfaces de colaboração entre o
time do projeto e o time do cliente
7. Adaptação de processos e
práticas
Adaptar o processo e framework das práticas,
direcionados pela estratégia de auto-
organização a qual estabelece a abordagem de
trabalho em conjunto do time do projeto
Especulação
8. Lista de funcionalidades
do produto
Gerar uma lista de funcionalidades do produto
por meio da expansão da visão do produto
9. Cartões de
funcionalidades
Criação de uma documentação simples para
armazenar as funcionalidades e requisitos de
alto nível, bem como suas estimativas de
trabalho
10. Cartões de requisitos de
desempenho
Documentar as operações chave e requisitos de
desempenho do produto/sistema que será
desenvolvido
11. Plano iterativo de marcos
e entregas
Desenvolvimento de um plano para guiar como
o time do projeto alcançará a visão do produto
respeitando as restrições de escopo, prazo e
custo definidas para o projeto
Exploração
12. Gerenciamento da carga
de trabalho
Atividades diárias, requeridas para a entrega de
funcionalidades ao final da iteração, são
gerenciadas pelo time do projeto
13. Mudanças de baixo custo
Redução dos custos das mudanças ao longo das
fases do ciclo de vida do produto
14. “Coaching” e
desenvolvimento do time
Desenvolver continuamente no time do projeto
suas habilidades, competências, domínios
técnicos e de negócio, autodisciplina bem
como trabalho em equipe
50
Fase Prática Objetivo
15. Reuniões diárias de
integração do time do
projeto
Coordenação diária das atividades do projeto
16. Decisões participativas Fornecer à comunidade do projeto práticas
específicas para entender, analisar e tomar
decisões ao longo do projeto
17. Interações diárias com o
cliente
Reuniões diárias com o cliente (incluindo o
Gerente do Produto) de forma a garantir que os
esforços do projeto sejam executados visando
atender suas expectativas
Adaptação
18. Revisão do produto,
projeto, time e ações de
adaptação
Garantir que o feedback e aprendizado
contínuo aconteçam nas múltiplas dimensões
do projeto
Encerramento
19. Encerramento Realizar celebração e conclusão do projeto
2.4.3 Gerenciamento Ágil x Gerenciamento Clássico de Projetos
Dias (2005) faz um comparativo interessante com relação ao gerenciamento ágil de
projetos conforme definido por Highsmith (2004) e Chin (2004) e o gerenciamento “clássico”
de projetos, conforme descrito pelo PMI (2004). Neste comparativo, enfatiza que o
gerenciamento “clássico” uma grande importância ao planejamento detalhado do projeto e
aos processos formais de monitoramento e controle. Já no gerenciamento ágil há transferência
do planejamento para a execução, visando a entrega rápida de valor ao cliente e a
apresentação de resultados ao longo de todo o projeto; e do controle para a adaptação,
permitindo alterações substanciais de escopo a cada iteração para atender as mudanças de
reuisitos do negócio. Esta comparação teve por base o trabalho descrito em (UDO;
KOPPERNSTEINER, 2003), sendo seu resultado apresentado na Tabela 7.
Tabela 7: Gerenciamento Ágil x Gerenciamento Clássico de Projetos
Fases do Gerenciamento Ágil de Projetos Grupos de Processos do Gerenciamento
Clássico de Projetos
Visão: definição da visão do produto e do
escopo inicial do projeto
Iniciação: autorização de um novo projeto ou
fase e definição do escopo preliminar do
projeto
Especulação: definição de um plano inicial,
seguido por planejamentos individuais a cada
iteração
Planejamento: planejamento integral e
detalhado do projeto
Exploração: entrega de funcionalidades e/ou
produtos a cada iteraão
Execução: execução do plano do projeto
Adaptação: abertura para mudanças de
escopo ao longo do processo com limitações
Monitoramento e Controle: ênfase no
controle do progresso das atividades do
51
Fases do Gerenciamento Ágil de Projetos Grupos de Processos do Gerenciamento
Clássico de Projetos
de mudanças durante o período das iterações projeto e no controle do gerenciamento de
mudanças para minimizar os impactos no
projeto
Encerramento: aceites do cliente a cada ciclo
ou iteração
Encerramento: aceite formal ao final do
projeto
2.5 Combinando Agilidade e CMMI
Existem várias iniciativas e trabalhos publicados relacionados com a melhoria dos
processos de desenvolvimento de software baseados em metodologias ágeis e CMMI. Muitos
deles, entretanto, focam em responder questionamentos em torno da compatibilidade do
desenvolvimento de software ágil e o CMMI e da possibilidade de se ser ao mesmo tempo
ágil e disciplinado (ORR, 2002), (TURNER; JAIN, 2002), (PAULK, 2001), (BOEHM;
TURNER, 2004), (DUTTON; McCABE, 2006), (DALTON, 2006), (GLAZER et al., 2008).
Em (VRIENS, 2003) uma experiência é apresentada sobre uma companhia que
desejava alcançar o nível 2 de maturidade do SW-CMM e a certificação ISO9001
considerando o uso combinado do XP e SCRUM. O método desenvolvido pela empresa foi
chamado Xp@Scrum e os métodos ágeis foram combinados da seguinte forma: XP foi usado
para os processos técnicos de engenharia de software e após 1 ano o SCRUM foi introduzido
para suportar questões gerenciais. O sucesso alcançado foi total, pois a companhia conseguiu
comprovar aderência a ambos os modelos de qualidade.
Zannata (2004) faz uma proposta de extensão do método ágil Scrum, o xScrum, para
a gerência e desenvolvimento de requisitos visando adequação ao CMMI. Zannata inicia seu
trabalho fazendo uma avaliação do método ágil Scrum segundo as perspectivas das áreas de
processo do CMMI relacionadas com gestão de requisitos. Em seguida propõe o xScrum e sua
aplicação em um ambiente de desenvolvimento de software real.
Outro trabalho bastante interessante e prático relacionado com a compatibilidade entre
agilidade e CMMI foi publicado pela Microsoft em 2005 e relata a experiência da empresa na
adequação do seu método para desenvolvimento ágil de software, o MSF, por meio da adoção
dos ensinamentos de W. Edwards Demming, para ficar aderente ao nível 3 de maturidade do
CMMI. Segundo Andreson (2005), o resultado deste trabalho compreendeu a definição de um
52
método de planejamento adaptável, altamente iterativo e com pouca documentação e
fortemente automatizado por meio de ferramentas.
Davis e seus colegas (2007) descrevem em seu trabalho o Agile +, uma abordagem
híbrida para o desenvolvimento de software baseada nos elementos centrais do XP e aderente
ao CMMI nível 3. O Agile+ parte do XP e faz uma extensão do mesmo para incluir algumas
das melhores práticas tradicionais de engenharia de software preservando a essência da
agilidade.
Em (SUTHERLAND; JAKOBSEN; JOHNSON, 2007) apresenta-se como uma
organização CMMI nível 5 usou o Lean Software Development (POPPENDIECK, 2006)
como elemento direcionador para a otimização do seu programa de melhoria contínua.
Ressalta que adquiriram experiências valiosas ao combinar práticas do Scrum e XP com o
CMMI nível 5, mostrando que os projetos que usam esta abordagem híbrida são mais bem
sucedidos na melhoria da qualidade de software e atendem às necessidades dos clientes de
forma mais rápida e eficaz. Entre os benefícios da abordagem adotada cita que a
produtividade em equipes do Scrum é quase duas vezes superior a de equipes tradicionais e
que uma abordagem de testes aplicada em alguns projetos baseada em estórias reduziu os
defeitos encontrados na fase final de testes em 38%.
Com relação ao gerenciamento de projetos, Leal (2008) propõe uma abordagem ágil
para o gerenciamento de projetos de software baseada no PMBOK (PMI, 2004). O Agilus é
um modelo híbrido para o gerenciamento de projetos que mescla a gestão clássica com a ágil
em prol do gerenciamento e desenvolvimento de projetos de sucesso, na visão do cliente e do
time do projeto.
O mais recente trabalho relacionado com a combinação de métodos ágeis e CMMI foi
publicado pelo SEI em 2008. O relatório técnico divulgado esclarece razões pelas quais
contradições e discórdias entre práticas ágeis e CMMI não precisam mais existir e propõe a
união das duas abordagens a fim de se obter uma melhoria do desempeho empresarial
(GLAZER et al., 2008). Os autores do relatório destacam que o CMMI e agilidade podem ser
usadas conjuntamente e com sucesso e referencia várias experiências do uso das duas
abordagens em conjunto.
53
Observa-se, entretanto, que nenhum destes trabalhos define um processo genérico para
a gestão de projetos, baseado no Scrum, alinhado com os princípios, valores e práticas do
Gerenciamento Ágil de Projetos e ao mesmo tempo compatível com o CMMI. Acredita-se
que a definição deste processo é relevante tanto para empresas que possuem seus processos
baseados no modelo CMMI e estão planejando a melhoria dos seus processos de gestão por
meio da introdução de agilidade bem como para empresas que estão pensando em definir um
novo processo de gestão de projetos baseado na combinação de práticas do CMMI e Scrum.
2.6 Considerações finais
Este capítulo abordou aspectos relevantes sobre gestão de projetos, CMMI e agilidade.
No capítulo seguinte será apresentada a investigação realizada para avaliar aderência do
Scrum ao CMMI.
54
3 Investigando a aderência do Scrum ao CMMI
Este capítulo descreve a análise e mapeamento realizado entre o Scrum e CMMI
visando responder a pergunta investigativa deste trabalho no que diz respeito à aderência do
Scrum ao CMMI.
A análise e mapeamento entre as áreas de processo do CMMI e práticas do Scrum
conforme definidas em (MARÇAL et al., 2007a) considerou a representação por estágios do
modelo CMMI, versão 1.2, lançada em agosto de 2006 (SEI, 2006) e restringiu-se ao escopo
das áreas de processo de gestão de projetos como enumeradas na Tabela 8, foco deste
trabalho.
Tabela 8: Áreas de processo do Gerenciamento de Projetos do CMMI
Conforme descrito no capítulo 2, os componentes considerados “requeridos” para
atender ao modelo CMMI concentram-se no efetivo atendimento às metas específicas e
genéricas do modelo. Apesar das práticas serem componentes cuja implementação é apenas
“esperada” para o atendimento às metas específicas das áreas de processo, elas são em geral
fatores determinantes para a satisfação da meta, sendo também muito usadas para o
entendimento do modelo em avaliações CMMI.
Devido a esta importância das práticas no contexto do CMMI, bem como a
contribuição das mesmas para a satisfação das metas das áreas de processo do modelo, nesta
etapa do trabalho optou-se por avaliar detalhadamente cada uma das práticas específicas das
áreas de processo de Gestão de Projetos do CMMI (listadas na Tabela 8) a fim de se obter
uma visão mais aprofundada da aderência do Scrum ao CMMI no que diz respeito ao
Nível Área de Processo Sigla
2 Planejamento do Projeto PP
Controle e Monitoramento do Projeto PMC
Gerenciamento de Acordos com Fornecedores SAM
3 Gerenciamento Integrado de Projetos IPM
Gerenciamento de Riscos RSK
4 Gerenciamento Quantitativo do Projeto QPM
55
gerenciamento de projetos. Sendo assim, para cada uma das práticas específicas das áreas de
processo PP, PMC, SAM, IPM, RSKM e QPM foi realizada uma análise e classificação
segundo os critérios de satisfação definidos na Tabela 9. Vale à pena salientar que esta análise
foi realizada considerando-se os critérios definidos pela autora, os quais podem ser diferentes
dos critérios, interpretações e julgamentos usados em uma avaliação oficial do CMMI.
Tabela 9: Critérios para classificação das práticas específicas
Classificação Critério
NS Não Satisfeita Não há evidências da prática no Scrum
PS Parcialmente
Satisfeit
a
Há evidências da prática no Scrum, embora a prática
não esteja plenamente atendida
S Satisfeita A prática está totalmente atendida no Scrum
Após a fase de classificação, foi calculado o percentual de satisfação de cada área de
processo conforme os critérios definidos, tomando como base o número total de práticas
específicas da área de processo. Em seguida, os resultados foram agrupados e foi gerada uma
visão consolidada da cobertura do Scrum nas áreas de processo de gestão de projetos do
CMMI.
As subseções seguintes apresentam as análises e classificações realizadas no estudo
para cada área de processo do escopo deste trabalho.
3.1 Análise da Área de Processo Planejamento do Projeto
O propósito do Planejamento do Projeto (PP) é estabelecer e manter os planos que
definem as atividades do projeto. Para tanto, PP possui três metas específicas: SG1
Estabelecer Estimativas, SG2 Desenvolver um Plano de Projeto e SG3 Obter Compromissos
com o Plano entre as quais se encontram distribuídas 14 práticas específicas. A seguir são
apresentadas as análises realizadas para cada uma das práticas específicas de PP.
3.1.1 SP 1.1 Estimar o Escopo do Projeto
Esta prática tem como propósito estabelecer uma estrutura de decomposição de
trabalho (WBS) de alto nível para estimar o escopo do projeto. No Scrum, a definição do
escopo inicial do projeto ocorre durante a fase de planejamento, de forma que todos os
stakeholders podem contribuir com a criação do Product Backlog. Neste caso, o Product
56
Backlog e o conjunto de sprints pré-definidas podem ser vistos como uma WBS provendo
todos os recursos necessários para realizar a estimativa do escopo do projeto. As estimativas
detalhadas para as atividades do projeto são realizadas no início de cada sprint, na segunda
parte da reunião de Sprint Planning, sendo esta prática classificada como Satisfeita.
3.1.2 SP 1.2 Estabelecer Estimativas de Atributos de Produtos de Trabalho e Tarefas
Esta prática define que é necessário estabelecer e manter estimativas dos atributos de
produtos de trabalho e tarefas. Observa-se que no Scrum não orientações explícitas para o
estabelecimento, por exemplo, de tamanho e/ou complexidade dos itens do Product Backlog e
Sprint Backlog. O Scrum também não faz menção a um método explícito para orientar a
estimativa tal como WideBand Delphi (WIEGERS, 2007), Análise de Pontos de Função
(IFPUG 2008), Use Case Points (KARNER, 1993) ou Story Points (COHN, 2006). Desta
forma esta prática foi classificada como Não Satisfeita.
3.1.3 SP 1.3 Definir o Ciclo de Vida do Projeto
Esta prática trata de definir as fases do ciclo de vida do projeto sobre as quais é
definido o escopo do esforço de planejamento. Esta prática é Satisfeita no Scrum que o
mesmo define um ciclo de vida como apresentado no Capítulo 2.
3.1.4 SP 1.4 Determinar Estimativas de Esforço e Custo
Esta prática tem como propósito estimar o esforço e custo do projeto para os produtos
de trabalho e tarefas baseadas nas justificativas das estimativas. No Scrum, as estimativas são
realizadas em 2 níveis: Product Backlog e Sprint Backlog. As estimativas do Product Backlog
são pouco precisas, de alto nível, tendo como propósito oferecer uma visibilidade do tamanho
(esforço) de cada requisito, com relação a si mesmo e relativo aos demais requisitos. Já as
estimativas do Sprint Backlog, estas são mais precisas. As estimativas do time são calculadas
levando-se em consideração: a) o desempenho do time em sprints passadas; b) a capacidade
do time para a próxima sprint; e c) a complexidade relativa das tarefas requeridas para
alcançar o objetivo da sprint (COCHANGO, 2009). Entretanto, as estimativas de esforço
realizadas no Scrum não necessariamente seguem um método formal, nem tampouco são
57
derivadas de um tamanho ou complexidade como sugerido pelo modelo. O Scrum também
não reforça a utilização da base histórica organizacional. Custo não é mencionado
explicitamente no processo, esforço, apesar do custo ser necessário para o cálculo do
orçamento do projeto e financiamento do mesmo pelo Product Owner. Desta forma esta
prática foi classificada como Parcialmente Satisfeita.
3.1.5 SP 2.1 Estabelecer o Orçamento e o Cronograma
Esta prática objetiva estabelecer e manter o orçamento e o cronograma do projeto. No
Scrum o orçamento do projeto e cronograma são obtidos a partir do Product Backlog e
derivados diretamente do esforço estimado. O Product Backlog priorizado é subdividido em
sprints considerando a alocação do time de acordo com a sua capacidade de produção. O
cronograma é então automaticamente obtido após esta divisão, considerando o número total
de sprints do projeto, que cada sprint tem a duração de 30 dias. Entretanto, não existem
orientações definidas no Scrum para o estabelecimento do orçamento. Levando isso em
consideração esta prática foi classificada como Parcialmente Satisfeita.
3.1.6 SP 2.2 Identificar os Riscos do Projeto
Esta prática remete para a identificação e análise dos riscos do projeto. Considerando
que no Scrum um risco é um possível impedimento para o projeto, a identificação dos riscos é
realizada de forma iterativa, durante as reuniões diárias do time sendo documentados em
quadros-brancos, flipcharts ou listas de impedimentos. Mesmo assim, apesar de haver
identificação dos riscos no Scrum, esta não ocorre de maneira parametrizada e sistemática,
utilizando por exemplo categorias e fontes de riscos. Por isso esta prática foi classificada
como Parcialmente Satisfeita.
3.1.7 SP 2.3 Planejar o Gerenciamento de Dados
Esta ptica objetiva planejar o gerenciamento dos dados do projeto. Observa-se que as
práticas e regras definidas no Scrum contribuem para uma boa comunicação e colaboração
entre o time e os stakeholders, bem como para a visibilidade da condução e progresso do
projeto. Segundo Schwaber (2004), os dados gerados no projeto podem ser colocados em uma
58
pasta pública acessível por todos. Muitas das informações do projeto são comunicadas face-a-
face nas reuniões, outras são comunicadas por meio de documentos, e outras por meio de
relatórios de progresso gerados ao final de cada sprint. Entretanto, não existe um plano de
dados que formalize a coleta, consolidação e divulgação das informações e dados do projeto.
A privacidade dos dados também fica comprometida no Scrum. Portanto esta prática foi
classificada como Não satisfeita.
3.1.8 SP 2.4 Planejar os Recursos do Projeto
Esta prática indica que se deve fazer um planejamento dos recursos necessários para
executar o projeto. No Scrum a alocação do time e a preparação da infra-estrutura do projeto
são realizadas no início do projeto, durante a fase de preparação (ADM, 2003). Ao longo do
projeto, o ScrumMaster é o responsável por prover os recursos necessários ao projeto de
acordo com necessidades e impedimentos que são reportados nas reuniões diárias. A prática
foi classificada como Satisfeita.
3.1.9 SP 2.5 Planejar os Conhecimentos e Habilidades Necessários
Esta prática solicita o planejamento dos conhecimentos e habilidades necessários para
executar o projeto. Sabemos que no Scrum o time é um grupo multi-funcional, auto-
gerenciado, contendo as habilidades que são necessárias para implementar o Sprint Backlog.
O time ainda pode ser composto por analistas, projetistas, engenheiros de garantia da
qualidade, codificadores, e especialistas em banco de dados, arquitetura e etc. Os especialistas
do time são responsáveis por, além de realizar o trabalho da sprint, apoiar, monitorar e guiar
as demais pessoas do time. O time do projeto deve ainda, se possível, ser formado com as
pessoas mais preparadas para execução do projeto considerando-se habilidades técnicas e de
negócio. Além do mais, treinamentos formais ou informais podem ser incluídos no Product
Backlog (ADM, 2003). Desta forma, esta prática foi classificada como Satisfeita.
3.1.10 SP 2.6 Planejar o Envolvimento dos Stakeholders
Esta prática reforça o planejamento envolvimento dos stakeholders identificados.
Observa-se que as práticas e regras do Scrum definem como será o envolvimento dos
59
stakeholders na condução do projeto. Este envolvimento é monitorado pelo ScrumMaster e
pode ser auxiliado pela elaboração de um plano de comunicações. Desta forma esta prática foi
classificada como Satisfeita.
3.1.11 SP 2.7 Estabelecer o Plano do Projeto
Esta prática objetiva estabelecer e manter o conteúdo geral do plano do projeto. De
acordo com Schwaber (2004), o plano mínimo necessário para iniciar um projeto com o
Scrum consiste-se de um documento de visão do produto e do Product Backlog. A visão
descreve a razão pela qual o projeto está sendo realizado e o estado final que é desejado para
o projeto. Já o Product Backlog define os requisitos funcionais e não funcionais (priorizados e
estimados) que o sistema deverá atender para entregar o produto conforme definido na visão.
Juntos, o documento de visão e Product Backlog formam a base para a elaboração de um
plano de projeto em alto nível compatível com a volatilidade de projetos ágeis. A prática,
portanto, foi classificada como Satisfeita.
3.1.12 SP 3.1 Revisar Planos que Afetam o Projeto
Esta prática tem como objetivo revisar todos os planos que afetam o projeto para
atender os compromissos do projeto. No Scrum, os planos são revisados no início de cada
sprint e adaptações são realizadas de acordo com as mudanças de requisitos e tecnologias. A
prática foi considerada Satisfeita.
3.1.13 SP 3.2 Equilibrar Níveis de Trabalho e Recursos
Esta prática objetiva equilibrar o plano do projeto para refletir os recursos disponíveis
e estimados. A prática foi classificada como Satisfeita, que a reconciliação do trabalho no
Scrum é realizada durante o planejamento da sprint, quando o time, define, em conjunto com
o Product Owner e ScrumMaster o máximo de funcionalidades que podeser implementada
na sprint.
60
3.1.14 SP 3.3 Obter Comprometimento com o Plano
Esta prática visa obter compromissos dos stakeholders relevantes que são responsáveis
por executar e suportar o plano de execução do projeto. No Scrum, o comprometimento do
plano é realizado continuamente no início de cada sprint, durante a reunião de planejamento
da sprint. O Product Owner, ScrumMaster, e time em comum acordo, definem as prioridades
do Product Backlog para cada sprint e determinam que funcionalidades serão realizadas na
próxima sprint. Ao longo da execução da sprint, se o time sentir que não conseguirá
completar todos os itens selecionados e comprometidos, ele poderá consultar o Product
Owner para decidir os itens que podem ser removidos da sprint. Da mesma forma, se o time
achar que poderá implementar mais funcionalidades do que as definidas no planejamento da
sprint, eles podem consultar o Product Owner para definir os próximos itens que deverão ser
adicionados ao escopo da sprint. Desta forma, esta prática foi considerada Satisfeita.
3.1.15 Cobertura Geral do Scrum na Área de Processo PP
A Tabela 10 mostra o resultado final da classificação de cada prática específica da área
de processo PP.
Tabela 10: Classificação da Área de Processo PP
Meta Específica Práticas Específicas Classificação
SG 1 Estabelecer
Estimativas
SP 1.1 Estimar o Escopo do Projeto S
SP 1.2 Estabelecer Estimativas de Atributos de
Produtos de Trabalho e Tarefas
NS
SP 1.3 Definir o Ciclo de Vida do Projeto S
SP 1.4 Determinar Estimativas de Esforço e Custo
PS
SG 2 Desenvolver
um Plano de
Projeto
SP 2.1 Estabelecer o Orçamento e o Cronograma PS
SP 2.2 Identificar Riscos do Projeto PS
SP 2.3 Planejar o Gerenciamento de Dados NS
SP 2.4 Planejar Recursos do Projeto S
SP 2.5 Planejar Conhecimentos e Habilidades
Necessários
S
SP 2.6 Planejar o Envolvimento dos Stakeholders S
SP 2.7 Estabelecer o Plano do Projeto S
SG 3 Obter
Compromissos
com o Plano
SP 3.1 Revisar Planos que Afetam o Projeto S
SP 3.2 Equilibrar Níveis de Trabalho e Recursos
S
SP 3.3 Obter Comprometimento com o Plano
S
61
Ao concluir a análise da cobertura do Scrum com relação à área de processo PP,
percebe-se que o Scrum não atende todas práticas específicas, mas possui uma boa cobertura,
que 64,3% das práticas foram classificadas como Satisfeitas, 21,4% como Parcialmente
Satisfeitas e apenas 14,3% como Não Satisfeitas, como pode ser visto na Figura 7.
Figura 7: Cobertura geral do Scrum na área de processo PP
3.2 Análise da Área de Processo Monitoramento e Controle do Projeto
O objetivo do Monitoramento e Controle do Projeto (PMC) é fornecer um
entendimento do progresso do projeto de forma que as ações corretivas apropriadas possam
ser tomadas quando o desempenho do projeto se desviar significativamente do plano
(CHRISSIS; KONRAD; SHRUM, 2007). PMC é composta por 10 práticas específicas
agrupadas em 2 metas específicas: SG1 Monitorar o Projeto Contra o Plano e SG2 Gerenciar
Ações Corretivas até o Encerramento. O mapeamento de todas as práticas específicas
relacionadas com PMC é apresentado a seguir.
3.2.1 SP 1.1 Monitorar os Parâmetros de Planejamento do Projeto
Esta prática tem como objetivo monitorar os valores reais dos parâmetros de
planejamento do projeto contra o plano do projeto. No Scrum o monitoramento do projeto é
feito efetivamente através dos gráficos de consumo e das reuniões de acompanhamento
mencionadas anteriormente. O gráfico de consumo do produto mostra a velocidade com que o
time está entregando os itens do Product Backlog e é analisado ao final de cada sprint. Ele
ajuda a monitorar o planejamento das entregas das funcionalidades dando visibilidade se o
time do projeto conseguirá alcançar os objetivos da sprint ou se será necessário replanejar o
62
escopo da sprint para conseguir encerrar a sprint na data planejada. Já o gráfico de consumo
da sprint mostra diariamente a velocidade e progresso da evolução das tarefas do time em
uma sprint, dando visibilidade e suportando o planejamento de ações corretivas necessárias.
As reuniões de acompanhamento, sobretudo as reuniões diárias, permitem acompanhar
o dia-a-dia de trabalho do time e perceber as dificuldades existentes para a realização das
tarefas planejadas. Estas dificuldades devem ser rapidamente sanadas pelo ScrumMaster para
que o time não perca seu foco nem comprometa o objetivo da sprint.
Apesar disso, como as estimativas de custo, tamanho e esforço não são realizadas de
maneira sistemática, não há um acompanhamento como solicitado no modelo CMMI. O
monitoramento de treinamentos também fica comprometido, que não existe um
planejamento para tal. Desta forma esta prática foi classificada como Parcialmente
Satisfeita.
3.2.2 SP 1.2 Monitorar os Compromissos
Esta prática tem como propósito monitorar os compromissos contra aqueles
identificados no plano do projeto. No Scrum, os compromissos são estabelecidos
iterativamente, a cada sprint, na reunião de planejamento, sendo monitorados através do
gráfico de consumo da sprint e reuniões diárias, sendo também revistos na reunião de
retrospectiva. Durante uma sprint, o time não pode receber trabalho adicional dos
stakeholders e/ou Product Owner. Apenas o time pode alterar o Sprint Backlog o qual deve
manter foco no alcance dos objetivos da sprint. Esta prática, portanto, foi considerada
Satisfeita.
3.2.3 SP 1.3 Monitorar os Riscos do Projeto
Esta prática visa monitorar os riscos contra os que foram identificados no plano do
projeto. No Scrum, as reuniões diárias buscam levantar impedimentos (problemas,
dependências, riscos, etc.), logo uma identificação, embora não haja uma análise mais
elaborada. Como os impedimentos são registrados em quadro-branco, flipchart ou lista de
impedimentos e monitorados pelo ScrumMaster, de certa forma um acompanhamento,
63
embora informal, dos riscos. Sendo assim, esta prática foi considerada Parcialmente
Satisfeita.
3.2.4 SP 1.4 Monitorar o Gerenciamento de Dados
Esta prática tem o propósito de monitorar o gerenciamento dos dados do projeto contra
o plano do projeto. Essa prática foi classificada como Não Satisfeita, já que no Scrum não
procedimento e planejamento formal para a gestão dos dados do projeto o que colabora para o
comprometimento do monitoramento dos dados como solicitado no CMMI.
3.2.5 SP 1.5 Monitorar o Envolvimento dos Stakeholders
Esta prática tem o propósito de monitorar o envolvimento dos stakeholders contra o
plano do projeto. No Scrum, o monitoramento do envolvimento dos stakeholders é feito
durante as reuniões do projeto, pelo ScrumMaster que é o responsável pelo entendimento e
respeito às regras e práticas definidas no processo Scrum devendo fazer com que todos os
envolvidos no projeto entendam suas práticas e regras. Apesar de não haver registro de
documentação do monitoramento realizado, estamos assumindo que esta prática é Satisfeita
uma vez que evidências indiretas existem decorrentes das reuniões realizadas, tais como:
atualização da lista de impedimentos, Product Backlog e Sprint Backlog.
3.2.6 SP 1.6 Conduzir Revisões de Progresso
Esta prática tem como propósito periodicamente revisar o progresso, desempenho e
questões do projeto. No Scrum, o controle do projeto é realizado por meio de constantes
inspeções com respectivas adaptações em reuniões de revisão do progresso (reuniões diárias e
de retrospectiva). Desta forma, esta prática foi classificada como Satisfeita.
3.2.7 SP 1.7 Conduzir Revisões em Marcos
Esta prática tem como objetivo revisar os resultados do projeto em marcos
selecionados do projeto. Como comentado na SP 1.6, as reuniões de revisões em marcos
ocorrem sempre no final de cada sprint. Nas reuniões de Sprint Review são realizadas
64
inspeções do progresso do projeto dando visibilidade do andamento e cumprimento dos
acordos realizados. A prática, portanto foi considerada Satisfeita.
3.2.8 SP 2.1 Analisar Problemas
Esta prática tem como propósito coletar e analisar as questões e determinar as ações
corretivas necessárias para tratar as questões. Como comentado anteriormente, durante as
reuniões diárias, o time reporta todos os impedimentos que comprometem a qualidade e
performance das suas atividades. Os impedimentos são registrados no quadro-branco,
flipchart ou lista de impedimentos e devem ser apagados quando resolvidos. Além disso, o
ScrumMaster é responsável por resolver os impedimentos o mais rapidamente possível,
tomando as ações corretivas necessárias para tal. Desta forma, a prática foi classificada como
Satisfeita.
3.2.9 SP 2.2 Tomar ações corretivas
Esta prática tem como propósito tomar ações corretivas em questões identificadas. No
Scrum as ações corretivas são tomadas visando à resolução rápida dos impedimentos
levantados. Entretanto não registro de planos de ações corretivas, nem de documentação
relativa a isso. Assim sendo, esta prática foi classificada como Parcialmente Satisfeita.
3.2.10 SP 2.3 Gerenciar ações corretivas
Esta prática tem como propósito gerenciar as ações corretivas até o encerramento.
Como mencionado anteriormente, os impedimentos levantados são resolvidos pelo
ScrumMaster. Isso garante a resolução dos problemas. Entretanto, não registro ou
evidências do monitoramento das ações corretivas até o seu encerramento. A prática, então,
foi classificada como Parcialmente Satisfeita.
3.2.11 Cobertura Geral do Scrum na Área de Processo PMC
A Tabela 11 mostra o resultado final da classificação de cada prática específica da área
de processo PMC.
65
Tabela 11: Classificação da Área de Processo PMC
Meta Específica Práticas Específicas Classificação
SG 1 Monitorar o
Projeto em
relação ao Plano
SP 1.1 Monitorar os Parâmetros de Planejamento do
Projeto
PS
SP 1.2 Monitorar os Compromissos S
SP 1.3 Monitorar os Riscos do Projeto PS
SP 1.4 Monitorar o Gerenciamento de Dados NS
SP 1.5 Monitorar o Envolvimento dos Stakeholders S
SP 1.6 Conduzir Revisões de Progresso S
SP 1.7 Conduzir Revisões em Marcos S
SG 2 Gerenciar
Ações Corretivas
até o
Encerramento
SP 2.1 Analisar Problemas S
SP 2.2 Tomar ações corretivas PS
SP 2.3 Gerenciar ações corretivas
PS
Assim como em PP, ao concluir a análise da cobertura do Scrum com relação à área de
processo PMC, percebe-se que o Scrum possui uma boa cobertura, que 50% das práticas
foram classificadas como Satisfeitas, 40% como Parcialmente Satisfeitas e apenas 10%
como Não Satisfeitas, como pode ser visto na Figura 8.
Figura 8: Cobertura geral do Scrum na área de processo PMC
3.3 Análise da Área de Processo Gerenciamento de Acordo com
Fornecedores
O objetivo do Gerenciamento de Acordos com Fornecedores (SAM) é gerenciar a
aquisição de produtos de fornecedores para os quais existe um acordo formal (SEI, 2006).
Esta área de processo basicamente se aplica à aquisição de produtos e componentes de
produtos que são entregues ao cliente do projeto e inclui práticas para:
66
Determinar o tipo de aquisição que será utilizada para os produtos a serem
adquiridos;
Selecionar, estabelecer e manter acordos com fornecedores os fornecedores;
Executar o acordo com o fornecedor e aceitar a entrega dos produtos adquiridos;
Fazer a transição dos produtos adquiridos para o projeto.
O Scrum não descreve práticas ou regras relacionadas com o gerenciamento e
aquisição de produtos. Portanto todas as práticas desta área de processo foram classificadas
como Não Satisfeitas como pode ser visto na Tabela 12.
Tabela 12: Classificação da Área de Processo SAM
Meta Específica Práticas Específicas Classificação
SG 1 Estabelecer
Acordos com
Fornecedores
SP 1.1 Determinar tipo de aquisição NS
SP 1.2 Escolher fornecedores NS
SP 1.3 Estabelecer acordos com fornecedores NS
SP 2.1 Executar o acordo com o fornecedor NS
SG 2 Satisfazer
Acordos com
Fornecedores
SP 2.1 Executar o acordo com o fornecedor NS
SP 2.2 Monitorar os processos selecionados do
fornecedor
NS
SP 2.3 Avaliar os produtos de trabalho selecionados
do fornecedor
NS
SP 2.4 Aceitar o produto adquirido NS
SP 2.5 Executar a transição de produtos NS
3.4 Análise da Área de Processo Gerenciamento Integrado de Projetos
De acordo com o CMMI (SEI, 2006) o objetivo do Gerenciamento Integrado do
Projeto (IPM) é estabelecer e gerenciar o projeto e o envolvimento dos stakeholders
relevantes, de acordo com um processo integrado e definido que é adaptado a partir do
conjunto de processos padrão da organização. Com a adição do gerenciamento integrado do
desenvolvimento de produtos e processos (IPPD) à IPM, esta área de processo também faz
cobertura da definição de uma visão compartilhada do projeto bem como do estabelecimento
de times integrados que devem cuidar dos objetivos do projeto.
IPM +IPPD é composto por 3 metas específicas: SG1 Utilizar o Processo Definido do
Projeto; SG2 Coordenar e Colaborar com os Stakeholders Relevantes; e SG3 Aplicar
67
Princípios do Desenvolvimento Integrado do Produto e do Processo. As metas reunem ao todo
14 práticas específicas.
No que diz respeito às práticas relacionadas com a primeira meta desta área de
processo, SG1 Utilizar o Processo Definido do Projeto, na qual o projeto deve ser conduzido
usando-se o processo definido, todas foram avaliadas e classificadas como Não Satisfeitas.
Esta análise deve-se ao fato de que o Scrum não define um conjunto de processos padrões
para a organização. Ele apenas estabelece o conjunto de práticas e regras que devem ser
usadas na execução do projeto. Assim, podemos considerar que o processo definido para o
projeto é simplesmente o Scrum, não sendo o mesmo um processo definido a partir de um
conjunto de processos organizacionais.
O mapeamento das demais práticas específicas desta área de processo é apresentado
nas subseções seguintes.
3.4.1 SP 2.1 Gerenciar o Envolvimento dos Stakeholders
Esta prática tem como propósito gerenciar o envolvimento dos stakeholders relevantes
do projeto. Como comentado anteriormente na análise da SP 1.5 de PMC, as práticas e regras
do Scrum definem implicitamente como será o envolvimento dos stakeholders na condução
do projeto. E este envolvimento é monitorado pelo ScrumMaster. Desta forma, classificamos
a prática como Satisfeita.
3.4.2 SP 2.2 Gerenciar Dependências
Esta prática tem como propósito interagir com os stakeholders relevantes para
identificar, negociar e rastrear as dependências críticas. No Scrum as dependências, assim
como riscos, podem ser gerenciadas como impedimentos, sendo levantadas nas reuniões
diárias. Como o ScrumMaster é o responsável por resolver os problemas assim que
identificados e rapidamente (na medida do possível), entendemos que as dependências estarão
sendo gerenciadas com o devido envolvimento dos stakeholders. Entretanto, não existem
registros das negociações e reuniões realizadas, nem das datas acordadas para a remoção das
dependências. Também não planejamento das estratégias de acompanhamento e
68
verificação das dependências. Desta forma, classificamos a prática como Parcialmente
Satisfeita.
3.4.3 SP 2.3 Resolver Questões de Coordenação
Esta prática tem como objetivo resolver questões com os stakeholders relevantes. Esta
prática foi considerada Parcialmente Satisfeita, considerando a mesma justificativa
apresentada na SP 2.2.
3.4.4 SP 3.1 Estabelecer a Visão Compartilhada do Projeto
Esta prática tem como objetivo estabelecer e manter uma visão compartilhada do
projeto. De acordo com Schwaber (2004) o plano do projeto representa uma forma de
sincronizar as expectativas do cliente com as expectativas do time, sendo muito importante
que todo o time entenda a essência dos objetivos finais do projeto ou produto. No Scrum,
durante a fase de planejamento, as expectativas dos stakeholders são estabelecidas, que o
documento de Visão, criado pelo Product Owner comunica a essência e o caráter do
empreendimento, sendo o mais simples e acessível quanto possível (COCHANGO, 2009).
Desta forma esta prática foi classificada como Satisfeita.
3.4.5 SP 3.2 Estabelecer uma Estrutura Integrada para o Time
Esta prática tem como propósito estabelecer e manter uma estrutura integrada para o
time do projeto. De acordo com Schwaber (2004), quando vários times trabalham num
ambiente colaborativo o projeto é chamado de projeto escalonado, e os mecanismos usados
para coordenar o trabalho desses times são chamados de mecanismos escalonados. Ao
escalonar projetos no Scrum, algumas orientações e guias devem ser seguidos (SCHWABER,
2004):
Mantenha o tamanho do time com 8 pessoas;
Construa toda a infra-estrutura do projeto primeiro e depois integre todo o
time. Isso significa que as primeiras sprints são realizadas por um único time
que implementa apenas requisitos não funcionais;
69
Divida o trabalho entre os times logicamente de forma a minimizar a
necessidade de atribuição de muitas pessoas;
Introduza uma reunião diára com representantes de cada time Scrum, realizada
após a reunião diária de cada time.
Desta forma estes guias orientam no estabelecimento do time integrado e a prática foi
classificada como Satisfeita.
3.4.6 SP 3.3 Alocar Requisitos para times integrados
Esta prática tem como propósito alocar e estabelecer requisitos, responsabilidades,
tarefas e interfaces para os times integrados. No Scrum, ao executar projetos escalonados,
algumas práticas são críticas para o sucesso do projeto (SCHWABER, 2004), e devem ser
seguidas, a saber:
Construa uma infra-estrutura para o escalonamento do projeto antes de escalonar o
projeto. Esta infra-estrutura deve ser implementada por um único time inicial e
crescer durante sprints sucessivas. Requisitos não-funcionais para construir a infra-
estrutura devem ser adicionados ao Product Backlog e priorizados conjuntamente
com outras funcionalidades de negócio na fase de Preparação do Scrum antes da
primeira sprint;
Sempre entregue valor de negócio como resultados das sprints enquanto constrói a
infra-estrutura para o projeto;
Otimize as capacidades e competências do time inicial e depois forme os times
adicionais. Os times adicionais devem ser compostos de pelo menos 1 pessoa que
participou do time inicial, atuando como especialista na construção da infra-
estrutura e arquitetura do projeto.
Todos estes requisitos estabelecem os requisitos necessários para integração entre os
times. Sendo assim, esta prática foi classificada como Satisfeita.
70
3.4.7 SP 3.4 Estabelecer times integrados
Esta prática tem como propósito estabelecer e manter times integrados. A prática foi
considerada Satisfeita, considerando racional apresentado na SP 3.2 e SP3.3.
3.4.8 SP 3.5 Garantir a colaboração entre as interfaces dos times
Esta prática tem como propósito garantir a colaboração entre os times, sendo
considerada Satisfeita devido às mesmas razões apresentadas em SP 3.2 e SP3.3.
3.4.9 Cobertura Geral do Scrum na Área de Processo IPM+IPPD
A Tabela 13 mostra o resultado final da classificação de cada prática específica da área
de processo IPM+IPPD.
Tabela 13: Classificação da Área de Processo IPM+IPPD
Meta Específica Práticas Específicas Classificação
SG 1 Utilizar o
Processo Definido
do Projeto
SP 1.1 Estabelecer o Processo Definido do Projeto NS
SP 1.2 Utilizar os Ativos de Processos
Organizacionais para o Planejamento das Atividades
do Projeto
NS
SP 1.3 Estabelecer o Ambiente de Trabalho do Projeto
NS
SP 1.4 Integrar os Planos NS
SP 1.5 Gerenciar o Projeto Utilizando os Planos
Integrados
NS
SP 1.6 Contribuir para os Ativos de Processos
Organizacionais
NS
SG 2 Coordenar e
Colaborar com os
Stakeholders
Relevantes
SP 2.1 Gerenciar o Envolvimento dos Stakeholders S
SP 2.2 Gerenciar Dependências PS
SP 2.3 Resolver Questões de Coordenação
PS
IPPD
SG 3 Aplicar
Princípios do
Desenvolvimento
Integrado do
Produto e do
Processo
SP 3.1 Estabelecer a Visão Compartilhada do Projeto S
SP 3.2 Estabelecer uma Estrutura Integrada para o
Time
S
SP 3.3 Alocar Requisitos para times integrados S
SP 3.4 Estabelecer times integrados S
SP 3.5 Garantir colaboração entre as interfaces dos
times
S
Ao concluir a análise da cobertura do Scrum em relação à área de processo
IPM+IPPD, percebe-se que o Scrum não possui uma boa cobertura que 42,9% das práticas
71
foram classificadas como Não Satisfeitas e 14,3% como Parcialmente Satisfeitas como
pode ser visto na Figura 9.
Figura 9: Cobertura geral do Scrum na área de processo IPM+IPPD
3.5 Análise da Área de Processo Gerenciamento de Riscos
O objetivo do Gerenciamento de Riscos é identificar os problemas potenciais antes
que ocorram, de forma que as atividades de tratamento de riscos possam ser planejadas e
invocadas conforme necessário em toda a vida do produto ou projeto para mitigar os impactos
adversos à satisfação dos objetivos (SEI, 2006). Como mencionado anteriormente, os riscos
no Scrum são identificados como impedimentos, porém não existem práticas para definir
fontes, parâmetros e categorias de riscos que devem ser usados para analisar, categorizar bem
como para controlar o esforço do gerenciamento dos riscos. No Scrum, não existe também
uma estratégia para o gerenciamento dos riscos, nem mesmo um plano de mitigação para os
riscos mais importantes baseado em bases históricas ou similares. Assim sendo a avaliação,
categorização e priorização dos riscos são realizadas de forma informal.
Considerando a justificativa apresentada acima, todas as práticas específicas de RSKM
foram consideradas Não Satisfeitas, à exceção da prática SP 2.1 Identificar Riscos que foi
classificada como Parcialmente Satisfeita. O resultado final da classificação do Scrum em
cada prática específica da área de processo RSKM está sumarizado na Tabela 14.
72
Tabela 14: Classificação da Área de Processo RSKM
Meta Específica Práticas Específicas Classificação
SG 1 Preparar o
Gerenciamento
dos Riscos
SP 1.1 Determinar as fontes e categorias do risco NS
SP 1.2 Determinar os parâmetros do risco NS
SP 1.3 Estabelecer a estratégia de gerenciamento
dos
Riscos
NS
SG 2 Identificar
e Analisar
Riscos
SP 2.1 Identificar Riscos PS
SP 2.2 Avaliar, categorizar e priorizar riscos
NS
SG3 Mitigar
Riscos
SP 3.1 Desenvolver planos de mitigação de riscos NS
SP 3.2 Implementar planos de mitigação de riscos NS
3.6 Análise da Área de Processo Gerenciamento Quantitativo de Projetos
O objetivo do Gerenciamento Quantitativo de Projetos é gerenciar quantitativamente o
processo definido para o projeto a fim de alcançar os objetivos estabelecidos para o projeto
relacionados com o desempenho e qualidade do processo (SEI, 2006). De acordo com o
CMMI, para atingir estes objetivos, sub-processos do projeto são identificados e medidos para
monitorar sua conformidade com os objetivos de qualidade e desempenho definidos.
Adicionalmente, os resultados medidos na gestão quantitativa do projeto são introduzidos
como ativos organizacionais colaborando com a melhoria continua dos processos padrões
organizacionais. No Scrum não há nenhuma prática que atenda a esta área de processo.
Portanto, todas as práticas específicas desta área de processo foram classificadas como Não
Satisfeitas, como pode ser visto na Tabela 15.
Tabela 15: Classificação da Área de Processo QPM
Meta Específica Práticas Específicas Classificação
SG 1 Gerenciar
quantitativamente
o projeto
SP 1.1 Estabelecer Objetivos do Projeto NS
SP 1.2 Compor o Processo Definido NS
SP 1.3 Escolher subprocessos que serão gerenciados
estatisticamente
NS
SP 1.4 Gerenciar a performance do projeto NS
SG 2 Gerenciar
Estatitiscamente a
performance dos
subprocessos
SP 2.1 Selecionar as medidas e técnicas analíticas NS
SP 2.2 Aplicar métodos estatísticos para entender
variação
NS
SP 2.3 Monitorar performance dos subprocessos
Selecionados
NS
SP 2.4 Gravar gerenciamento estatístico dos dados NS
73
3.7 Considerações finais e Análise Geral dos Resultados
Os resultados gerais da análise e mapeamento realizado neste trabalho podem ser
visualizados na Figura 10, que apresenta uma visão consolidada da cobertura do Scrum nas
áreas de processo de gerenciamento de projetos do CMMI.
Figura 10: Cobertura do Scrum nas PAs de Gerenciamento de Projetos do CMMI
Este resultado mostra que 32,8% das práticas avaliadas são satisfeitas no Scrum,
16,4% são Parcialmente Satisfeitas e 50,8% são Não Satisfeitas. Em outras palavras, o
Scrum não está em total conformidade com as exigências das práticas específicas desta
categoria de processos do modelo CMMI. Aprofundando-se um pouco mais nesta avaliação
percebe-se que este resultado geral deve-se em grande parte à baixa cobertura do Scrum com
relação às áreas de processo SAM, RSKM e QPM. Ao se excluir SAM e QPM do escopo da
avaliação, os resultados da cobertura do Scrum mudam para a seguinte proporção: 44,5% de
práticas classificadas como Satisfeita, 22,2% de práticas classificadas como Parcialmente
Satisfeita e 33,3% de práticas classificadas como Não Satisfeita.
Outra análise da cobertura do Scrum na categoria de gerenciamento de projetos pode
ser feita agrupando-se as áreas de processos nos seus respectivos níveis de maturidade como
ilustrado na Figura 11.
74
Desta forma percebe-se que se considerarmos apenas as áreas do processo do nível 2
(PP, PMC e SAM) o percentual de práticas específicas classificadas como Satisfeita cresce
para 43,8%. Também cresce para 21,9% o percentual de práticas específicas classificadas
como Parcialmente Satisfeita, ficando apenas 34,4% das práticas específicas como Não
Satisfeita. Outra observação importante é que estes números mudam caso SAM não se
aplique ao contexto do escopo da avaliação, o que pode ser bastante comum caso a
organização não trabalhe com subcontratação de fornecedores. Neste último cenário, a
cobertura do Scrum fica ainda mais atrativa: 58,3% Satisfeita, 29,2% Parcialmente
Satisfeita e 12,5% Não Satisfeita.
Figura 11: Cobertura do Scrum nas PAs de Gerenciamento de Projetos do CMMI segundo os
níveis de maturidade do modelo.
Mas a avaliação não é tão boa quando consideramos as áreas de processos do nível 3
(IPM+IPPP e RSKM) de maturidade do CMMI. Estas áreas de processo têm 28,6% das suas
práticas classificadas como Satisfeita no Scrum, 14,3% classificadas como Parcialmente
Satisfeita e 57,1% classificadas como Não Satisfeita. Este resultado deve-se especialmente à
baixa aderência do Scrum a RSKM, à falta de definição de processos organizacionais e
também ao não uso sistemático de bases históricas exigidas pelas práticas de IPM.
Finalmente, observa-se que com relação à área de processo do nível 4 (QPM), o Scrum é
100% Não Satisfeito.
De acordo com o mapeamento realizado pode-se concluir que o Scrum não cobre
todas as práticas específicas de gerenciamento de projeto do CMMI. As maiores divergências
75
entre o Scrum e as áreas de processo PP, PMC, IPM+IPPD e RSKM estão principalmente
relacionadas com:
Ausência de técnicas ou práticas alternativas para a realização das estimativas
do projeto, afetando diretamente práticas de PP e PMC;
Ausência de um melhor gerenciamento dos riscos, impactando as práticas de
RSKM, PP e PMC;
Lacunas no gerenciamento de ações corretivas de problemas e dependências,
afetando as práticas relacionadas com a segunda meta específica de PMC e
práticas de IPM;
Lacunas no planejamento e gerenciamento do orçamento do projeto, o que
compromete práticas de PP e PMC;
Ausência de um planejamento e monitoramento dos dados do projeto,
impactando a aderência às práticas de PP e PMC;
Lacunas no gerenciamento integrado do projeto devido à ausência de um
processo integrado e definido que é adaptado a partir do conjunto de processos
padrão da organização, conforme definido na primeira meta específica de IPM
+ IPPD.
Além disso, as descobertas da avaliação revelam que parte das lacunas encontradas
está relacionada com a falta de documentação (evidências escritas) na execução das
atividades. Isto se deve a um dos valores do manifesto ágil que enfatiza “Software
funcionando sobre documentação compreensiva”, significando que o time deve produzir
apenas a documentação necessária e considerada significativa para o projeto
independentemente do conhecimento organizacional.
Acredita-se, entretanto, que isso pode ser revisto, de forma que alguma documentação
simples possa ser introduzida no Scrum, deixando-o assim em mais conformidade com o
modelo CMMI. Práticas alternativas também podem ser analisadas e implementadas
aumentando assim o grau de adequação do Scrum ao CMMI.
76
4 Investigando o interesse de organizações na melhoria de
processos baseada em Scrum e CMMI
Considerando o mapeamento e resultados da cobertura do Scrum nas áreas de processos
de gestão de projetos do CMMI descritos no capítulo anterior, uma proposta preliminar de
extensão do Scrum foi definida em (MARÇAL et al., 2007b). A proposta inicialmente
definida priorizou a resolução das principais divergências do Scrum com relação às práticas
de estimativas, riscos e gerenciamento de problemas e ações corretivas do modelo CMMI,
existentes nas áreas de processo PP, PMC e RSKM. Em resumo a proposta introduz as
seguintes práticas ao Scrum:
Práticas para Estimativas de Complexidade por Story Points. A estimativa
de complexidade por Story Points (COHN, 2006) deve ser introduzida ao
processo de estimativa e priorização dos itens de backlog na reunião de
planejamento da sprint;
Práticas para o Gerenciamento de Riscos. Inclusão no fluxo de
desenvolvimento do Scrum de atividades para identificação, análise, priorização
e mitigação dos riscos com a criação de planos de ação para tratar os riscos de
maior prioridade. Essas atividades devem ser realizadas no contexto das
reuniões de planejamento da sprint bem como na reunião diária;
Práticas para o Gerenciamento de Ações Corretivas. Registro dos problemas
com análise de prioridade, data alvo e responsável para resolução. Seguindo o
princípio ágil, ações corretivas devem ser identificadas para os
problemas/dependências mais prioritários. O monitoramento destas ações deve
ser realizado nas reuniões diárias e durante as reuniões de retrospectiva, com o
objetivo de avaliar a eficácia das ações corretivas tomadas para os problemas
identificados, melhorando assim, o gerenciamento de problemas para a próxima
sprint.
77
Acreditando nesta proposta preliminar, como uma alternativa para organizações
desenvolvedoras de software que pretendem combinar o Scrum com o CMMI, surgiu então a
necessidade de se investigar o real interesse dessas organizações em adotar práticas de
métodos ágeis combinadas com o CMMI na gestão de seus projetos. Além disto, precisava-se
entender como as empresas gerenciam riscos, ações corretivas e fazem estimativas de forma a
motivar e justificar o trabalho em construção, servindo de insumo para a definição do
processo de gestão ágil e aderente ao CMMI, que será apresentado no capítulo 5.
A investigação foi realizada por meio da aplicação de uma pesquisa de campo (FINK,
1995) tendo como população-alvo empresas brasileiras que atuam no setor de
desenvolvimento de software. O formulário da pesquisa foi estruturado em 5 partes conforme
descritas a seguir:
Informações sobre a empresa, tais como: localização, anos no mercado e
quantidade de profissionais envolvidos com gestão e desenvolvimento de projetos;
Informações sobre o processo de desenvolvimento de software, tais como: o
processo da empresa é aderente aos níveis de maturidade do CMMI, ela adota
praticas de métodos ágeis;
Informações sobre o perfil de projetos que usaram Scrum, tais como: duração,
tamanho da equipe, volatilidade dos requisitos, complexidade do projeto e
envolvimento do cliente;
Informações sobre a melhoria do processo de desenvolvimento de software na
empresa, tal como: em que condições ela faria melhoria no seu processo para a
adoção de práticas de gestão ágil e práticas do CMMI;
Informações sobre como são realizadas as estimativas, gestão de riscos e
gerenciamento de problemas e ações corretivas nas empresas.
A pesquisa foi publicada na web usando-se a ferramenta Survey Monkey
(http://www.surveymonkey.com). O convite da pesquisa foi enviado para várias listas de e-
mail e ao final do período de 10 dias de publicação da pesquisa obteve-se 73 respostas
consistentes de empresas distintas. Acredita-se que a publicação da pesquisa na web
favoreceu a participação dos entrevistados, e que os resultados da pesquisa são um fator de
78
motivação para a definição, interesse e aplicação do Scrummi entre empresas brasileiras do
setor de desenvolvimento de software.
As respostas da pesquisa tabuladas e seus resultados agrupados são descritos nas
subseções a seguir, conforme apresentadas e publicadas em (MARÇAL et al., 2008a) e
(MARÇAL et al., 2008b).
4.1 Análise do perfil das empresas
Participaram da pesquisa empresas localizadas em todas as regiões do Brasil, como
pode ser visto na Figura 12. Observa-se que a maior parte das respostas corresponde a
empresas situadas em estados da região Nordeste (39,7%) e Sudeste (23,3%), sendo que 5,5%
das empresas atuam em todo o território nacional e estão distribuídas em vários estados do
Brasil. O estado que mais contribuiu com as respostas foi Pernambuco (24,7%), seguidos de
São Paulo e Ceará empatados com 13,7%.
Figura 12: Localização das empresas nas regiões geográficas do Brasil
Das empresas pesquisadas, 44% possuem até 10 anos de mercado, 37% possuem entre
11 e 40 anos e apenas 19% possuem acima de 40 anos de mercado, como pode ser visto na
Figura 13.
79
Figura 13: Tempo de mercado das empresas
Com relação ao tamanho da organização em número aproximado de profissionais
envolvidos com a gestão e o desenvolvimento de projetos (Figura 14), 18% das empresas
pesquisadas possuem até 9 profissionais, 30% possuem entre 10 a 49 pessoas, 8% possuem
entre 50 a 99 pessoas e 44% possuem acima de 100 pessoas.
Figura 14: Tamanho (número de profissionais) das empresas
4.2 Análise dos processos de desenvolvimento de software das empresas
Quanto à aderência dos processos aos níveis de maturidade do CMMI (Figura 15), 26
empresas (35%) responderam que possuem seus processos aderentes a algum nível de
maturidade do CMMI, 33 empresas (45%) disseram que não possuem, mas têm interesse em
adequá-lo a algum nível de maturidade, 7 empresas (10 %) informaram não ter processo e
outras 7 empresas (10%) não tem interesse em adequar seus processos a algum nível de
maturidade do CMMI. Este resultado corrobora para um elevado percentual de interesse das
empresas com relação à adoção do CMMI nos seus processos.
80
Figura 15: Aderência dos processos das empresas ao CMMI
Entre as 59 empresas que possuem nível de maturidade ou pretendem alcançá-lo,
apenas 25 informaram este nível. As outras 34 empresas não indicaram resposta para este
questionamento. Apesar de pouca participação neste quesito, observa-se que o nível de
maturidade 2 é o mais citado, seguido pelo nível 3. Interessante observar que nenhuma
empresa citou o nível 4 e apenas 1 empresa já se encontra no nível 5 de maturidade.
Com relação à adoção de práticas de métodos ágeis (Figura 16), 24 empresas (33%)
responderam que usam métodos ágeis em seus processos de gestão, 39 empresas (53%)
informaram que não usam, mas demonstram interesse em usar e apenas 10 empresas (14%)
não usam e não têm interesse. Se somarmos o percentual das empresas que usam com as que
têm interesse em usar, chegamos a um percentual de 86% concluindo que a tendência de
adoção de métodos ágeis nos processos é uma realidade entre as empresas pesquisadas.
Figura 16: Adoção de métodos àgeis nas empresas
81
4.3 Análise dos projetos que usam Scrum
Na análise das 24 empresas que usam o Scrum, procurou-se investigar a caracterização
de projetos conduzidos de acordo com os parâmetros contemplados na Tabela 16. Os
parâmetros foram definidos pelos autores visando identificar a correlação entre os princípios
ágeis do Scrum (equipes pequenas, requisitos pouco estáveis, colaboração forte do cliente,
complexidade do projeto) e a realidade dos projetos nos quais o Scrum vem sendo executado.
Tabela 16: Parâmetros para classificação dos projetos Scrum
Parâmetro Pequeno(a) Médio(a) Grande
Duração do projeto Até 4 meses De 4 a 8 meses Maior que 8 meses
Equipe de
Desenvolvimento
Até 10 pessoas De 11 a 30 pessoas Com mais de 30
pessoas
Estabilidade dos
Requisitos
Requisitos muito
voláteis
Parte dos requisitos
sofria mudanças
significativas
Requisitos
permaneceram
estáveis ou sofreram
apenas pequenas
mudanças
Complexidade do
projeto
A equipe
domina bem o
domínio da
aplicação e a
tecnologia
A equipe tinha
dificuldade quanto
ao domínio da
aplicação ou à
tecnologia
A equipe tinha
dificuldade quanto ao
domínio da aplicação
e à tecnologia
Envolvimento do
Cliente
O cliente não se
envolvia com o
projeto
O cliente
participava do
projeto sempre que
solicitado, mas sem
participação ativa
O cliente participava
ativamente, apoiando
a equipe de
desenvolvimento
As informações da Tabela 16 são relevantes quando se pretende estabelecer critérios,
baseados em experiências práticas anteriores, para o uso do método ágil Scrum em projetos de
desenvolvimento de software. As respostas tabuladas e relativas à caracterização dos projetos
que usam Scrum pelas empresas podem ser vistas na Tabela 17.
Tabela 17: Características dos projetos Scrum
Parâmetro Pequeno(a) Médio(a) Grande
Duração do projeto 45,8% 37,5% 16,7%
Equipe de Desenvolvimento 80,8% 19,2% 0,0%
Estabilidade dos Requisitos 44,0% 44,0% 12,0%
Complexidade do projeto 44,0% 32,0% 24,0%
Envolvimento do Cliente 16,0% 52,0% 32,0%
82
De acordo com este resultado, a maioria dos projetos Scrum pesquisados possuem as
seguintes características:
Duração: pequena de até 4 meses;
Equipe de desenvolvimento: pequena com até 10 pessoas;
Complexidade do projeto baixa, ou seja, a equipe domina o negócio e tecnologia
em desenvolvimento;
Requisitos pouco estáveis e que sofrem muitas mudanças;
Envolvimento do cliente: médio, participando do projeto quando solicitado.
4.4 Análise de Condições para a Melhoria do Processo de Desenvolvimento
de Software
A Tabela 18 e a Tabela 19 ilustram os resultados da investigação sobre as condições
nas quais as empresas conduziriam a melhoria dos seus processos para a adoção de práticas de
Scrum e do CMMI, respectivamente. Foram realizadas duas perguntas, cada uma com
respostas requerendo uma classificação quanto ao grau de relevância de alguns fatores
predefinidos. Para se estabelecer estes fatores, levou-se em consideração: a motivação da
empresa para mudanças (com relação à produtividade, e ao apoio da alta administração) e a
importância dada pela empresa à sua imagem perante o mercado e à satisfação de seus
clientes. Os respondentes podiam também incluir outros fatores.
Tabela 18: Condições para melhoria do processo de gestão na adoção de práticas de Scrum
Fatores questionados:
Sem
importância
Pouco
relevante Relevante
Muito
relevante
“Adotaria se ...”:
não comprometer a produtividade 1,7% 10,0% 51,7% 36,7%
houver apoio da alta administração 1,7% 10,0% 30,0% 58,3%
levar a uma maior satisfação do
cliente/usuário 0,0% 6,7% 21,7% 71,7%
trouxer maior competitividade ao
mercado 3,3% 13,3% 33,3% 50,0%
trouxer maior credibilidade ao
mercado 3,3% 23,3% 35,0% 38,3%
83
Tabela 19: Condições para melhoria do processo de gestão na adoção de práticas do CMMI
Fatores questionados:
Sem
importância
Pouco
relevante Relevante
Muito
relevante
“Adotaria se ...”:
não comprometer a produtividade 3,3% 11,7% 53,3% 31,7%
houver apoio da alta administração
1,7% 6,7% 21,7% 70,0%
levar a uma maior satisfação do
cliente/usuário
1,7% 6,7% 30,0% 61,7%
trouxer maior competitividade ao
mercado
5,0% 15,0% 33,3% 46,7%
trouxer maior credibilidade ao
mercado
3,3% 10,0% 40,0% 46,7%
Avaliando-se os percentuais de relevância para cada uma das condições pesquisadas,
pode-se concluir que as empresas estão dispostas a aplicar práticas do Scrum e CMMI, desde
que não comprometam a produtividade dos seus times de desenvolvimento, aumentem a
credibilidade e competitividade no mercado, bem como a satisfação do cliente/usuário.
Observa-se também que o apoio da alta administração é fundamental neste processo.
Dentre outros fatores de grande relevância citados pelos respondentes para a aderência a
práticas de métodos ágeis ou CMMI incluem-se as seguintes condições: se aumentar a
qualidade do Processo e dos Produtos gerados; se aumentar a satisfação dos desenvolvedores;
se estiver condizente com a cultura da empresa.
4.5 Análise de práticas de estimativas, gestão de riscos e gerenciamento de
ações corretivas
As análises foram realizadas considerando as respostas à última parte da pesquisa a qual
incluía os seguintes questionamentos:
Como é feita a estimativa de esforço dos projetos? É usada alguma técnica
específica? Qual (Use Case Points, Story Points, Function Points, Wideband
Delphi, por exemplo)?
Qual a experiência da empresa em fazer gestão de riscos? É usado algum
procedimento/ferramenta para auxiliar nesta gestão? Segue algum modelo
(PMBOK ou CMMI)?
84
Qual a experiência da empresa em fazer a gestão de problemas e ações corretivas?
É usado algum procedimento/ferramenta para suportar esta gestão?
Apenas 56 empresas pesquisadas responderam às perguntas acima o que representa
76,7% da amostra total de empresas. Dentre as empresas que participaram ativamente destes 3
questionamentos, 7 não tem interesse em usar métodos ágeis, 19 aplicam métodos ágeis em
seus processos e 30 não usam métodos ágeis mas demonstraram interesse em usar. Ou seja,
87,5 % das empresas analisadas aplicam ou têm interesse em aplicar práticas de métodos
ágeis. Ver a seguir o resultado obtido.
4.5.1 Análise de Práticas de Estimativas
O percentual de distribuição dos métodos de estimativas citados pelas 56 empresas
corresponde a: 41% de empresas fazem uso do método Function Points, 17% usam o método
Use Case Points, 13% Wideband Delphi e 10% mencionam o método de Story Points. Das 9
empresas que usam práticas de Scrum em seus processos, 6 delas também usam o método
Story Points. Esta descoberta corrobora com a introdução da prática de estimativas por
complexidade na proposta de extensão do Scrum apresentada em (MARÇAL et al., 2007b).
4.5.2 Análise de Práticas para o Gerenciamento de Riscos
No que diz respeito à experiência na gestão de riscos, 23,2% responderam que tinham
pouca ou nenhuma experiência. Já com relação ao modelo usado como referência para a
gestão de riscos, 34% usam o PMBOK, como referência, 21% usam o CMMI, 24% não
referenciam nenhum modelo e 21% não fazem a gestão de riscos. Este resultado demonstra
que a maioria das empresas segue um método mais formal para a sua gestão de riscos baseado
no CMMI ou PMBOK.
4.5.3 Análise de Práticas para o Gerenciamento de Ações Corretivas
As respostas relacionadas com a gestão de ações corretivas apontam que 25 empresas
(45%) pesquisadas possuem pouca ou nenhuma experiência neste assunto. Entre as empresas
que fazem esta gestão muitas delas citam ferramentas diversas e procedimentos que apóiam
esta gestão, mas não citam nenhum modelo como referência. Apenas uma empresa respondeu
85
que usa a prática de restrospectiva, sugerida no Scrum para a análise e identificação de ações
corretivas.
4.6 Considerações finais
As contribuições desta investigação no que diz respeito ao interesse de empresas brasileiras na
melhoria dos processos de gestão são:
Identificação do perfil de empresas que estão aplicando ou têm interesse em
aplicar as práticas investigadas em seus processos de desenvolvimento de
software;
Mapeamento do interesse e aderência de processos de empresas brasileiras aos
níveis de maturidade do CMMI. Por meio deste mapeamento pôde-se comprovar
que a aderência a padrões mundiais de qualidade de software tem sido alvo de
interesse entre as empresas pesquisadas (mesmo as pequenas), para que se tornem
mais competitivas e ao mesmo tempo inspirem maior credibilidade ao mercado de
software;
Mapeamento do interesse e uso de práticas de métodos ágeis. O uso desta
abordagem híbrida já é realidade entre muitas empresas pesquisadas;
Caracterização de projetos que usam o Scrum. A caracterização ilustrada na Tabela
17 ajuda as empresas que pretendem usar métodos ágeis no desenvolvimento em
seus projetos a avaliarem se possuem características similares às empresas que
vêm usando esta abordagem para a gestão ágil de projetos;
Alinhamento às tendências de mercado com relação à definição de solução para
melhoria de processos baseadas no CMMI com a adoção de praticas ágeis. A
Tabela 18 e a Tabela 19 permitem verificar as condições nas quais empresas estão
dispostas a melhorar seus processos. De uma maneira geral, elas buscam a maior
satisfação do cliente/usuário, competitividade e flexibilidade nos processos,
estando dispostas a realizar melhorias sem comprometer a produtividade;
86
Mapeamento do uso de práticas de estimativas, gestão de riscos e gerenciamento
de ações corretivas. A partir deste mapeamento pôde-se identificar tendências mais
conservadoras para a gestão de estimativas, riscos e ações corretivas, sendo
necessário definir ou incorporar práticas ágeis mais adequadas ao fluxo de
desenvolvimento do Scrum.
Concluindo, os resultados da pesquisa mostram que a adoção de práticas ágeis em
processos de desenvolvimento de software é uma tendência tanto em empresas que possuem
processos aderentes ao CMMI quanto em empresas que desejam alcançar algum nível de
maturidade do modelo. Tal fato aponta uma demanda real para a definição de uma solução
híbrida para o gerenciamento de projetos que promova flexibilidade e agilidade combinada à
disciplina necessária para alcançar os níveis de maturidade do CMMI, como será apresentada
em detalhes no próximo capítulo.
87
5 Scrummi: Um processo de gestão baseado no Scrum e
aderente ao CMMI
Este capítulo é introduzido considerando-se a hipótese de que é possível definir uma
abordagem híbrida para gestão de projetos unindo-se princípios do Gerenciamento Ágil de
Projetos ao CMMI. O capítulo propõe e apresenta o Scrummi (MARÇAL et al., 2008c), um
processo de gestão ágil de projetos calcado nos valores, princípios e práticas do APM, sendo
baseado em extensões do método ágil Scrum a partir das áreas de processo de gerenciamento
de projeto do CMMI: Planejamento do Projeto (PP), Controle e Monitoramento do Projeto
(PMC), Gerenciamento Integrado de Projetos (IPM + IPPD) e Gerenciamento de Riscos
(RSKM).
É importante observar que as áreas de processo PP, PMC, IPM+IPPD e RSKM
compõem os níveis 2 e 3 de maturidade da representação por estágios do modelo CMMI,
versão 1.2, na categoria de Gerenciamento de Projetos como apresentado no Capítulo 2.
Foram excluídas do escopo do Scrummi Gerenciamento de Acordos com Fornecedores
(SAM) e Gerenciamento Quantitativo do Projeto (QPM), que estas áreas de processo nem
sempre são aplicadas a todas as organizações e têm uma importância menor dentro do
contexto de gestão de projetos ágeis.
5.1 Objetivos Específicos do Scrummi
O Scrummi visa apoiar o desenvolvimento de projetos com diferentes tecnologias e
diferentes categorias. Para tanto possui objetivos específicos que estão associados aos
princípios do Gerenciamento Ágil de Projetos como descritos na Tabela 20.
88
Tabela 20: Objetivos específicos do Scrummi
Objetivo Princípio do APM
Realizar a entrega de produtos que atendam aos
requisitos e agreguem valor ao negócio dos
clientes
Entregar valor ao cliente
Valor ao
Cliente
Promover a confiabilidade e a consistência
possíveis, dados o grau de incertezas e a
complexidade inerentes aos projetos
Desenvolver trabalho em sprints com entregas
de funcionalidades ao final de cada uma delas
Gerar entregas iterativas e
baseadas em
funcionalidades
Prover pontos de verificação ao longo do
projeto e incorporar aprendizados contínuos
Buscar excelência técnica
Aceitar as mudanças, enxergando-as como
desafios em um ambiente dinâmico
Encorajar a exploração
Gerenciamento
baseado na
liderança e
colaboração
Favorecer a cultura adaptativa da organização
Promover uma mudança comportamental no
estilo de gerenciamento do projeto
Construir equipes
adaptativas (auto-
organizadas e
autodisciplinadas)
Permitir a auto-organização e autodisciplina do
time
Aumentar o comprometimento e produtividade
do time do projeto
Incorporar práticas motivacionais e celebrações
do trabalho realizado
Prover uma estrutura simples e flexível que
possa ser facilmente navegável e adaptável
Simplificar
Disponibilizar artefatos simples e de fácil uso
com o mínimo de documentação necessária
para estar aderente ao CMMI
O Scrummi foi desenvolvido a partir da complementação da proposta de extensão do
Scrum inicialmente definida em (MARÇAL et al., 2007b), com o propósito de incorporar
soluções simples para as divergências e lacunas entre o Scrum e as áreas de processo PP,
PMC, IPM+IPPD e RSKM reportadas no Capítulo 3, dentre as quais se destacam:
Ausência de técnicas ou práticas alternativas para a realização das estimativas do
projeto, solucionada com a introdução de atividades para estimar complexidade
por Story Points suportada por artefatos e guias;
89
Lacunas no planejamento e gerenciamento do orçamento do projeto, em que a
solução está relacionada com atividades no processo para estimar e monitorar a
duração, esforço e custos do projeto de forma simplificada;
Ausência de um melhor gerenciamento dos riscos para o qual podemos introduzir
atividades e guias específicos relacionados com preparação, identificação e análise
de riscos e suas ações de mitigação, apoiada por uma lista de riscos com as
mínimas informações necessárias ao gerenciamento dos riscos;
Lacunas no gerenciamento de ações corretivas de problemas e dependências
supridas por meio da complementação da lista de impedimentos Scrum, com
adição de informações necessárias para fazer o gerenciamento de ações corretivas
até o seu fechamento;
Ausência de um planejamento e monitoramento dos dados do projeto, solucionada
com a extensão do Backlog do Produto, transformando-o no Backlog do Projeto
que, além de requisitos funcionais, contemplará requisitos ambientais do projeto,
relacionados com a gestão dos dados, infra-estrutura e capacitações;
Lacunas no gerenciamento integrado do projeto devido à ausência de um processo
integrado e definido que é adaptado a partir do conjunto de processos padrão da
organização, preenchida pelo estabelecimento da abordagem de execução do
projeto o qual inclui a definição de um processo adaptado para o projeto baseado
no processo organizacional, bem como a criação de artefato simples para a base
histórica de projetos que deverá ser atualizado e consultado ao longo da execução
do projeto.
Assim como na investigação de aderência do Scrum ao CMMI, apresentada
anteriormente neste trabalho, o Scrummi foi desenvolvido visando satisfazer as práticas
específicas das áreas de processo de gestão de projetos do CMMI, já que as mesmas são muito
importantes dentro do contexto da avaliação do modelo. Não se pretende, entretanto perder o
enfoque ágil, buscando-se ao máximo combinar a agilidade e a disciplina da melhor forma
possível.
90
5.2 Formato e Apresentação
O Scrummi foi construído usando o Eclipse Process Framework (EPF) Composer
versão 1.2. O EPF Composer é uma plataforma para engenheiros de processos, líderes e
gerentes de projetos e programas que são responsáveis por manter e implementar processos
para organizações ou projetos individuais (HAUMER, 2007). O EPF Composer permite que
sejam criados conteúdo e estrutura de forma específica e navegável por utilizar um esquema
predefinido. Este esquema é uma evolução do Software Process Engineering Meta-model
(SPEM) 2.0 definido pela Object Management Group (OMG) e auxilia na organização da
grande quantidade de dados utilizada no desenvolvimento de métodos e processos (OMG,
2007).
A escolha do uso do EPF Composer para a construção e modelagem do Scrummi deve-
se à grande capacidade oferecida pela ferramenta para a criação de processos com uma
estrutura simples e flexível que possa ser facilmente navegável e adaptável. Ele é, portanto
bastante adequado ao contexto e aos propósitos considerados na definição do processo de
gestão ágil deste trabalho.
O Scrummi possui uma apresentação publicada em formato HTML (Figura 17) de
acordo com os padrões do EPF Composer e está disponível para ser acessado no site
http://www.scrummi.com.br.
Figura 17: Versão do Scrummi publicada a partir do EPF Composer
91
Cada atividade do Scrummi foi definida a partir de um conjunto de informações como
apresentado na Tabela 21 adaptada a partir do padrão para especificação de processos do
SPEM 2.0, usado no EPF Composer.
Tabela 21: Tabela resumo das atividades do Scrummi
Objetivo:
<finalidade da atividade>
Papéis Principais:
<responsáveis principais pela execução da
atividade>
Papéis Adicionais:
<responsáveis adicionais pela execução da
atividade. Auxiliam o papel principal>
Entrada:
<artefatos de entrada para a atividade>
Saída:
<artefatos atualizados/gerados após a realização da
atividade>
Passos:
<passos para executar a atividade>
Orientações:
<guias e fontes para auxiliar na execução da tarefa>
5.3 Visão Geral
O Scrummi é um processo de gestão simples e completo, que pode ser estendido e
adaptado para atender a uma grande variedade de projetos. O Scrummi compreende a
definição de papéis, artefatos e atividades para a gestão ágil de projetos, organizadas numa
primeira dimensão de acordo com as 5 fases do framework do Gerenciamento Ágil de
Projetos definidas no Capítulo 2: Visão, Especulação, Exploração, Adaptação e Encerramento
como mostrado na Figura 18.
Após a fase de Visão, realizada no início do projeto, as fases Especulação, Exploração e
Adaptação são executadas nas sprints, com o objetivo de refinar o produto/sistema do projeto.
No início de cada sprint, a fase de Especulação é re-executada com objetivo rever o
planejamento macro do projeto e de planejar a nova sprint, considerando-se os resultados
alcançados e as alterações de escopo solicitadas. O retorno à fase de Visão pode ocorrer, em
algums momentos especiais, como por exemplo, quando são identificadas mudanças muito
significativas no escopo, visão ou objetivo do projeto. Uma vez obtido o produto final, a fase
de Encerramento é realizada.
92
Figura 18: Framework de atividades do Scrummi
A Tabela 22 mostra a relação de todas as atividades do Scrummi que serão descritas em
detalhes ao longo deste capítulo.
Tabela 22: Atividades do Scrummi por fase
Fase Atividade
Visão
Estabelecer Visão Geral do Projeto
Criar Backlog do Projeto
Estabelecer Comunidade e Plano de Comunicações
Definir Abordagem de Execução do Projeto
Especulação
Iniciar Projeto
Planejar Projeto
Atualizar Backlog do Projeto
Estimar Backlog do Projeto
Estimar Duração, Esforço e Custos do Projeto
Planejar Entregas e Marcos do Projeto
Planejar Sprint
Definir Objetivo e Escopo da Sprint (Reunião de Planejamento -
Parte 1)
Construir Backlog da Sprint (Reunião de Planejamento - Parte 2)
Identificar e Analisar Riscos
Exploração
Monitorar a Sprint
Atualizar Backlog da Sprint
Realizar Reunião de Acompanhamento
Remover Impedimentos
Gerenciar Compromissos
Gerenciar Envolvimento dos Stakeholders
93
Fase Atividade
Coletar Mudanças
Monitorar Riscos
Desenvolver Time
Adaptação
Realizar Revisão da Sprint
Realizar Retrospectiva da Sprint
Monitorar Projeto
Monitorar Estimativas e Custos
Monitorar Backlog do Projeto
Reportar Progresso do Projeto
Atualizar Base Histórica de Projetos
Encerramento
Obter Aceite Final do Projeto
Concluir Projeto
Liberar Time e Infra-estrutura do Projeto
5.4 Ciclo de Vida
O ciclo de vida do projeto proposto no Scrummi e apresentado na Figura 19 é
estruturado em 4 etapas: Definição, Preparação, Desenvolvimento e Entrega. Estas etapas são
realizadas ao longo da execução do projeto e têm propósitos e marcos bem específicos como
descritos na Tabela 23.
Figura 19: Ciclo de Vida proposto pelo Scrummi
A partir da etapa Preparação, o ciclo de vida no Scrummi deve ser realizado de forma
incremental e iterativa, com sprints de no máximo 5 semanas. A duração da sprint 0 pode ser
diferente das demais sprints da etapa de Desenvolvimento e Entrega. Sugere-se, entretanto,
estabelecer uma uniformidade na duração das sprints por etapa, podendo-se variar de uma
etapa para a outra.
94
Tabela 23: Etapas do Ciclo de vida do Scrummi
Etapa Objetivo Marco
Definição
Visa estabelecer a visão do projeto e
expectativas garantindo recursos para a sua
execução. Nesta fase são criadas as versões
iniciais do Plano do Projeto e Backlog do
Projeto
Projeto Definido
Preparação
São avaliadas as várias dimensões e
complexidades do projeto criando requsitos
adicionais ao Backlog do
Projeto relacionados com o tipo do sistema,
time, ambiente de desenvolvimento, tipo de
aplicação. Nesta fase é executada a Sprint 0
do projeto com atividades de planejamento,
estruturação do ambiente de trabalho e do
time
Planejamento macro
e time alocado
Desenvolvimento
Consiste na realização de
múltiplas sprints para o desenvolvimento e
entrega dos incrementos de funcionalidade
do produto
Funcionalidades
implementadas
Entrega
Corresponde a finalização das atividades do
projeto, realização de entrega do produto ao
cliente, a transferência dos aprendizados-
chave e celebração
Entrega do produto
final e fechamento do
projeto
A Tabela 24 mostra a estrutura de decomposição do trabalho do Scrummi relacionado
suas atividades entre as fases do Gerenciamento Ágil de Projetos e etapas do ciclo de vida do
projeto.
Tabela 24: Estrutura de decomposição do trabalho do Scrummi
Etapa Atividade Fase
Definição Estabelecer Visão Geral do Projeto Visão
Criar Backlog do Projeto Visão
Planejar Projeto Especulação
Estimar Backlog do Projeto Especulação
Estimar Duração, Esforço e Custos do Projeto Especulação
Planejar Entregas e Marcos do Projeto Especulação
Sprint 0
Preparação
Iniciar Projeto Especulação
Estabelecer Comunidade e Plano de Comunicações Visão
Definir Abordagem de Execução do Projeto Visão
Planejar Projeto Especulação
Atualizar Backlog do Projeto Especulação
Estimar Backlog do Projeto Especulação
Estimar Duração, Esforço e Custos do Projeto Especulação
Planejar Entregas e Marcos do Projeto Especulação
Identificar e Analisar Riscos Especulação
95
Sprints (1..n)
Desenvolvimento
Planejar Projeto
Atualizar Backlog do Projeto Especulação
Estimar Backlog do Projeto Especulação
Planejar Sprint Especulação
Identificar e Analisar Riscos
Especulação
Monitorar a Sprint Exploração
Desenvolver Time Exploração
Realizar Revisão da Sprint Adaptação
Realizar Retrospectiva da Sprint Adaptação
Monitorar Projeto Adaptação
Atualizar Base Histórica de Projetos Adaptação
Sprint (n+1)
Entrega Planejar Sprint Especulação
Identificar e Analisar Riscos Especulação
Monitorar a Sprint Exploração
Desenvolver Time Exploração
Realizar Revisão da Sprint Adaptação
Realizar Retrospectiva da Sprint Adaptação
Monitorar Projeto Adaptação
Atualizar Base Histórica de Projetos Adaptação
Obter Aceite Final do Projeto Encerramento
Concluir Projeto Encerramento
Liberar Time e Infra-estrutura do Projeto Encerramento
5.5 Papéis
O Scrummi define cinco papéis principais que foram identificados e estendidos a partir
do Scrum, conforme descritos a seguir.
5.5.1 Gerente do Produto
Representante do cliente que é responsável por gerenciar o escopo do produto/sistema
de acordo com as necessidades dos stakeholders do projeto e priorizar entregas de
funcionalidades com maior valor agregado.
Este papel corresponde ao papel Product Owner definido no Scrum e tem como
principais responsabilidades:
Definir o produto e/ou sistema criando as características iniciais e gerais que serão
desenvolvidas em termos de: funcionalidade - identificação de todos os
requisitos do produto como itens de backlog; prioridade - definição da ordem na
96
qual as funcionalidades devem ser desenvolvidas, de acordo com o valor agregado
para os usuários do produto/sistema; e objetivos - definição dos
objetivos das entregas e toma decisões baseadas no planejamento das entregas;
Aceitar os resultados dos trabalhos realizados entregues ao final das sprints.
5.5.2 Gerente do Projeto
Lidera o planejamento e gerencia o projeto. Coordena as sprints com os stakeholders,
mantendo o time focado no alcance dos objetivos do projeto, sendo também o responsável por
orientar as atividades do time. O Gerente do Projeto no Scrummi é um líder e facilitador,
correspondendo a uma extensão do papel do ScrumMaster, que acumula responsabilidades
adicionais às do ScrumMaster tais como: a gestão de riscos e custos do projeto.
O Gerente do Projeto no Scrummi é responsável por:
Garantir o planejamento e execução do projeto visando a entrega de valor
agregado ao cliente e a apresentação de resultados ao longo de todo o projeto;
Formar o time do projeto e orientá-lo para a condução de um bom resultado do
projeto alinhado aos objetivos do cliente;
Motivar o time promovendo seu desenvolvimento e aumento de produtividade;
Promover uma grande cooperação entre os diversos papéis e funções do time,
removendo barreiras entre eles;
Isolar o time de interferências externas garantindo foco no alcance dos objetivos
do projeto;
Avaliar e controlar os riscos do projeto usando-se estratégias de mitigação;
Gerenciar os custos do projeto, garantindo que o projeto seja realizado dentro do
orçamento estabelecido;
97
Aplicar conhecimento, habilidades, competências e técnicas de gerenciamento de
projetos visando entregar o resultado desejado para o projeto dentro dos
parâmetros de tempo, custo e escopo esperados;
Fazer a interface entre o cliente e equipe do projeto, garantindo alinhamento entre
os objetivos e escopo do projeto.
5.5.3 Gerente Sênior de Projetos
Este papel foi criado no Scrummi, para representar a gerência sênior dos projetos, sendo
responsável por:
Prover os recursos organizacionais necessários para a execução dos projetos na
organização;
Realizar o acompanhamento do progresso do projeto.
5.5.4 Time do Projeto
Assim como no Scrum, o Time do Projeto é composto por participantes que executam
todas as atividades necessárias para a execução do projeto, colaborando coletivamente com
todo trabalho a ser realizado. O time do projeto é responsável por:
Desenvolver as funcionalidades do produto/sistema, definindo como transformar
os itens do Backlog do Projeto em incremento de funcionalidade numa sprint;
Definir o escopo do trabalho a ser realizado para atingir o objetivo da sprint;
Gerenciar seu próprio trabalho sendo responsável pelo sucesso da sprint e
conseqüentemente pelo projeto como um todo;
Organizar-se e planejar suas próprias tarefas sem interferência externa.
O Time do Projeto deve ser multi-funcional, contendo todos os perfis necessários para a
construção dos itens de backlog do projeto. As tarefas executadas pelo time incluem, mas não
estão limitadas a: planejamento da sprint, especificação de requisitos, análise e projeto de
98
funcionalidades, codificação e testes, implantação, garantia da qualidade e gerência de
configuração.
5.5.5 Stakeholders
Este papel representa o grupo de pessoas interessadas no desenvolvimento do projeto e
pode ser exercido por qualquer pessoa que é ou será potencialmente afetado pelos resultados
do projeto, incluindo patrocinadores e usuários do sistema/produto. Os stakeholders do
projeto representam o time do cliente que influencia o andamento do projeto por meio da
definição de novos requisitos e não participa do desenvolvimento do projeto.
5.6 Artefatos
No Scrummi foram definidos nove artefatos principais que serão usados como entrada e
saída nas atividades do processo, representando assim a documentação mínima e necessária
para a gestão ágil do projeto aderente às práticas do CMMI. Alguns destes artefatos
correspondem a extensões e adaptações a artefatos do Scrum, como será descrito a seguir.
5.6.1 Plano do Projeto
O Plano do Projeto inclui as informações que compõem o planejamento macro do
projeto, sendo composto pelos seguintes subartefatos:
Visão Geral do Projeto: sentença geral para a visão do produto/sistema,
objetivos, benefícios, premissas e considerações gerais, restrições de escopo x
prazo x custo, arquitetura do produto, riscos preliminares e critérios de
aceitação (sprint e projeto);
Comunidade do projeto: time do projeto com suas interfaces e estratégia de
auto-organização englobando definições para as seguintes perguntas: 1. Papéis
e Responsabilidades: Quem é responsável pela execução de quais atividades?
(requisitos, análise e projeto, codificação, testes, implantação, garantia da
qualidade, gerência de configuração); 2. Quem precisa conversar com quem e
quando? 3. Quem será responsável e como serão realizadas as tomadas de
99
decisão?; 4. Como será realizado o escalonamento de problemas e conflitos
não resolvidos pelo time?; 5. Que práticas serão usadas para facilitar a
comunicação e colaboração do time? (por exemplo, uso de brainstorms e
quadros brancos para a definição do projeto do sistema, uso de quadro para o
monitoramento das atividades do projeto, uso de ferramentas de mensagens
instantâneas, uso de conferências on-line, uso de postits para a identificação de
lições aprendidas, listas de e-mails, etc);
Plano de Comunicação e Colaboração do Projeto incluindo minimamente: a
lista de reuniões planejadas para o projeto, sua freqüência, duração e grau de
participação/colaboração entre os participantes do projeto; a lista de
informações que devem ser coletadas e divulgadas sobre o planejamento e
execução do projeto;
Abordagem de execução do projeto a qual descreve o ciclo de vida bem
como as adaptações e o processo definido para o projeto.
O template do Plano do Projeto proposto no Scrummi pode ser visto no APÊNDICE I.
5.6.2 Backlog do Projeto
O Backlog do Projeto é uma extensão do Product Backlog do Scrum. Representa a
WBS de mais alto vel do projeto e contém além dos requisitos do produto, solicitações de
mudanças de requisitos e requisitos ambientais do projeto. A Figura 20 mostra algumas
informações do Backlog do Projeto, cujo template detalhado é apresentado no APÊNDICE II.
Figura 20: Backlog do Projeto
100
Os requisitos do produto podem ser:
Requisitos funcionais: corresponde às funcionalidades do produto ou sistema
que está sendo desenvolvido;
Requisitos não funcionais: corresponde aos aspectos operacionais que devem
ser demonstrados pelo sistema tais como performance, segurança das
informações e dados, confiabilidade, usabilidade, entre outros.
Os requisitos ambientais do projeto foram adicionados ao Backlog do Projeto no
Scrummi de forma a prover um mecanismo simples que auxilie na gestão de dados,
planejamento da infra-estrutura e treinamentos necessários para a execução do projeto. Eles
correspondem às capacidades e recursos necessários para que o produto seja desenvolvido e
entregue pelo time do projeto. Isso inclui:
Capacitações e treinamentos para o time;
Recursos necessários para estabelecer o ambiente físico e desenvolvimento do
projeto (ferramentas, equipamentos, materiais e componentes);
Privacidade e segurança dos dados do projeto;
Adicionalmente o Backlog do Projeto dispõe de informações para:
Realizar o monitoramento do projeto incluindo os gráficos de consumo do
Backlog do Projeto, como mostra a Figura 21;
Realizar e acompanhar as estimativas e custos do projeto;
Definir e acompanhar o plano de entregas e marcos do projeto;
-200
0
200
400
600
800
1000
1200
0 1 2 3 4 5 6 a definir
Gráfico de Consumo do Projeto
Story Points
Story Points Acumulado
0
10000
20000
30000
40000
50000
60000
70000
a
definir
Gráfico de Consumo do Projeto (Valor de Negócio)
VN (Valor de Negócio)
VN acumulado
Figura 21: Gráficos de Consumo do Backlog do Projeto do Scrummi
101
5.6.3 Backlog da Sprint
O Backlog da Sprint, assim como no Scrum, contém as informações necessárias para o
planejamento e monitoramento da sprint, incluindo a lista de atividades que devem ser
realizadas pelo time do projeto visando a construção dos itens de backlog selecionados no
escopo da sprint. O Backlog da Sprint do Scrummi inclui também o gráfico de consumo da
sprint ilustrado na Figura 22.
O template do Backlog da Sprint pode ser visto no APÊNDICE III.
25/8 26/8 27/8 28/8 29/8 1/9 2/9 3/9 4/9 5/9 8/9 9/9 10/9 11/9 12/9
D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15
Realizado
1029 933,5 879,5 827 773,5 726,5 641 604 559,5 497 462 380 319,5 245,5 200 142
0
200
400
600
800
1000
1200
Gráfico d e Consumo de Horas da Sprint
Figura 22: Gráfico de consumo do backlog da sprint do Scrummi
5.6.4 Lista de Riscos do Projeto
A lista de riscos do Scrummi contém as informações necessárias para a identificação,
análise e gerenciamento dos riscos e suas ações de mitigação. Seu template pode ser visto no
APÊNDICE IV.
5.6.5 Lista de Impedimentos do Projeto
A lista de impedimentos do Scrummi contém as informações necessárias para
gerenciamento dos problemas e dependências do projeto e de suas ações corretivas garantindo
acompanhamento até o seu fechamento. O template detalhado da lista de impedimentos pode
ser visto no APÊNDICE V.
102
5.6.6 Base Histórica de Projetos
A base histórica de projetos reúne informações relevantes e consolidadas sobre os
projetos realizados na empresa auxiliando no planejamento do projeto e das sprints. A base
histórica contém as seguintes informações, mas pode ser estendida de acordo com as
necessidades da empresa:
Dados Consolidados dos Projetos: nome do projeto, nome do cliente, Gerente
do Projeto, período (datas de início e término), número de sprints, duração das
sprints (em semanas), total de horas do projeto, custo do projeto, estabilidade dos
requisitos, grau de envolvimento do cliente e principais riscos ocorridos no projeto
com suas ações de mitigação, tamanho do time do projeto, velocidade média do
time do projeto (story points/sprint), produtividade (horas/story points) carga
horária média semanal do time do projeto e experiência do time.
Dados de Execução de Sprints de Projetos: nome do projeto, número da
sprint, período (data de início e término), duração em semanas, tamanho do time,
carga horária semanal do time, total de horas da sprint, velocidade, produtividade e
experiência do time.
O template para a base histórica de projetos proposto no Scrummi pode ser visto no
APÊNDICE VI.
5.6.7 Ata de Reunião de Planejamento da Sprint
A ata de reunião de planejamento da sprint contém informações que facilitam a
condução da reunião bem como o registro dos objetivos e escopo definidos para a sprint. O
seu template pode ser visto no APÊNDICE VII.
5.6.8 Ata de Reunião de Revisão da Sprint
A ata de reunião de revisão da sprint contém informações simples que facilitam a
condução da reunião de revisão bem como o registro de informações relevantes sobre os
resultados e impressões alcançados no final da sprint. O template proposto no Scrummi pode
ser visto no APÊNDICE VIII.
103
5.6.9 Ata de Reunião de Retrospectiva da Sprint
A ata de reunião de retrospectiva da sprint contém informações para o registro da
reunião de restrospectiva ocorrida ao final de cada sprint como mostra o template apresentado
no APÊNDICE IX.
Nas próximas cinco seções cada uma das fases e atividades do Scrummi serão descritas.
Cada seção compartilha uma estrutura quase semelhante. No começo da definição de uma
fase, uma figura contendo o seu fluxo de atividades geral é apresentada. Nas sub-seções
seguintes cada atividade deste fluxo é descrita, contendo ou não passos, dependendo da sua
granularidade. Para cada atividade, foi definida uma tabela com suas principais informações
como apresentado na Tabela 21.
5.7 Atividades da Fase Visão
A fase Visão tem como objetivo principal determinar a visão geral do produto/sistema
que estará sendo desenvolvido ao longo do projeto para em seguida definir o escopo inicial do
produto e projeto, a comunidade do projeto (gerente do produto, gerente do projeto, time e
stakeholders). Nesta fase ainda é estabelecida a abordagem de execução do projeto e como o
time irá trabalhar conjuntamente. A Figura 23 apresenta as 4 atividades as quais serão
descritas nas próximas subseções.
Figura 23: Fluxo de atividades da fase Visão
104
5.7.1 Estabelecer Visão Geral do Projeto
Esta atividade visa definir a visão geral do projeto com as informações necessárias para
se entender e justificar o projeto na organização estabelecendo o primeiro nível do
planejamento do projeto. A atividade é realizada primariamente pelo Gerente do Produto
como mostra a Tabela 25, seguindo um conjunto de passos descritos abaixo.
Tabela 25: Atividade Estabelecer Visão Geral do Projeto
Objetivo:
Descrever a visão geral do projeto a ser desenvolvido em detalhes suficientes para que o projeto seja
entendido, comunicado e justificado
Papéis Principais:
Gerente do Produto
Papéis Adicionais
:
Gerente do Projeto
Stakeholders
Time do Projeto
Entrada:
Não se aplica
Saída:
Plano do Projeto
Visão Geral do Projeto
Passos:
Definir visão do produto ou sistema
Definir objetivos, benefícios e premissas do projeto
Estabelecer os níveis de restrição do escopo, prazo e custos
Definir arquitetura do produto
Identificar riscos preliminares
Orientações:
Não se aplica
Passo 1: Definir visão do produto ou sistema
A visão pode ser definida usando-se uma sentença geral que sumarize em alto nível:
público alvo, necessidade, benefícios e vantagens competitivas.
Passo 2: Definir objetivos, benefícios e premissas do projeto
Os objetivos do projeto podem ser descritos por uma pequena sentença (25 palavras ou
menos) a qual inclui informações importantes a cerca do escopo, prazo e custos para o
desenvolvimento do projeto (HIGHSMITH, 2004), como por exemplo:
"O objetivo do projeto é desenvolver um sistema web para Controle do Relacionamento
do Cliente incluindo funcionalidades para rastreamento de vendas, gerenciamento de
pedidos, gerenciamento de vendas e marketing. O sistema precisa estar implantado em 6
meses e deve ter custo de até x reais".
105
Recomenda-se que, para descrever os benefícios do projeto, devem-se ressaltar os
benefícios tangíveis e intangíveis produto/sistema que estará sendo desenvolvido, como por
exemplo: prover melhor serviço aos usuários do sistema, reduzir custos, melhorar a atividade
e produtividade dos clientes, etc. Em relação às restrições, é importante descrever
regulamentações ambientais, leis, imposições contratuais, infra-estrutura, recursos, tecnologia,
entre outros, que podem impactar no desenvolvimento e implantação do produto/sistema.
Passo 3: Estabelecer os níveis de restrição do escopo, prazo e custos
Todo projeto tem três dimensões principais (escopo, prazo e custo), cada uma das quais
com limites que podem ou não ser ultrapassados com o progresso do projeto (CHIN, 2004).
Idealmente o projeto deve ser completado de acordo com o planejamento original, entretanto
isso é muito difícil de acontecer. Portanto, é importante estabelecer os níveis de restrição para
escopo, prazo e custo aceitáveis para a execução do projeto. Estas restrições devem ser
consideradas para definir a prioridade relativa entre estas três dimensões, contribuindo para
tomadas de decisões quando existirem objetivos conflitantes durante a execução do projeto,
bem como para administrar as mudanças que ocorrem ao longo do projeto.
A Matriz de Tradeoff, conforme definida em (HIGHSMITH, 2004), é um mecanismo
usado para estabelecer a prioridade relativa entre o escopo, prazo e custos do projeto, a qual
define três níveis de restrições:
Fixo: NÃO permite mudanças significativas do planejamento original;
Limitado: mudanças do plano original são permitidas, mas com limites;
Flexível: mudanças podem ser realizadas sempre que necessário.
Passo 4: Definir arquitetura do produto
Defina os componentes arquiteturais que são essenciais para o desenvolvimento do
produto, incluindo entre outros elementos, a descrição da plataforma tecnológica de
desenvolvimento, componentes de software a serem usados e interfaces com outros sistemas.
Passo 5: Identificar riscos preliminares
Inicie a identificação dos riscos preliminares do projeto, relacionando fatores que
podem impactar negativamente ou positivamente o projeto. Para auxiliar a tarefa de
106
identificação de riscos, consulte as categorias e fontes de riscos definidas no Guia de Riscos
que é apresentado no Apendice XII.
5.7.2 Criar Backlog do Projeto
O Gerente do Produto deve elaborar a primeira lista de requisitos a ser desenvolvido no
projeto registrando-a como itens do Backlog do Projeto. A Tabela 26 apresenta uma visão
geral da atividade “Criar Backlog do Projeto”.
Tabela 26: Atividade Criar Backlog do Projeto
Objetivo:
Coletar informações a respeito do escopo do sistema ou produto a ser desenvolvido de tal forma que
seja possível definir um backlog inicial para o projeto.
Papéis Principais:
Gerente do Produto
Papéis Adicionais
:
Gerente do Projeto
Stakeholders
Time do Projeto
Entrada:
Visão Geral do Projeto
Base Histórica de Projetos (opcional)
Saída:
Backlog do Projeto
Passos:
Coletar itens de backlog
Atribuir valor de negócio para os itens de backlog
Orientações:
Não se aplica
O levantamento de requisitos do produto (funcional e não funcional) para a elaboração
do backlog inicial do projeto pode ser feito por meio de seções de brainstorms com os
stakeholders do projeto e por meio da consulta à Visão Geral do Projeto descrita no Plano do
Projeto. Atentar para o fato de que o backlog inicial do projeto deve ter um número suficiente
de requisitos que permita o planejamento de pelo menos 2 ou 3 sprints. Entretanto, no caso
de contratos de escopo fechado, recomenda-se investir mais tempo nesta atividade e construir
um backlog de produto completo, com todos os requisitos de sistema identificados.
Uma vez definido o backlog inicial é importante que o Gerente do Produto identifique
quais requisitos do produto são mais relevantes para o seu negócio, estabelecendo uma
prioridade inicial para os mesmos. A relevância pode ser definida pela atribuição de valor de
negócio aos itens de Backlog do Projeto considerando uma escala pré-definida, como por
exemplo: escala de 0 a 1000, com intervalos de 100 (i.e. 0, 100, 200, ..., 1000). O item com
pontuação 1000 corresponde ao item mais relevante do projeto. Um item pode ter o mesmo
107
valor de negócio que outro item, significando que eles têm o mesmo valor de relevância para
o desenvolvimento do projeto.
5.7.3 Estabelecer Comunidade e Plano de Comunicações
Esta atividade tem como objetivo estabelecer a comunidade do projeto, seus papéis,
responsabilidades, assim como a mesma irá interagir e se comunicar. A Tabela 27 apresenta
um resumo da atividade.
Tabela 27: Atividade Estabelecer Comunidade e Plano de Comunicações
Objetivos:
Selecionar o time e identificar todos os stakeholders do projeto estabelecendo também as
interfaces e plano de comunicação entre eles.
Papéis Principais:
Gerente Sênior de Projetos
Papéis Adicionais
:
Gerente do Projeto
Entrada:
Backlog do Projeto
Visão Geral do Projeto
Saída:
Comunidade do Projeto
Plano de Comunicação e Colaboração do Projeto
Passos:
Alocar time
Identificar stakeholders do projeto
Definir plano de comunicação e colaboração
Orientações:
Não se aplica
O Gerente Sênior de Projetos deve garantir, com o apoio do Gerente de Projetos, a
alocação de profissionais (disponíveis na organização) com o melhor perfil e competências
técnicas, de negócios e comportamental para a realização do projeto. Na alocação do time é
importante criar ou desenvolver equipes com autodisciplina além de definir os papéis e
responsabilidades para cada participante do projeto no Plano do Projeto.
O Time do Projeto (perfil e tamanho) pode variar ao longo do projeto, de acordo com o
ciclo de vida definido para o projeto. Em casos de times com mais de 10 participantes sugere-
se a divisão em times menores e o estabelecimento de uma infra-estrutura de comunicação
eficiente entre eles. Neste caso, sugere-se a alocação de apenas 1 time para executar as
primeiras sprints do projeto para estabelecimento do ambiente de desenvolvimento e
definição da arquitetura. A alocação dos demais times deve ser feita após a conclusão das
primeiras sprints quando a arquitetura e ambiente de trabalho estão estabelecidos,
minimizando riscos e custos para o projeto.
108
O plano de comunicação e colaboração do projeto deve conter informações sobre:
Reuniões: os tipos de reuniões que serão realizadas durante a execução do
projeto e suas características (objetivos, periodicidade, duração) bem como os
participantes e seu grau de colaboração nas reuniões. O Scrummi possui
algumas reuniões pré-definidas, oriundas do Scrum as quais podem ser vistas
no template do Plano do Projeto;
Dados do projeto: informações que devem ser coletadas e divulgadas sobre o
planejamento e execução do projeto. Minimamente descreva como será
realizada a reportagem individual do progresso do projeto pelo time do projeto
bem como será realizada a reportagem do progresso do projeto como um todo
para gerência sênior. Adicionalmente, a gestão dos dados pode ser
complementada pelo plano de gerência de configuração e mudanças do projeto
que segue templates e padrões da organização;
Estratégia de auto-organização do time: a estratégia de auto-organização
define a abordagem do time para se comunicar, colaborar, tomar decisões,
entre outras coisas. Descreva em conjunto com o time como será a estratégia
planejada para a sua auto-organização. A estratégia pode ser revista e refinada
ao longo da execução do projeto.
5.7.4 Definir Abordagem de Execução do Projeto
Esta atividade tem como objetivos definir o ciclo de vida do projeto bem como realizar
as adaptações necessárias no processo organizacional de engenharia de software e gestão que
será usado no desenvolvimento do projeto. O resumo da atividade pode ser visto na Tabela
28.
Tabela 28: Atividade Definir Abordagem de Execução do Projeto
Objetivos:
Definir o ciclo de vida do projeto
Definir o processo que será usado no desenvolvimento do projeto.
Papéis Principais:
Gerente do Projeto
Papéis Adicionais
:
Time do Projeto
Entrada:
Backlog do Projeto
Visão Geral do Projeto
Base Histórica de Projetos (opcional)
Saída:
Plano do Projeto - Abordagem de Execução do
Projeto
109
Passos:
Definir o ciclo de vida do projeto
Adaptar o processo para o projeto
Orientações:
Não se aplica
Os passos da atividade Definir abordagem de execução do projeto” são detalhados a
seguir.
Passo 1: Definir o ciclo de vida do projeto
O Scrummi define um ciclo de vida iterativo e organizado em 4 etapas como
apresentado anteriormente na Figura 19. Avalie as etapas do ciclo de vida do Scrummi, e
defina de acordo com a necessidade/característica do seu projeto, o ciclo de vida apropriado
para a execução do projeto. Documente o ciclo de vida e suas etapas no Plano do Projeto.
Passo 2: Adaptar o processo para o projeto
O Scrummi define um processo padrão para a gestão ágil de projetos que pode ser
facilmente adaptado de acordo com as características e necessidades do projeto. Reuniões,
atividades, templates e papéis são exemplos de ativos do Scrummi que podem ser facilmente
adaptados. Adicionalmente, é importante complementar a adaptação do Scrummi com as
adaptações e definições para o processo do projeto que cobrem as demais disciplinas de
engenharia de software necessárias ao completo desenvolvimento do produto/sistema. Para
isto, descreva ou referencie que processo de desenvolvimento será usado, como por exemplo:
o XP, OpenUP, processo padrão da organização, e liste as adaptações necessárias. No caso de
usar os processos organizacionais, as adaptações devem ser feitas de acordo com os guias para
adaptações e orientações para adaptação do processo a partir do conjunto de processos
organizacionais da empresa.
5.8 Atividades da Fase Especulação
A fase Especulação compreende o desenvolvimento de um plano inicial do projeto
seguido por planejamentos individuais a cada sprint. O planejamento deve ser baseado em
entregas de funcionalidades do produto com marcos definidos, identificação de riscos e suas
ações de mitigação. Esta fase, ilustrada na Figura 24, é composta por 2 macro-atividades e 2
atividades as quais serão descritas a seguir.
110
Figura 24: Fluxo de atividades da fase Especulação
5.8.1 Iniciar Projeto
Esta atividade visa comunicar o início do projeto, apresentar a comunidade do projeto,
seus participantes, bem como o plano de colaboração e comunicações definido para o projeto
a fim de esclarecer os compromissos e responsabilidades assumidos. A atividade é executada
primariamente pelo Gerente do Projeto como mostra a Tabela 29.
Tabela 29: Atividade Iniciar Projeto
Objetivo:
Comunicar o início do projeto e promover o entendimento do projeto que será desenvolvido entre
todos os participantes do projeto
Papéis Principais:
Gerente do Projeto
Papéis Adicionais
:
Gerente Sênior de Projetos
Gerente do Produto
Stakeholders
Time do Projeto
Entrada:
Plano do Projeto
Backlog do Projeto
Saída:
Não se aplica
Passos:
Realizar reunião de início do projeto
Realizar workshop de iniciação do projeto
Orientações:
Não se aplica
111
A reunião de início do projeto deve ser conduzida pelo Gerente Sênior de Projetos com
a participação de todos os stakeholders, Gerente de Projeto, Gerente do Produto e alguns
participantes do time do projeto. Tem como objetivo comunicar o início do projeto, apresentar
os envolvidos, bem como a Visão Geral do Projeto. Esta reunião representa o marco de início
do projeto.
Após a reunião, realiza-se o workshop de iniciação do projeto o qual tem por objetivo
promover o entendimento mais aprofundado do projeto que será desenvolvido entre todos os
participantes do projeto. Deverá ser conduzido pelo Gerente do Projeto com o apoio do
Gerente do Produto que deverá apresentar ao time a Visão Geral do Projeto e o Backlog do
Projeto em detalhes suficientes para que o time entenda bem os objetivos e escopo do projeto.
Se o time nunca usou práticas de gestão ágil de projetos anteriormente, o Gerente do Projeto
deverá preparar e conduzir uma sessão específica para apresentar os princípios, práticas e
fluxo de desenvolvimento do Scrummi e Gerenciamento Ágil de Projetos.
5.8.2 Planejar projeto
Esta macro-atividade tem por objetivo estabelecer o segundo nível do planejamento do
projeto sendo composto pelas atividades: “Atualizar Backlog do Projeto”, “Estimar Backlog
do Projeto”, “Estimar duração, esforço e custos do projeto” e “Planejar entregas e marcos do
projeto”. A Figura 25 mostra o relacionamento entre as atividades de “Planejar Projeto”, as
quais serão descritas a seguir.
Figura 25: Macro-atividade Planejar Projeto
112
5.8.2.1 Atualizar Backlog do Projeto
Esta atividade tem como objetivo revisar o backlog inicialmente construído na fase de
Visão junto com o time e atualizá-lo com novos itens relacionados com o tipo do
sistema/produto, características e perfil do time, bem como o ambiente de desenvolvimento
que está sendo desenvolvido no projeto como ilustra a Tabela 30.
Tabela 30: Atividade Atualizar Backlog do Projeto
Objetivos:
Revisar os requisitos inicialmente definidos para o Backlog do Produto e atualizá-lo com novos
requisitos e necessidades identificadas pelo time do projeto.
Papéis Principais:
Gerente do Projeto
Papéis Adicionais
:
Gerente do Produto
Time do Projeto
Entrada:
Backlog do Projeto
Plano do Projeto
Base Histórica de Projetos (opcional)
Saída:
Backlog do Projeto
Passos:
Revisar requisitos do produto
Planejar infra-estrutura do projeto
Planejar capacitações
Orientações:
Não se aplica
Os passos são realizados pelo Gerente do Projeto com o apoio do Gerente de Produto e
Time do Projeto, como descritos abaixo:
Passo 1: Revisar requisitos do produto
Os requisitos do produto (funcionais e não funcionais) podem ser revisados pelo time do
projeto em conjunto com o Gerente do Produto visando a adição ou exclusão de requisitos ao
Backlog do Projeto.
Passo 2: Planejar infra-estrutura do projeto
O Gerente do Projeto, com o apoio do time, deve planejar a infra-estrutura necessária
para estabelecer o ambiente de trabalho adequado para o projeto de acordo com os padrões
organizacionais estabelecidos na empresa. Um ambiente de trabalho adequado para o projeto
é suportado por uma infra-estrutura que inclui entre outros:
Local e ambiente físico de trabalho onde será realizado o projeto;
113
Equipamentos, estações de trabalho, redes e ferramentas necessárias à execução
do projeto;
Servidores de aplicação e banco de dados necessários para a configuração e
disponibilização do ambiente de desenvolvimento, homologação e produção;
Listas de e-mail, com respectivos participantes;
Site do projeto para publicação dos artefatos e informações sobre o projeto.
O planejamento da infra-estrutura deve ser registrado através de itens de backlog que
serão adicionados como requisitos ambientais do projeto necessários para a montagem e
disponibilização da infra-estrutura do ambiente de trabalho no Backlog do Projeto. Outros
requisitos ambientais do projeto devem ser identificados para garantir a privacidade e
segurança das informações. Além disso, deve-se registrar a necessidade do planejamento e
estabelecimento da gerência de configuração do código e artefatos do projeto, garantindo o
armazenamento e recuperação dos dados, realização do controle de versão e gerenciamento
dos releases.
Estes itens de backlog devem ser priorizados e executados de acordo com o ciclo de
vida do projeto, garantindo a preparação e instalação da infra-estrutura necessária e ambiente
de desenvolvimento no início do projeto. A revisão e atualização do planejamento da infra-
estrutura do projeto devem ser realizadas no início de cada sprint.
Passo 4: Planejar capacitações
O Gerente do Projeto em conjunto com o time deverá avaliar que capacitações
(treinamentos e auto-estudos) devem ser realizadas pelo time visando o desenvolvimento do
conhecimento e competências necessárias para a execução do projeto. Uma consulta à base de
treinamentos organizacionais da empresa pode ser realizada visando a identificação das
necessidades do time do projeto. As capacitações devem ser registradas no Backlog do
Projeto e serem priorizadas de acordo com o ciclo de vida de execução do projeto. A revisão e
atualização das capacitações podem ser realizadas no início de cada sprint do projeto como
requisitos ambientais do projeto.
114
5.8.2.2 Estimar Backlog do projeto
Esta atividade tem como objetivo estimar e priorizar os requisitos funcionais e não
funcionais do Backlog do Projeto estabelecendo uma ordem para a implementação dos
mesmos. Os requisitos ambientais do projeto não precisam ser estimados nem priorizados
neste momento, pois serão tratados pelo time do projeto nas atividades de planejamento da
Sprint apresentada no item 5.8.3. A estimativa dos itens de backlog deve ser revista e
complementada antes do início de cada sprint considerando-se mudanças ocorridas no
Backlog do Projeto. A Tabela 31 apresenta uma visão geral da atividade.
Tabela 31: Atividade Estimar Backlog do Projeto
Objetivos:
Estimar e priorizar os itens de Backlog do Projeto (requisitos funcionais e não funcionais)
estabelecendo uma ordem para a implementação dos mesmos de acordo com o seu grau de
importância para o cliente.
Papéis Principais:
Time do Projeto
Papéis Adicionais
:
Gerente do Projeto
Gerente do Produto
Entrada:
Backlog do Projeto
Base Histórica de Projetos (opcional)
Saída:
Backlog do Projeto
Estimativa de Complexidade do Projeto
Passos:
Estimar complexidade dos itens de backlog
Priorizar os itens de backlog
Orientações:
Guia de Estimativas Planning Poker
Guia de Priorização do Backlog
A estimativa de complexidade dos itens de backlog (requisitos funcionais e não
funcionais e solicitações de mudanças) é realizada em Story Points (COHN, 2006) e deve ser
realizada pelo Time do Projeto. O Guia de Estimativas Planning Poker (Anexo X) contém
orientações e passos necessários para realizar as estimativas de complexidade. A estimativa de
complexidade do projeto é obtida somando-se as Story Points atribuídas aos requisitos
funcionais e não funcionais do Backlog do Projeto.
Em seguida o Backlog do Projeto deve ser priorizado de acordo com o Guia de
Priorização do Backlog apresentado no Anexo XI. Mudanças na priorização dos itens de
Backlog do Projeto podem ocorrer freqüentemente, a cada sprint, visando refletir alterações
ocorridas no contexto atual do projeto e impactos emergenciais para o desenvolvimento do
produto/ sistema.
115
5.8.2.3 Estimar duração, esforço e custos do projeto
Esta atividade tem como objetivo estimar duração, esforço e custos necessários para
desenvolver o projeto baseado na complexidade estimada do projeto em Story Points e nos
dados históricos de projetos similares. O resumo da atividade pode ser visto na Tabela 32.
Tabela 32: Atividade Estimar duração, esforço e custos do projeto
Objetivos:
Estimar duração, esforço e custos necessários para desenvolver o projeto.
Papéis Principais:
Gerente do Projeto
Papéis Adicionais
:
Time do Projeto
Entrada:
Backlog do Projeto
Estimativa de Complexidade do Projeto
Base Histórica de Projetos
Saída:
Backlog do Projeto
Estimativa de Custo
Estimativa de Esforço
Passos:
Definir duração das sprints
Estimar duração do projeto
Estimar esforço
Estimar custo
Orientações:
Não se aplica
Esta atividade é realizada pelo Gerente de Projeto com o apoio do time e inclui a
execução dos seguintes passos:
Passo 1: Definir duração das sprints
Para definir a duração das sprints do projeto, analise suas características e em seguida
consulte a Base Histórica de Projetos para avaliar a duração da sprint de projetos similares ao
que está sendo desenvolvido. A duração da sprint será usada para auxiliar nas estimativas de
esforço e custo do projeto.
Passo 2: Estimar duração do projeto
Primeiro estime a velocidade do time (Story Points/Sprint) considerando o desempenho
de projetos similares com times de tamanho semelhante na base histórica de projetos. O time
do projeto pode ajudar nesta estimativa. A partir daí, estime a quantidade de sprints do projeto
aplicando a seguinte fórmula:
Quantidade Sprints = Complexidade Projeto (Story Points) / Velocidade Time (Story Points/Sprint)
116
Em seguida calcule a duração do projeto (em semanas) multiplicando a quantidade de
sprints pela duração de cada sprint.
Duração do Projeto (semanas) = Quantidade Sprints * Duração Sprints (semanas)
Passo 3: Estimar esforço
O esforço estimado para o projeto pode ser calculado aplicando-se a seguinte fórmula:
Esforço estimado (horas) = Duração do Projeto (semanas) x Carga horária do time (horas/semana)
A carga horária semanal do time deve ser calculada de acordo com o percentual de
alocação de cada um dos participantes do projeto. A fórmula do cálculo do esforço estimado
pode ser ajustada caso a alocação do time do projeto varie por sprint ao longo de sua
execução. Neste caso, calcule o esforço estimado somando os esforços do time por sprint. O
esforço estimado deve ser registrado na planilha de Backlog do Projeto.
Passo 4: Estimar custo
Uma estimativa em ordem de magnitude para os custos do projeto pode ser facilmente
obtida usando-se um modelo simplificado de custos que considera apenas o esforço de horas
de trabalho para o projeto. Sendo assim o custo estimado para o projeto pode ser estimado
aplicando-se a seguinte fórmula:
Custo estimado ($) = Duração do projeto (semanas) * Custo do time ($/semana)
O custo do time por semana deve ser calculado de acordo com o salário correspondente
ao percentual de alocação de cada um dos integrantes do time ao projeto. Assim como na
estimativa de esforço, a fórmula para o cálculo do custo estimado pode ser ajustada caso a
alocação do time do projeto varie por sprint ao longo de sua execução. Neste caso, calcule o
custo estimado somando os custos do time por sprint.
5.8.2.4 Planejar entregas e marcos do projeto
Esta atividade tem como objetivo definir o plano de entregas e marcos do projeto de
acordo com a especificação do produto/sistema, prioridades, riscos associados, restrições de
negócio e prazos-alvo. A Tabela 33 apresenta um resumo da atividade.
117
Tabela 33: Atividade Planejar entregas do projeto
Objetivos:
Definir o plano de entregas e marcos do projeto
Papéis Principais:
Gerente do Produto
Papéis Adicionais
:
Gerente do Projeto
Entrada:
Backlog do Projeto
Plano do Projeto
Saída:
Backlog do Projeto
Plano de Entregas
Passos:
Definir plano de entregas e marcos do projeto
Orientações:
Não se aplica
Dependendo do grau de incerteza do projeto, o time poderá optar entre duas abordagens
para o planejamento e distribuição dos itens de backlog entre as sprints do projeto:
Abordagem 1: Fazer o planejamento completo de todas as sprints atribuindo a
cada item de backlog a sprint estimada para a sua realização;
Abordagem 2: Fazer o planejamento sprint a sprint. Neste caso o time seleciona
os itens da sprint e os implementa, para só depois selecionar os itens da próxima
sprint.
O registro da distribuição dos itens de backlog por sprint deve ser feito no Backlog do
Projeto. O planejamento e distribuição dos itens de backlog deve ser ajustado no início de
cada sprint de acordo com o planejamento detalhado da sprint realizado na atividade “Definir
escopo da Sprint”, definida no item 5.8.3.1 mais adiante.
Após o planejamento do escopo das sprints do projeto, o Gerente do Produto deve
identificar o conjunto de funcionalidades que compõe uma entrega do sistema/produto. O
planejamento das entregas deve ser feito agrupando-se os itens de backlog das sprints em
vários pacotes de entregas. A data de cada entrega é estimada considerando-se as datas
previstas para as sprints e seus respectivos escopos planejados. Para tanto pode-se construir
um cronograma macro com as datas de início e témino das sprints do projeto.
O plano de entregas e marcos do projeto deve ser revisto no início de cada sprint
considerando-se a produtividade real do time alcançada na sprint passada e qualquer mudança
nas prioridades dos itens de backlog.
118
5.8.3 Planejar Sprint
Esta macro-atividade tem por objetivo estabelecer o terceiro nível do planejamento do
projeto, sendo composto pelas atividades: “Definir objetivo e escopo da sprint e “Construir
backlog da sprint” realizadas de forma seqüencial como ilustra a Figura 26.
Figura 26: Macro-atividade Planejar Sprint
5.8.3.1 Definir Objetivo e Escopo da Sprint
Esta atividade corresponde à reunião Sprint Planning 1 do Scrum e tem como objetivo
realizar a primeira parte do planejamento da sprint, identificando e definindo seu objetivo
bem como os itens de backlog selecionados para o desenvolvimento na sprint. Nesta reunião
de planejamento da sprint, o Gerente do Produto apresenta os requisitos de maior valor e
prioriza aqueles que devem ser implementados. O Time do Projeto então revisa o escopo da
sprint planejado inicialmente na atividade 5.8.2.4 e define colaborativamente o que poderá
entrar no desenvolvimento da próxima sprint (requisitos funcionais, não funcionais e
ambientais), considerando sua capacidade de produção (velocidade).
A definição da velocidade do time deve ser feita considerando-se dois cenários:
Cenário 1: Definição da velocidade da primeira sprint influenciada pela experiência do
time. Duas situações podem ocorrer:
Se o time já trabalhou junto anteriormente em algum projeto: neste caso, a
velocidade do time estimada deve corresponder à velocidade do time para a
realização de outros projetos. Esta consulta pode ser feita à Base Histórica de
Projetos;
Se o time nunca trabalhou junto anteriormente: neste caso a velocidade do time
deve ser definida em conjunto pelo time que deverá estimar quantas Story Points
consegue entregar em uma sprint. A definição da velocidade pode ser auxiliada
119
por uma consulta a velocidades executadas por outros times em projetos
similares disponível na Base Histórica de Projetos.
Cenário 2: Definição da velocidade das próximas sprints que deve ser
reavaliada/calibrada a cada sprint levando-se em consideração o desempenho do time nas
sprints anteriores.
O resumo da atividade “Definir objetivo e escopo da sprintpode ser visto na Tabela
34.
Tabela 34: Atividade Definir Objetivo e Escopo da Sprint
Objetivos:
Realizar a primeira parte do planejamento detalhado da sprint, identificando e definindo os itens de
backlog que serão desenvolvidos durante sua execução.
Papéis Principais:
Gerente do Produto
Papéis Adicionais
:
Gerente do Projeto
Time do Projeto
Entrada:
Backlog do Projeto
Base Histórica de Projetos (opcional)
Saída:
Ata de Reunião de Planejamento da Sprint
Backlog da Sprint
Passos:
Apresentar o Backlog do Projeto
Definir o objetivo da sprint
Estimar velocidade do time
Selecionar itens de backlog da sprint
Obter comprometimento
Orientações:
Guia para condução das reuniões (Anexo XIII)
5.8.3.2 Construir Backlog da Sprint
Esta atividade corresponde à reunião Sprint Planning 2 do Scrum e tem como objetivo
realizar a segunda parte do planejamento detalhado da sprint. Nesta reunião, o Time do
Projeto planeja seu trabalho e constrói o Backlog da Sprint que é composto por todas as
tarefas necessárias para implementar o escopo da sprint. O resumo da atividade “Construir
backlog da sprint” pode ser visto na Tabela 35.
O Time do Projeto deve determinar o trabalho necessário para implementar o escopo da
sprint. Isso inclui, mas não está limitado à identificação de:
Atividades de engenharia padrão (requisitos, análise e projeto, codificação e
testes) necessárias para implementar requisitos funcionais e não funcionais. As
120
atividades de engenharia correspondem às atividades previstas no processo
definido para o projeto;
Atividades complementares de engenharia, complementando as atividades de
engenharia padrão;
Atividades de gestão do projeto, gestão de configuração, gestão de dados e/ou
ações de riscos, bem como capacitações e treinamentos, conforme requisitos
ambientais do projeto;
Outras atividades quaisquer que sejam relevantes para o alcance do objetivo da
sprint.
Tabela 35: Atividade Construir o backlog da sprint
Objetivos:
Realizar a segunda parte do planejamento detalhado da sprint, definindo e estimando as atividades
necessárias para a implementação dos itens de backlog selecionados.
Papéis Principais:
Time do Projeto
Papéis Adicionais
:
Gerente do Projeto
Gerente do Produto
Entrada:
Ata de Reunião de Planejamento da Sprint
Backlog da Sprint
Base Histórica de Projetos (opcional)
Saída:
Ata de Reunião de Planejamento da Sprint
Backlog da Sprint
Gráfico de Consumo da Sprint
Passos:
Identificar e estimar tarefas
Atribuir tarefas ao time
Orientações:
Guia para condução das reuniões (Anexo XIII)
As estimativas de esforço das atividades de engenharia padrão devem ser derivadas a
partir da complexidade dos casos de uso em Story Points, fazendo ajustes necessários de
acordo com dados históricos de sprints passadas. As estimativas de esforço das demais
atividades devem ser realizadas pelo Time do projeto levando em consideração o
conhecimento adquirido na execução de sprints anteriores deste projeto e de outros projetos.
Caso seja necessário, o time pode consultar a base histórica de projetos para auxiliar nas
estimativas e/ou usar uma técnica para estimativas como o Wideband Delphi, por exemplo,
conforme definido em (WIEGERS, 2007).
O Time do Projeto deve estimar todas as tarefas definidas em horas e atualizar o
Backlog da Sprint que será usado para monitorar o trabalho por meio do Gráfico de Consumo
da Sprint. O Time do Projeto pode também solicitar, caso necessário, ajuda ao Gerente do
121
Produto para esclarecer algumas dúvidas e junto com ele avaliar se o trabalho definido atende
aos objetivos da sprint, obtendo-se o comprometimento do trabalho a ser realizado.
Em seguida, o Time do Projeto define que atividades serão atribuídas a cada
participante de acordo com seu interesse, perfil, alocação e conhecimentos necessários para
alcançar os objetivos da sprint, registrando as atribuições no Backlog da Sprint.
5.8.4 Identificar e Analisar Riscos
Esta atividade tem como objetivo identificar e analisar riscos para que sejam definidas
ações de respostas reduzindo impactos no alcance dos objetivos do projeto. A Tabela 36
mostra uma visão geral da atividade.
Tabela 36: Atividade Identificar e Analisar Riscos
Objetivos:
Identificar e analisar riscos do projeto
Papéis Principais:
Gerente do Projeto
Papéis Adicionais
:
Gerente do Produto
Stakeholders
Time do Projeto
Entrada:
Backlog da Sprint
Backlog do Projeto
Base Histórica de Projetos (opcional)
Saída:
Backlog da Sprint
Lista de Riscos
Passos:
Identificar riscos
Analisar e priorizar riscos
Criar planos de mitigação e contingência para os riscos
Orientações:
Guia de Riscos (Anexo XII)
Os passos da atividade “Identificar e Analisar Riscos” são descritos detalhadamente a
seguir:
Passo 1: Identificar riscos
A identificação dos riscos deve acontecer iterativamente durante o planejamento das
sprints e execução do projeto, com a participação ativa do Time do Projeto. A cada sprint
deve-se concentrar os esforços na identificação de potenciais problemas para o projeto com
foco nos itens do Backlog do Projeto mais prioritários.
122
A identificação dos riscos pode ser realizada por meio da análise da visão geral
(objetivos, restrições, premissas) e dos itens de backlog do projeto, apoiado pelo uso do Guia
de Riscos (definido no Anexo XII) contendo as fontes e categorias de riscos. A consulta à
Base Histórica de Projetos ajuda a identificar riscos e estratégias de respostas realizadas em
projetos anteriores. Os riscos identificados devem ser registrados na Lista de Riscos do
projeto contida no Backlog do Projeto.
Passo 2: Analisar e priorizar riscos
A análise e categorização dos riscos são fundamentais para determinar a importância
relativa de cada risco identificado estabelecendo-se prioridades para o gerenciamento dos
riscos. A priorização dos riscos deve ocorrer durante o planejamento da sprint, auxiliando
também na priorização e seleção dos itens de backlog que serão desenvolvidos na sprint.
Objetiva selecionar o conjunto de riscos mais urgentes e criticos que devem ser mitigados em
cada sprint do projeto. A análise dos riscos compreende etapas para:
1. Categorizar o risco de acordo com as categorias e fontes de risco definidas no Guia
de Riscos;
2. Definir a probabilidade de ocorrência do risco conforme orientações e critérios
definidos no Guia de Riscos. Esta probabilidade pode mudar ao longo da execução do projeto;
3. Definir o impacto no projeto caso o risco ocorra, conforme orientações e critérios
definidos no Guia de Riscos. O impacto de ocorrência do risco pode mudar ao longo do
projeto;
4. Priorizar os riscos. Uma prioridade relativa para os riscos deve ser estabelecida
baseada na avaliação do fator de exposição do risco conforme Critérios de Priorização dos
riscos definido no Guia de Riscos.
Passo 3: Criar planos de mitigação e contingência para os riscos
Neste passo devem ser criados os planos de mitigação para os riscos priorizados. Os
planos de mitigação correspondem às ações que devem ser executadas para mitigar os riscos,
isto é, tarefas que devem ser executadas visando reduzir ou controlar a probabilidade e
impacto de ocorrência do risco nos objetivos do projeto.
123
Os planos de ações (mitigação e contingência) devem ser gerados apenas para os riscos
que foram priorizados na sprint de acordo com a estratégia de resposta (definida no Guia de
Riscos) escolhida para tratar o risco, sendo registrados na Lista de Riscos do projeto. Ações
que impliquem num esforço alto do time para a sua implementação (como por exemplo,
elaboração de protótipos ou realização de testes) devem ser adicionadas ao backlog da sprint
como tarefas que devem ser estimadas e monitoradas continuamente pelo time durante as
reuniões de acompanhamento.
A pesquisa por planos de mitigação e contingência para riscos similares identificados na
base histórica de projetos é importante para a adoção de ações que obtiveram sucesso no
passado.
5.9 Atividades da Fase Exploração
A fase Exploração compreende o desenvolvimento e entrega de requisitos prontos de
maior valor agregado ao cliente em um intervalo de tempo fixo, monitoramento constante dos
riscos visando reduzir a incerteza do projeto, além do desenvolvimento da comunidade do
projeto. É composta pela macro-atividade “Monitorar Sprint” e atividade “Desenvolver
Time”, como mostra a Figura 27, as quais serão descritas a seguir.
Figura 27: Fluxo de atividades da fase Exploração
124
5.9.1 Monitorar Sprint
Esta macro-atividade tem por objetivo monitorar a execução da sprint sendo composta
pelas atividades: Atualizar Backlog da Sprint, Realizar reunião de acompanhamento,
Remover impedimentos, Gerenciar compromissos, Gerenciar envolvimento dos stakeholders,
Coletar mudanças, Gerenciar e monitorar os riscos. A Figura 28 mostra o relacionamento
entre as atividades de Monitorar Sprint.
Figura 28: Macro-atividade Monitorar Sprint
5.9.1.1 Atualizar Backlog da Sprint
Esta atividade tem como objetivo acompanhar diariamente o Backlog da Sprint,
atualizando tarefas e estimativas do trabalho realizado e em andamento com o esforço gasto e
o esforço estimado para completar as tarefas. O resumo da atividade pode ser visto na Tabela
37.
Tabela 37: Atividade Atualizar Backlog da Sprint
Objetivos:
Acompanhar diariamente o backlog da sprint, atualizando tarefas e estimativas do trabalho realizado e
em andamento.
Papéis Principais:
Time do Projeto
Papéis Adicionais
:
Gerente do Projeto
Entrada:
Backlog da Sprint
Saída:
Backlog da Sprint
Gráfico de consumo da Sprint
125
Passos:
Revisar/atualizar tarefas do backlog
Atualizar/revisar estimativas das tarefas
Orientações:
Não se aplica
5.9.1.2 Realizar Reunião de Acompanhamento
Corresponde à reunião Daily Scrum Meeting do Scrum tendo como objetivo comunicar
o status do andamento das atividades do time bem como reportar impedimentos para que se
possa coordenar as atividades e trabalho da sprint. O Gerente do Projeto é responsável por
garantir que a realização da reunião ocorra diariamente no mesmo local e horário combinado
com o time. A Tabela 38 apresenta a visão geral da atividade.
Tabela 38: Atividade Realizar Reunião de Acompanhamento
Objetivos:
Prover reporte diário do status e impedimentos de forma que se possa coordenar as atividades e
trabalho da sprint promovendo a integração do time.
Papéis Principais:
Time do Projeto
Papéis Adicionais
:
Gerente do Projeto
Gerente do Produto (opcional)
Entrada:
Backlog da Sprint
Saída:
Backlog da Sprint
Gráfico de consumo da Sprint
Passos:
Realizar reunião de acompanhamento
Agendar reuniões complementares
Orientações:
Guia para condução das reuniões (Anexo XIII)
5.9.1.3 Remover Impedimentos
Esta atividade tem como objetivo resolver os impedimentos (problemas e dependências)
que estejam ou venham a comprometer o andamento da execução das atividades do time,
impactando negativamente a sua produtividade. O acompanhamento da resolução dos
impedimentos deve ser registrado na Lista de Impedimentos do projeto, sendo o Gerente do
Projeto responsável pela resolução dos mesmos da forma mais rápida possível. A Tabela 39
mostra o resumo da atividade.
126
Tabela 39: Atividade Remover Impedimentos
Objetivos:
Identificar e resolver os impedimentos (problemas e dependências) que estejam ou venham a
comprometer o andamento da execução das atividades do time.
Papéis Principais:
Gerente do Projeto
Papéis Adicionais
:
Time do Projeto
Entrada:
Backlog da Sprint
Gráfico de consumo da Sprint
Saída:
Lista de Impedimentos
Passos:
Identificar impedimentos
Resolver os impedimentos
Orientações:
Não se aplica
5.9.1.4 Gerenciar compromissos
Esta atividade tem como objetivo monitorar os compromissos assumidos com relação à
execução da sprint garantindo que os seus objetivos sejam alcançados. Uma visão geral da atividade
pode ser vista na Tabela 40. Seus passos são descritos a seguir.
Tabela 40: Atividade Gerenciar Compromissos
Objetivos:
Monitorar os compromissos assumidos com relação à execução da sprint garantindo que os seus
objetivos sejam alcançados.
Papéis Principais:
Gerente do Projeto
Papéis Adicionais
:
Time do Projeto
Entrada:
Backlog da Sprint
Saída:
Backlog da Sprint
Lista de Impedimentos
Passos:
Monitorar objetivos da sprint
Monitorar backlog da sprint
Abortar a sprint
Orientações:
Não se aplica
Passo 1: Monitorar Objetivos da Sprint
A avaliação constante do Backlog da Sprint ajuda a tomar decisões a cerca do
cumprimento do objetivo estabelecido inicialmente. O Gerente do Projeto e Time do Projeto
devem ficar atentos ao alcance dos objetivos da sprint e caso identifiquem divergências,
deverão propor a alteração dos objetivos em conjunto com o Gerente do Produto.
127
Passo 2: Monitorar Backlog da Sprint
O Gerente do Projeto e o Time do Projeto devem monitorar constantemente o progresso
da sprint pelo gráfico de consumo de trabalho e avaliar se os itens de Backlog da Sprint serão
entregues/concluídos no prazo fixo que corresponde à duração da sprint.
Caso seja observado que não será possível realizar todos os itens, então se deve
renegociar o escopo do trabalho a ser realizado na sprint. Neste caso o Time do Projeto
precisará se reunir com o Gerente do Projeto e Gerente do Produto e avaliar se o trabalho
necessário para implementar algum ou todos os itens de backlog podem ser reduzidos ou
limitados visando alcançar o objetivo da sprint. Caso seja necessário, itens podem ser
removidos do backlog.
Passo 3: Abortar a sprint
O Gerente do Projeto deve avaliar constantemente se é possível alcançar o objetivo da
sprint. Caso torne-se impossível, a sprint deverá ser cancelada. O cancelamento da sprint
deve ser acordado com o Gerente do Produto. Neste caso, um novo planejamento deve ser
iniciado.
5.9.1.5 Gerenciar envolvimento dos stakeholders
Esta atividade tem como objetivo gerenciar o envolvimento de todos os stakeholders
relevantes do projeto, garantindo a execução do projeto conforme estabelecido no plano de
colaboração e comunicação. O Gerente do Projeto deve também garantir que todos os
envolvidos conheçam e sigam o processo definido para o projeto conforme definido no Plano
do Projeto e que o time não seja interrompido com pedidos de trabalho externos. O
monitoramento deve ser realizado ao longo da execução da sprint especialmente durante as
reuniões do projeto. O registro dos problemas encontrados deve ser feito na Lista de
Impedimentos do projeto, com respectivas ações de correções necessárias. O resumo da
atividade pode ser visto na Tabela 41.
128
Tabela 41: Atividade Gerenciar Envolvimento dos Stakeholders
Objetivos:
Gerenciar o envolvimento de todos os stakeholders relevantes do projeto.
Papéis Principais:
Gerente do Projeto
Papéis Adicionais
:
Stakeholders
Entrada:
Backlog da Sprint
Saída:
Lista de Impedimentos
Passos:
Garantir entendimento e seguimento do processo
Impedir pedidos de trabalhos externos
Orientações:
Não se aplica
5.9.1.6 Coletar mudanças
Esta atividade tem como objetivo atualizar o Backlog do Projeto com todas as
mudanças identificadas durante a execução da sprint. Os novos itens de backlog adicionados
ao Backlog do Projeto devem ser analisados, estimados e priorizados pelo Gerente do Produto
e Gerente de Projeto antes da próxima reunião de planejamento da sprint, observando-se os
níveis de restrição para escopo, prazo e custo definidos na Visão Geral do Projeto. O resumo
da atividade “Coletar mudanças” pode ser visto na Tabela 42.
Tabela 42: Atividade Coletar mudanças
Objetivos:
Atualizar Backlog do Projeto com todas as mudanças identificadas durante a execução da sprint.
Papéis Principais:
Gerente do Produto
Papéis Adicionais
:
Gerente do Projeto
Stakeholders
Time do Projeto
Entrada:
Backlog do Projeto
Plano do Projeto
Saída:
Backlog do Projeto
Passos:
Coletar mudanças e atualizar o backlog do produto
Orientações:
Não se aplica
5.9.1.7 Gerenciar e Monitorar Riscos
Esta atividade tem como objetivo gerenciar e monitorar os riscos mais críticos do
projeto, tomando as ações de mitigação e de contingência necessárias. Os riscos devem ser
monitorados durante a execução da sprint e também durante o Planejamento da Sprint,
quando devem ser reavaliados em conjunto com os demais riscos identificados. É importante
observar que para se garantir a agilidade, apenas um subconjunto dos riscos está sendo
monitorado a cada sprint. Este subconjunto é representado pelos riscos que foram priorizados
129
e que estão diretamente relacionados com os itens do Backlog da Sprint. O registro do
monitoramento deve ser feito na Lista de Riscos do Projeto. A Tabela 43 apresenta uma visão
geral da atividade.
Tabela 43: Atividade Gerenciar e Monitorar Riscos
Objetivos:
Gerenciar e monitorar os riscos mais críticos do projeto, tomando as ações de mitigação e
contingência necessárias.
Papéis Principais:
Gerente do Projeto
Papéis Adicionais
:
Time do Projeto
Entrada:
Backlog da Sprint
Lista de Riscos
Saída:
Lista de Riscos
Passos:
Monitorar riscos
Orientações:
Guia de riscos
5.9.2 Desenvolver Time
Esta atividade tem como objetivo ajudar o time do projeto a melhorar continuamente o
seu conhecimento (negócio e técnico), sua disciplina, auto-organização e o trabalho em
equipe. O desenvolvimento do time é de responsabilidade do Gerente do Projeto que deverá
explorar o enfoque ágil de gestão baseado na liderança e colaboração criando espaço para a
liderança participativa, responsabilidade compartilhada, alta comunicação, desenvolvimento
de capacidades individuais, foco em entregas com resultados, desenvolvimento de talentos
criativos e resposta rápida às mudanças. Também deverá atuar com ações de motivação
criando um ambiente de trabalho dinâmico e desafiador. A Tabela 44 mostra uma visão geral
desta atividade.
Tabela 44: Atividade Desenvolver Time
Objetivos:
Ajudar o time do projeto a melhorar continuamente o seu conhecimento (negócio e técnico), sua
disciplina e o trabalho em equipe.
Papéis Principais:
Gerente do Projeto
Papéis Adicionais
:
Time do Projeto
Entrada:
Não se aplica
Saída:
Time motivado
Passos:
Direcionar o time para a entrega de resultados
Transformar grupo de indivíduos em um time de desenvolvimento
Desenvolver as capacidades individuais
Prover os recursos necessários para o time
Motivar o time
130
Orientações:
Práticas para coaching e desenvolvimento do time definidas em (HIGHSMITH 2004)
Práticas para coaching e mentoring apresentadas em (DUBRIN, 2004)
5.10 Atividades da Fase Adaptação
A fase Adaptação engloba a revisão dos resultados entregues, a análise da situação atual
e a avaliação do desempenho do time do projeto para eventual adaptação do processo e/ou
requisitos do sistema/produto. Esta fase é composta pela macro-atividade “Monitorar Projeto”
além das atividades “Realizar revisão da Sprint”, “Realizar retrospectiva da Sprint” e
“Atualizar a base histórica de projetos”, as quais serão descritas a seguir. O fluxo geral das
atividades da fase Adaptação do Scrummi pode ser visto na Figura 29.
Figura 29: Fluxo de atividades da fase Adaptação
5.10.1 Realizar Revisão da Sprint
Esta atividade corresponde à reunião Sprint Review Meeting do Scrum e tem como
objetivo apresentar e avaliar os resultados e progresso da sprint, demonstrando as
funcionalidades e/ou incrementos de produtos implementados.
O Gerente do Projeto deve estabelecer a agenda da reunião de revisão em conjunto com
o Time do Projeto, definindo como os resultados da sprint serão apresentados e quem será o
131
responsável por cada parte da apresentação. O Time do Projeto por sua vez, é o responsável
por preparar a demonstração dos resultados, conforme combinado com o Gerente do Projeto.
A reunião é concluída com a coleta de impressões e observações dos stakeholders a
cerca dos resultados alcançados bem como coleta de mudanças e prioridades do Backlog do
Projeto. Deve-se aproveitar o momento também para se obter um aceite parcial do cliente com
relação à conclusão e resultados da sprint. As informações coletadas e discutidas na reunião
devem ser registradas na Ata de Revisão da Sprint. Ações de adaptação decorrentes da
reunião de revisão devem ser registradas na lista de impedimentos e acompanhadas durante a
execução do projeto. O resumo da atividade “Realizar Revisão da Sprintpode ser visto na
Tabela 45.
Tabela 45: Atividade Realizar Revisão da Sprint
Objetivos:
Apresentar resultados e progresso da sprint, demonstrando as funcionalidades e/ou incrementos de
produtos implementados e avaliar os resultados alcançados na sprint.
Papéis Principais:
Time do Projeto
Papéis Adicionais
:
Gerente do Projeto
Gerente do Produto
Stakeholders
Entrada:
Incrememeto do Produto
Ata de Revisão da Sprint
Saída:
Backlog do Projeto
Ata de Revisão da Sprint
Passos:
Preparar agenda e demonstração dos resultados
Apresentar e avaliar os resultados da sprint
Orientações:
Guia para condução das reuniões (Anexo XIII)
5.10.2 Realizar Retrospectiva da Sprint
Esta atividade corresponde a uma extensão da Sprint Retrospective Meeting do Scrum e
tem como objetivo realizar uma retrospectiva da sprint para que se possa refletir, coletar
lições aprendidas e fazer adaptações necessárias relacionadas com o desenvolvimento do
time, processo e backlog do projeto. Deve ser concluída com uma comemoração, pois é
importante celebrar e reconhecer o trabalho realizado pelo time. Isso pode ser feito de várias
maneiras: happy hour, lanchinhos, distribuições de prêmios ou até mesmo um almoço de
comemoração.
A reunião de retrospectiva da última sprint deve ser mais abrangente, sendo realizada
com o objetivo de se fazer uma retrospectiva do projeto como um todo. As lições aprendidas
132
do projeto devem ser documentadas para que possam ser repassadas para outros times e
outros projetos dentro da organização. O registro das informações coletadas e discutidas na
reunião deve ser realizado na Ata de Retrospectiva da Sprint.
As melhorias de processo identificadas nas reuniões de retrospectiva devem ser
analisadas e implementadas na próxima sprint. Caso seja necessário, deve-se fazer uma
revisão na abordagem de execução definida no Plano do Projeto. Caso a empresa possua um
grupo de melhoria de processos organizacionais, as melhorias devem ser submetidas para
aprovação e implementação deste grupo no contexto organizacional. O resumo da atividade
pode ser visto na Tabela 46. As ações de adaptação decorrentes da reunião de retrospectiva
devem ser registradas na lista de impedimentos e acompanhadas durante a execução do
projeto.
Tabela 46: Atividade Realizar Retrospectiva da Sprint
Objetivos:
Conduzir reuniões de retrospectiva da sprint para que se possa refletir, aprender e fazer adaptações
necessárias no desenvolvimento do time, processo e status geral do projeto.
Papéis Principais:
Gerente do Projeto
Papéis Adicionais
:
Gerente do Produto
Time do Projeto
Entrada:
Backlog do Projeto
Revisão da Sprint
Saída:
Backlog do Projeto
Retrospectiva da Sprint
Passos:
Realizar reunião de retrospectiva
Contribuir para a melhoria do processo
Orientações:
Guia para condução das reuniões (Anexo XIII)
5.10.3 Monitorar Projeto
Esta macro-atividade tem por objetivo monitorar a execução do projeto sendo composto
pelas atividades: Monitorar estimativas e custos, Monitorar Backlog do Projeto e Reportar
Progresso do Projeto. A Figura 30 mostra o relacionamento entre as atividades de Monitorar
Projeto que serão descritas a seguir.
133
Figura 30: Macro-atividade Monitorar Projeto
5.10.3.1 Monitorar Estimativas e Custos
Esta atividade tem como objetivos acompanhar as estimativas e custos do projeto,
alimentando e analisando os gráficos de consumo do Backlog do Projeto (Horas e Custos), a
partir dos resultados alcançados na sprint e planejar ações corretivas para solucionar os
desvios identificados. O Gerente do Projeto deverá coletar os esforços e custos reais do
projeto, avaliar as variações em relação aos esforços e custos planejados e estabelecer ações
de adaptação (preventivas e corretivas) para solucionar os desvios identificados. Mudanças e
replanejamentos devem ser feitos em conjunto com o Gerente do Produto observando-se as
restrições de custo, prazo e escopo definidas no Plano do Projeto. O resumo da atividade
“Monitorar estimativas e custos” é apresentado na Tabela 47.
Tabela 47: Resumo da atividade: Monitorar estimativas e custos
Objetivos:
Acompanhar estimativas e custos do projeto, alimentando e analisando os gráficos de consumo do
backlog do Projeto (Horas e Custos), a partir dos resultados alcançados na sprint planejando ações
corretivas para solucionar os desvios identificados.
Papéis Principais:
Gerente do Projeto
Papéis Adicionais
:
Time do Projeto
Entrada:
Backlog da Sprint
Saída:
Backlog do Projeto
Gráfico de Consumo do Projeto
Lista de impedimentos
Passos:
Monitorar estimativas
Monitorar custos
Orientações:
Não se aplica
134
5.10.3.2 Monitorar Backlog do Projeto
Esta atividade visa fazer o acompanhamento do Backlog do Projeto, alimentando e
analisando os gráficos de consumo do Backlog do Projeto (Story Points e Valor de Negócio) a
partir dos resultados alcançados na sprint. Esta avaliação ajuda a identificar ações de
adaptação e replanejamento como, por exemplo: necessidade de remoção ou adição de
requisitos do projeto se o progresso do projeto não está ocorrendo como planejado. A
negociação das mudanças deve ser feita em conjunto com o Gerente do Produto observando-
se as restrições de custo, prazo e escopo definidas no Plano do Projeto. A Tabela 48 mostra
um resumo desta atividade.
Tabela 48: Atividade Monitorar Backlog do Projeto
Objetivos:
Fazer o acompanhamento do backlog do projeto, alimentando e analisando os gráficos de consumo do
backlog do Projeto (Story Points e Valor de Negócio), a partir dos resultados alcançados na sprint e
planejar ações e adaptações para solucionar os desvios identificados.
Papéis Principais:
Gerente do Projeto
Papéis Adicionais
:
Time do Projeto
Entrada:
Backlog da Sprint
Saída:
Backlog do Projeto
Gráfico de Consumo do Projeto
Lista de impedimentos
Passos:
Monitorar Backlog do Projeto
Orientações:
Não se aplica
5.10.3.3 Reportar Progresso
Ao final de cada sprint o Gerente de Projeto deverá reportar o progresso do projeto ao
Gerente Senior apresentando os dados do monitoramento do projeto e das estimativas que se
encontram no Backlog do Projeto. Todos os Gráficos de Consumo do Backlog do Projeto
devem ser apresentados, além dos marcos, riscos críticos (com fator de exposição alto) e
impedimentos com alta prioridade. O registro das ações de adaptação decorrentes da reunião
de progresso deve ser feito na lista de impedimentos do projeto e acompanhados durante a
execução do projeto. O resumo desta atividade pode ser visto na Tabela 49.
135
Tabela 49: Atividade Reportar Progresso
Objetivos:
Realizar reunião de progresso para comunicação e avaliação do progresso do projeto para a gerência
sênior.
Papéis Principais:
Gerente do Projeto
Papéis Adicionais
:
Gerente do Produto
Gerente Sênior de Projetos
Entrada:
Backlog do Projeto
Saída:
Backlog do Projeto
Passos:
Realizar reunião de progresso do projeto
Orientações:
Não se aplica
5.10.4 Atualizar Base Histórica de Projetos
Esta atividade tem como objetivo alimentar a base histórica de projetos com os dados
atualizados das estimativas e do acompanhamento do projeto para que os mesmos possam ser
considerados na estimativa de novas sprints e de outros projetos. A Tabela 50 mostra uma
visão geral desta atividade.
Tabela 50: Atividade Atualizar Base Histórica de Projetos
Objetivos:
Alimentar a base histórica de projetos com os dados atualizados das estimativas e do
acompanhamento do projeto para que os mesmos possam ser considerados na estimativa de novas
sprints e de outros projetos.
Papéis Principais:
Gerente do Projeto
Papéis Adicionais
:
Gerente do Produto
Gerente Sênior de Projetos
Entrada:
Backlog do Projeto
Backlog da Sprint
Saída:
Base Histórica de Projetos
Passos:
Alimentar base histórica
Orientações:
Não se aplica
5.11 Atividades da Fase Encerramento
A fase Encerramento corresponde à finalização das atividades do projeto, à
transferência dos aprendizados-chave e celebração. Esta fase é composta pelas atividades
“Obter aceite final do projeto”, “Concluir projeto”, “Liberar Time e infra-estrutura do
projeto” as quais serão descritas a seguir. O fluxo geral das atividades da fase Encerramento
do Scrummi pode ser visto na Figura 31.
136
Figura 31: Fluxo de atividades da fase Encerramento
5.11.1 Obter aceite final do projeto
Esta atividade visa declarar a conclusão do projeto obtendo o aceite final do cliente bem
como celebrar com o time a conclusão do projeto reconhecendo o trabalho realizado. A
aceitação final corresponde ao entendimento pelo Gerente de Produto de que o projeto está
concluído e finalizado e de que todas as entregas foram realizadas conforme demonstrado nas
reuniões de revisão das sprints. A aceitação final pode ser feita informal ou formalmente.
Neste último caso deve envolver a assinatura de um procedimento formal de aceitação pelo
cliente. A escolha do tipo de aceitação deve ser feita pelo Gerente de Projeto em comum
acordo com o Gerente de Produto. O resumo desta atividade pode ser visto na Tabela 51.
Tabela 51: Atividade Celebrar conclusão do projeto
Objetivos:
Declarar a conclusão do projeto obtendo o aceite final do cliente.
Celebrar com o time a conclusão do projeto reconhecendo o trabalho realizado.
Papéis Principais:
Gerente do Projeto
Papéis Adicionais
:
Gerente do Projeto
Time do Projeto
Stakeholders
Entrada:
Não se aplica
Saída:
Aceite final do cliente
Passos:
Obter a aceitação final do projeto
Celebrar conclusão do projeto com time
Orientações:
Não se aplica
137
5.11.2 Concluir projeto
As documentações necessárias devem ser revisadas e finalizadas, inclusive
documentações relacionadas com a manutenção e suporte do produto/sistema e relatórios
finais administrativos e financeiros da execução do projeto, caso existam na empresa. A
Tabela 52 apresenta uma visão geral da atividade.
Tabela 52: Atividade Concluir projeto
Objetivos:
Finalizar as pendências do projeto garantindo que o produto/sistema final está entregue e instalado.
Atualizar e arquivar documentação do projeto que efetivamente possa ser utilizada no futuro para
manutenção do produto/serviço finalizado ou como referência para outros projetos.
Papéis Principais:
Time do Projeto
Papéis Adicionais
:
Gerente do Projeto
Entrada:
Plano do Projeto
Backlog do projeto
Backlog da Sprint
Saída:
Projeto concluído
Passos:
Concluir pendências do projeto
Arquivar documentações, código fonte e configurações do ambiente de trabalho
Orientações:
Não se aplica
5.11.3 Liberar Time e Infra-estrutura do Projeto
Finalmente, nesta última atividade o Gerente do Projeto deverá liberar o seu time
gradativamente garantindo que as atividades finais de conclusão do projeto sejam realizadas.
Com o apoio do time, deve providenciar a liberação da infra-estrutura e ambiente
estabelecidos para o projeto. Isso inclui a liberação de servidores, licenças de software, listas
de e-mail, e site do projeto, por exemplo. As liberações devem ser realizadas de acordo com
as políticas organizacionais da empresa. A Tabela 53 apresenta uma visão geral da atividade.
Tabela 53: Atividade: Liberar time e infra-estrutura do projeto
Objetivos:
Liberar o time e infra-estrutura do projeto
Papéis Principais:
Gerente do Projeto
Papéis Adicionais
:
Time do Projeto
Entrada:
Não se aplica
Saída:
Time liberado
Infra-estrutura liberada
Passos:
Liberar time
Liberar infra-estrutura do projeto
Orientações:
Não se aplica
138
5.12 Considerações sobre a Aderência do Scrummi ao CMMI
A Tabela 54 mostra como as atividades do Scrummi estão associadas às práticas
específicas das áreas de processo de Gestão PP, PMC, IPM+IPPD e RSKM do CMMI,
estabelecendo um mapeamento entre o processo e o modelo CMMI, segundo uma visão
técnica e parecer da autora desta dissertação. Este mapeamento mostra que uma prática do
CMMI pode estar relacionada com mais de uma atividade do Scrummi, formando o conjunto
de atividades que contribui para atender àquela prática do modelo. Da mesma forma pode-se
ter uma atividade do Scrummi relacionada com mais de uma prática do CMMI. As atividades
da fase Encerramento não foram listadas na tabela, pois não foi encontrada nenhuma
associação relevante das mesmas com as práticas do modelo.
Tabela 54: Mapeamento das Atividades Scrummi x Práticas do CMMI
Fase Atividade Práticas do CMMI
Visão
Estabelecer Visão Geral do Projeto PP SP 1.1
PP SP 2.2
PP SP 2.7
IPM SP 3.1
RSKM SP 2.1
Criar Backlog do Projeto PP SP 1.1
PP SP 2.7
IPM SP 1.2
Estabelecer Comunidade e Plano de Comunicações PP SP 2.3
PP SP 2.5
PP SP 2.6
PP SP 2.7
IPM SP 1.4
IPM SP 3.3
IPM SP 3.4
IPM SP 3.5
Definir Abordagem de Execução do Projeto PP SP 1.3
PP SP 2.7
IPM SP 1.1
IPM SP 1.4
IPM SP 3.2
IPM SP 3.3
IPM SP 3.4
IPM SP 3.5
Especulação
Iniciar Projeto PP SP 3.3
Planejar Projeto
Atualizar Backlog do Projeto PP SP 1.1
PP SP 2.3
PP SP 2.4
PP SP 2.5
139
Fase Atividade Práticas do CMMI
PP SP 2.7
IPM SP 1.2
IPM SP 1.3
IPM SP 1.4
IPM SP 3.2
IPM SP 3.3
IPM SP 3.4
Estimar Backlog do Projeto PP SP 1.2
Estimar Duração, Esforço e Custos do Projeto PP SP 1.4
Planejar Entregas e Marcos do Projeto PP SP 2.1
Planejar Sprint
Definir Objetivo e Escopo da Sprint (Reunião
de Planejamento - Parte 1)
PP SP 1.1
PP SP 3.1
PP SP 3.2
PP SP 3.3
IPM SP 1.2
IPM SP 1.4
Construir Backlog da Sprint (Reunião de
Planejamento - Parte 2)
Identificar e Analisar Riscos PP SP 2.2
RSKM SP 1.1
RSKM SP 1.2
RSKM SP 1.3
RSKM SP 2.1
RSKM SP 2.2
RSKM SP 3.1
Exploração
Monitorar a Sprint
Atualizar Backlog da Sprint PMC SP 1.1
PMC SP 1.4
Realizar Reunião de Acompanhamento PMC SP 1.1
PMC SP 1.6
Remover Impedimentos PMC SP 2.1
PMC SP 2.2
PMC SP 2.3
IPM SP 2.2
IPM SP 2.3
Gerenciar Compromissos PMC SP 1.2
Gerenciar Envolvimento dos Stakeholders PMC SP 1.5
IPM SP 2.1
Coletar Mudanças PMC SP 1.1
Monitorar Riscos PMC SP 1.3
RSKM SP 3.2
Desenvolver Time PMC SP 1.1
IPM SP 3.4
IPM SP 3.5
Adaptação
Realizar Revisão da Sprint PMC SP 1.7
Realizar Retrospectiva da Sprint PMC SP 1.6
PMC SP 2.1
PMC SP 2.2
IPM SP 1.6
140
Fase Atividade Práticas do CMMI
Monitorar Projeto
Monitorar Estimativas e Custos PMC SP 1.1
IPM SP 1.5
Monitorar Backlog do Projeto PMC SP 1.1
PMC SP 1.4
IPM SP 1.5
Reportar Progresso do Projeto PMC SP 1.1
PMC SP 1.6
PMC SP 2.1
PMC SP 2.2
Atualizar Base Histórica de Projetos IPM SP 1.6
Como mencionado anteriormente, o Scrummi foi desenvolvido a partir da extensão do
Scrum com o propósito de incorporar soluções simples para as divergências e lacunas
reportadas na seção 5.1.
Com relação às lacunas existentes e que impactam diretamente no planejamento e
monitoramento do projeto representado pelas áreas de processo PP e PMC, o Scrummi
conseguiu resolver todas de forma que todas as práticas podem agora ser classificadas como
Satisfeitas. O mesmo acontece com todas as lacunas relacionadas com o gerenciamento de
riscos e que afetam diretamente as práticas de RSKM, que atividades específicas apoiadas
por guias e templates foram definidas no processo visando identificar e analisar os riscos do
projeto bem como definir e acompanhar suas ações de mitigação e contingência.
Observa-se, entretanto, que apesar do Scrummi ter inserido no seu processo atividades
genéricas e bastante simplificadas para estabelecer a abordagem de execução do processo
(incluindo a definição do processo do projeto) e de ter definido um artefato simples para a
base histórica de projetos, o Scrummi não é auto-suficiente para atender todas as práticas de
IPM. Especialmente as que afetam a primeira meta SG1 relacionada com o estabelecimento e
gerenciamento de um projeto de acordo com um processo organizacional (definido e mais
abrangente que inclua todas as disciplinas e atividades necessárias para adquirir, desenvolver
ou manter o produto), o qual é adaptado a partir do conjunto de processos padrão da
organização. Esta decisão foi proposital. Acredita-se que a definição de um processo
organizacional completo deve ser executada considerando-se a realidade de cada empresa
estando o mesmo alinhado às estratégias, maturidade e capacidades da organização, o que o
torna bem específico. Sendo assim, sugere-se que as atividades do Scrummi sejam
complementadas com as definições e guias e critérios de adaptações dos processos
organizacionais específicos das empresas.
141
A Tabela 55 apresenta a classificação do Scrummi para práticas do CMMI que foram
consideradas Não Satisfeitas ou Parcialmente Satisfeitas no Capítulo 3.
Tabela 55: Classificação das práticas do CMMI x Scrummi
Principais lacunas
Práticas CMMI impactadas Classificação
Ausência de
técnicas ou
práticas
alternativas para a
realização das
estimativas do
projeto
PP SP 1.2 Estabelecer Estimativas de Atributos de
Produtos de Trabalho e Tarefa
Satisfeita
SP 1.4 Determinar Estimativas de Esforço e
Custo
Satisfeita
PMC SP 1.1 Monitorar Parâmetros de Planejamento
do Projeto
Satisfeita
Lacunas no
planejamento e
gerenciamento do
orçamento do
projeto
PP SP 1.4 Determinar Estimativas de Esforço e
Custo
Satisfeita
SP 2.1 Estabelecer Orçamento e Cronograma Satisfeita
PMC SP 1.1 Monitorar Parâmetros de Planejamento
do Projeto
Satisfeita
Ausência de um
melhor
gerenciamento dos
riscos
PP SP 2.2 Identificar Riscos do Projeto Satisfeita
PMC SP 1.3 Monitorar os Riscos do projeto Satisfeita
RSKM
SP 1.1 Determinar Fontes e Categorias do risco Satisfeita
SP 1.2 Determinar os parâmetros do risco Satisfeita
SP 1.3 Estabelecer estratégia de gerenciamento
dos riscos
Satisfeita
SP 2.1 Identificar Riscos Satisfeita
SP 2.2 Avaliar, categorizar e priorizar riscos Satisfeita
SP 3.1 Desenvolver planos de mitigação de
riscos
Satisfeita
SP 3.2 Implementar planos de mitigação de
riscos
Satisfeita
Lacunas no
gerenciamento de
ações corretivas de
problemas e
dependências
PMC SP 2.2 Tomar ações corretivas Satisfeita
SP 2.3 Gerenciar ações corretivas Satisfeita
IPM SP 2.2 Gerenciar Dependências Satisfeita
SP 2.3 Resolver Questões de Coordenação Satisfeita
Ausência de um
planejamento e
monitoramento dos
dados do projeto
PP SP 2.3 Planejar o Gerenciamento de Dados Satisfeita
PMC SP 1.4 Monitorar o gerenciamento dos dados Satisfeita
Lacunas no
gerenciamento
integrado do
projeto devido à
ausência de um
processo integrado
IPM SP 1.1 Estabelecer o Processo Definido do
Projeto
Parcialmente
Satisfeita
SP 1.2 Utilizar os Ativos de Processos
Organizacionais para o planejamento das
atividades do projeto
Parcialmente
Satisfeita
142
Principais lacunas
Práticas CMMI impactadas Classificação
e definido que é
adaptado a partir
do conjunto de
processos padrão
da organização
SP 1.3 Estabelecer o Ambiente de trabalho do
projeto
Parcialmente
Satisfeita
SP 1.4 Integrar os Planos Parcialmente
Satisfeita
SP 1.5 Gerenciar o Projeto Utilizando os planos
Integrados
Parcialmente
Satisfeita
SP 1.6 Contribuir para Ativos de Processos
Organizacionais
Parcialmente
Satisfeita
Os resultados gerais da análise e mapeamento da cobertura do Scrummi nas áreas de
processo do CMMI foram consolidados na Figura 32. Este resultado mostra que o Scrummi é
100% compatível com práticas das Áreas de Processo Planejamento do Projeto (PP),
Monitoramento Controle do Projeto (PMC) e Gerenciamento de Riscos (RSKM) do CMMI
devendo ser complementado com processos organizacionais das empresas para se tornar
100% aderente à area de processo Gerenciamento Integrado de Projetos (IPM).
Figura 32: Cobertura do Scrummi nas PAs de Gerenciamento de Projeto do CMMI
5.13 Considerações finais
Neste capítulo foi apresentado Scrummi, processo de gestão ágil aderente ao CMMI,
proposto nesta dissertação com extensões ao método ágil Scrum. Foi apresentada sua visão
geral, seu formato e apresentações, seus papéis, artefatos, e framework de atividades segundo
as fases da APM, bem como o ciclo de vida proposto para o projeto. Todas as suas atividades
foram especificadas e detalhadas. Por fim foi apresentada a aderência do Scrummi ao CMMI
considerando as práticas específicas das áreas de processo de gestão de projeto: Planejamento
143
do Projeto (PP), Controle e Monitoramento do Projeto (PMC), Gerenciamento Integrado de
Projetos (IPM) e Gerenciamento de Riscos (RSKM).
Espera-se que o Scrummi possa contribuir substancialmente para organizações CMMI
que têm interesse em introduzir metodologias ágeis em seus processos. Considera-se que o
Scrummi também é útil para organizações que pretendem definir um novo framework para a
gestão de projetos que seja ao mesmo tempo compatível com práticas do Scrum e CMMI
mostrando assim que agilidade e disciplina podem andar juntas.
Observa-se também que, embora o Scrummi seja um processo de gestão ágil
primariamente desenvolvido para o contexto de execução de projetos de software, acredita-se
que o mesmo, com poucas adaptações, pode ser utilizado na execução de projetos de outra
natureza, como por exemplo, hardware, firmware, software embarcado ou até mesmo projetos
de gerenciamento de programas de melhoria de qualidade.
No próximo capítulo, apresenta-se a aplicação prática do Scrummi em um projeto piloto
real de desenvolvimento de software em um centro brasileiro de inovação de Tecnologia da
Informação e Comunicação.
144
6 Aplicação do Scrummi
Este capítulo apresenta uma aplicação prática do Scrummi em um projeto real de
desenvolvimento de software. Inicialmente descrevem-se os objetivos do estudo de caso,
seguindo-se pela contextualização da organização e projeto piloto no qual o processo foi
aplicado, a descrição da execução do estudo, principais desafios, resultados alcançados e
lições aprendidas.
6.1 Objetivos
Alinhado às metas específicas deste trabalho descritas no Capítulo 1, o estudo de caso
realizado tem como objetivos principais:
Contribuir de forma relevante em organizações que têm um processo baseado no
CMMI e estão planejando a melhoria dos seus processos com a introdução de
agilidade;
Aplicar o Scrummi em um projeto real de desenvolvimento de software,
garantindo aumento da produtividade de pelo menos 20% comparado à média
organizacional;
Identificar critérios de uso do processo a partir de características dos projetos
como: duração, tamanho da equipe, estabilidade dos requisitos, complexidade do
projeto, envolvimento do cliente;
Coletar resultados e lições aprendidas do uso do Scrummi com vistas à sua
melhoria contínua.
145
6.2 Estudo de Caso
6.2.1 Contextualização da organização
O estudo de caso foi realizado no Instituto Atlântico, uma instituição de pesquisa e
desenvolvimento localizada em Fortaleza, Ceará, fundada em novembro de 2001 por
iniciativa do Centro de Pesquisa e Desenvolvimento em Telecomunicações (CPqD). Desde a
sua fundação, o Instituto Atlântico iniciou um amplo programa de qualidade, contando com
um processo de desenvolvimento de sistemas aderente aos níveis de maturidade 3 do CMMI e
norma ISO 9001:2000. A empresa também possui um forte incentivo para o gerenciamento de
projetos disciplinado. Um escritório de projetos foi estabelecido em 2007 para gerir o
portfólio de projetos da empresa e manter o processo de gestão de projetos baseado
primariamente ao PMBOK e CMMI, mas adaptado à cultura da empresa.
O Instituto Atlântico tem no seu quadro de funcionários cerca de 200 colaboradores
que participam do desenvolvimento de projetos de pesquisa e desenvolvimento para vários
tipos de negócio (automação comercial, automação bancária, automação de processos, portais,
telecomunicações, setor financeiro, indústria e governo) abrangendo as mais diversas
modalidades, entre elas: fábrica de sistema, fábrica de software ou fábrica de solução.
Na época da realização deste estudo de caso, o Atlântico possuía aderência ao nível 3 e
encontrava-se em processo de implantação dos níveis 4 e 5 de maturidade do modelo CMMI.
Para tanto contava com o apoio da metodologia Six Sigma (TAYNTOR, 2003) visando a
melhoria contínua dos seus processos. Nesse contexto, foi iniciado um projeto DMADV
(Define, Measure, Analyse, Design and Verify) denominado Processos Ágeis, tendo como
principal objetivo melhorar a produtividade e simplificar os processos dos projetos por meio
da adoção de implantação de práticas de gestão ágeis.
6.2.2 Caracterização do projeto piloto
O projeto selecionado para o estudo de caso do Scrummi foi um projeto de
desenvolvimento de um sistema de Gestão de Suprimentos, parte integrante de uma solução
de ERP (Enterprise Resource Planning) para um cliente da indústria têxtil localmente situado
no estado do Ceará. O projeto deveria ser executado segundo a modalidade de Fábrica de
146
Software, com escopo variável compreendendo um esforço de 10.000 (dez mil) horas de
trabalho, consumidas em um banco de 500 Use Case Points. O custo do projeto era fixo com
prazo limitado e alvo de seis meses.
O projeto foi iniciado em agosto de 2008 e concluído em fevereiro de 2009 com
duração final de sete meses. A autora deste trabalho assumiu o papel do Gerente do Projeto, o
qual contava com um time de tamanho médio, com aproximadamente doze pessoas incluindo
todos os perfis necessários para a execução do projeto entre eles: analistas de requisitos,
projetistas, desenvolvedores, testadores, gerente de configuração e mudanças, e engenheiro de
qualidade. Parte do time do projeto era formada por desenvolvedores da empresa do cliente.
O projeto possuía requisitos extremamente voláteis os quais foram definidos ao longo
do mesmo com grande envolvimento do cliente. A lista de casos de uso que compunha o
Backlog do Projeto era alterada a cada início de sprint. O envolvimento do cliente no projeto
era muito grande, já que o Gerente do Produto participava ativamente da construção do
Backlog do Projeto e das reuniões de Planejamento da Sprint, interagindo sempre que
necessário com o time do projeto, de forma rápida garantindo a agilidade necessária para o
alcance dos objetivos das sprints do projeto.
Com relação à complexidade do projeto, esta foi classificada como grande, pois o time
tinha pouco domínio sobre o negócio e tecnologia utilizada no seu desenvolvimento.
A Tabela 56 apresenta um resumo da caracterização do projeto piloto.
Tabela 56: Caracterização do Projeto Piloto
Caracterização do projeto piloto
Tipo Fábrica de Software
Restrições Preço fixo + Prazo limitado + Escopo
flexível
Duração 7 meses. Sprints com duração 4 semanas
Estimativa Story Points + Use Case Points
Tamanho Time Médio (12 pessoas)
Linha do Produto ERP (Enterprise Resource Planning)
Estabilidade dos requisitos Pequena (Requisitos muito voláteis)
Envolvimento do cliente Grande
Complexidade do projeto Grande
147
6.2.3 Aplicação do Scrummi no projeto piloto
Todo o projeto piloto foi realizado seguindo o ciclo de vida incremental e iterativo
proposto pelo Scrummi, com sprints de 4 semanas e entregas de funcionalidades ao final de
cada sprint como pode ser visto na Figura 33.
Figura 33: Ciclo de Vida do Projeto Piloto
A seguir são descritas como as principais atividades do Scrummi foram realizadas
dentro do contexto do projeto piloto enfatizando descobertas e adaptações realizadas devido
às particularidades do projeto.
6.2.3.1 Definição e Preparação do Projeto
As atividades da fase Definição e Preparação foram realizadas durante a Sprint 0. Nesta
sprint foi estabelecida a Visão Geral do Projeto com base nas informações e premissas
definidas no contrato do projeto e iniciada a construção do Backlog do Projeto.
A estimativa de duração, esforço e custos do projeto oriundas do contrato foram
refinadas considerando as restrições de prazo e custos do projeto como mostra a Tabela 57.
O planejamento de entregas e marcos do projeto foi realizado considerando-se a
restrição de que o escopo dos requisitos era variável. Desta forma um planejamento
preliminar bem simples foi estabelecido, com datas para a conclusão das sprints e escopo
sendo definido ao longo do projeto, a cada sprint de acordo com a Abordagem 2 apresentada
na seção 5.8.2.4. As datas de início e término das sprints foram definidas por meio da
construção de um cronograma macro, o qual incluía os feriados e considerava 20 dias úteis
para a execução da sprint, garantindo assim uma uniformidade de 4 semanas para a duração
148
das sprints da etapa de Desenvolvimento do projeto. Uma exceção ocorreu na duração da
primeira sprint, planejada com duração de apenas 3 semanas por solicitação do cliente. A
Figura 34 exemplifica parte do plano de entregas e marcos do projeto piloto.
Tabela 57: Estimativas de duração, esforço e custos do projeto piloto
Estimativas do Projeto
Observações
Complexidade do projeto
500 UCPs Estabelecida no contrato do projeto. Como
trata-se um projeto de escopo variável as
estimativas dos casos de uso devem ser
realizadas ao longo do projeto
Velocidade média do
time (hora/UCP):
X
horas/UCP
Valor fictício. A velocidade média do time
foi obtida a partir de uma média de
projetos similares executados no Atlântico
Duração da Sprint 0
(semanas)
4 semanas Tempo necessário para o planejamento
inicial e preparação do ambiente de
trabalho em semanas
Quantidade estimada de
sprints do projeto
7 sprints A quantidade de sprints foi obtida a partir
da restrição de prazo do cliente
Duração das iterações
(semanas)
4 semanas Estimativa para as demais sprints do
projeto em semanas
Duração do projeto
(semanas)
32
semanas
Estimativa de duração do projeto em
semanas
Carga horária média do
time (semanal) sprint 0
120 horas
A carga horária média foi obtida a partir da
estimativa de alocação do time
respeitando-se as restrições de prazo e
produtividade assumida para o projeto
Carga horária média do
time (semanal) - demais
sprints
340 horas
Estimativa em horas do
projeto
10.000
horas
A estimativa é derivada a partir da duração
do projeto e carga horária semanal do time
Custo médio do time
($/hora)
Não
disponível
Os valores reais não foram
disponibilizados
Estimativa de custo do
projeto
Não
disponível
A estimativa é derivada a partir da duração
do projeto e custo médio da hora do time
A alocação do time e estabelecimento da comunidade do projeto bem como suas
interfaces e plano de comunicação entre os participantes do projeto também foram realizados
ao longo da Sprint 0. Foram gastas muitas horas com entrevistas e formação do time do
projeto que ficou completo no início da sprint 1.
O processo definido para o projeto piloto foi adaptado a partir dos processos padrões
da organização considerando as atividades e artefatos do Scrummi, de forma que
posteriormente, estas adaptações fossem incorporadas ao processo organizacional criando-se
149
alternativas para se executar a gestão de projetos: ágil ou clássica. Independente da
abordagem de gestão escolhida, a mesma estaria aderente ao modelo CMMI.
Figura 34: Plano de Marcos e entregas do Projeto Piloto
6.2.3.2 Desenvolvimento do Projeto
A cada sprint da etapa de Desenvolvimento do projeto eram realizadas atividades das
fases Especulação, Exploração e Adaptação do Scrummi como mostra a Figura 35 as quais
serão comentadas a seguir.
Figura 35: Atividades das fases Especulação, Exploração e Adaptação executadas no projeto piloto
150
Atualizar Backlog do Projeto
Antes de iniciar cada sprint, o Backlog do Projeto era atualizado com os novos
requisitos funcionais (casos de uso) identificados para o projeto, bem como solicitações de
mudanças, requisitos não funcionais ou requisitos ambientais (capacitações e necessidades de
infra-estutura).
A Figura 36 ilustra o Backlog do Projeto o qual sofreu pequenas adaptações para se
adequar às necessidades do projeto, entre elas:
Figura 36: Backlog do Projeto do projeto piloto
Classificação dos casos de uso em aplicações e módulos de acordo com o
negócio/arquitetura do sistema;
Acompanhamento do status dos casos de uso do sistema (proposto,
especificado, homologado, implementado, pendente, entregue, aceito), de
forma que se pudesse fazer um acompanhamento mensal do status dos casos
de uso conforme indicadores organizacionais;
Acompanhamento das estimativas dos casos de uso em Use Case Points.
Estimar e priorizar itens de Backlog
A estratégia de priorização dos itens de backlog do projeto foi definida em conjunto
com o cliente visando maximizar a produtividade do time de desenvolvimento considerando
restrições do framework de desenvolvimento do projeto. A priorização dos itens de backlog
foi realizada em 2 níveis:
Nível 1 - Módulo do sistema: para cada módulo foi atribuída uma prioridade
para o seu desenvolvimento de acordo com a sua relevância e valor agregado
para o negócio do cliente;
151
Nível 2 - Dependência entre os casos de uso: dentro do módulo, os casos de uso
são priorizados de acordo com a sua dependência. Uma árvore de dependência
de casos de uso foi construída por módulo e a prioridade de implementação
definida foi a seguinte: 1. Casos de uso sem dependências; 2. Casos de uso com
pouca dependência; e 3. Casos de uso com muitas dependências.
Na primeira parte da reunião de Planejamento da Sprint foi incluída uma sessão para
realizar as estimativas dos casos de uso em Story Points. Sendo assim, as estimativas dos itens
de Backlog do Projeto eram realizadas pelo time durante a explanação do caso de uso pelo
Gerente de Produto ao time do projeto. A técnica de Planning Poker foi usada atrelada a
critérios inicialmente sugeridos que consideram as lógicas padrões de implementação dos
casos de uso segundo o framework de desenvolvimento jCompany adotado no projeto.
Definir Objetivos e Escopo da Sprint
Uma vez concluída a estimativa dos casos de uso, a definição do escopo da sprint era
realizada pelo time do projeto, que, em primeiro lugar, avaliava a velocidade (número de SP)
realizada na sprint passada e estimava a velocidade para a sprint corrente. A partir da
velocidade estimada, selecionava-se o conjunto de casos de uso prioritários os quais a soma
de suas estimativas em SPs correspondia à velocidade estimada do time. O escopo era
revisado após a construção do Backlog da Sprint na segunda parte do planejamento da sprint.
Construir Backlog da Sprint
A definição do Backlog da Sprint era realizada durante a Reunião de Planejamento da
Sprint parte 2 na qual o time em conjunto com o Gerente do Projeto definia todo o trabalho
(conjunto de atividades) necessário para a implementação do escopo da sprint, incluindo:
1. Atividades derivadas a partir do processo de desenvolvimento definido para o
projeto;
2. Atividades adicionais complementares às atividades derivadas do processo,
incluindo:
o Atividades para gestão do projeto, gestão de configuração, gestão de
dados e gestão de riscos;
152
o Atividades para capacitações e treinamentos;
o Atividades para a configuração e estabelecimento do ambiente de
desenvolvimento.
As estimativas de esforço das atividades de processo eram derivadas a partir da
complexidade dos casos de uso em Story Points, fazendo-se os ajustes necessários de acordo
com dados históricos da sprint passada. A Figura 37 ilustra a planilha de estimativa usada na
Sprint 4 do projeto.
Figura 37: Planilha de estimativas de esforço dos casos de uso a partir de sua complexidade
As estimativas (esforço) das demais atividades eram realizadas em conjunto com o time,
levando-se em consideração os dados históricos de sprints passadas bem como opiniões de
especialistas. A Figura 38 exemplifica o Backlog da Sprint 4 cujas atividades eram
organizadas e classificadas de acordo com as disciplinas do processo definido para o projeto
tais como: planejamento, requisitos, análise e projeto, codificação, testes, gerência de
configuração e outras.
Ao concluir a definição do Backlog da Sprint, suas atividades eram cadastradas e
disponibilizadas na ferramenta organizacional JIRA (ATLASSIAN, 2009), uma ferramenta
web bastante flexível para monitoramento de bugs e de problemas (impedimentos),
acompanhamento de tarefas e gerenciamento de projeto de software. A ferramenta JIRA foi
configurada e adaptada para realizar o cadastro de atividades do Backlog da Sprint e
153
monitoramento do mesmo assim como o cadastro e monitoramento dos impedimentos de
acordo com os artefatos do Scrummi.
Figura 38: Backlog da Sprint 4 do projeto piloto
Com relação à granularidade e atribuição das atividades cadastradas no Backlog da
Sprint foram testadas 2 abordagens: uma para a primeira sprint e outra para as demais, fruto
do aprendizado obtido na execução do processo na sprint 1.
Na primeira sprint a granularidade das atividades foi pequena, com atividades estimadas
individualmente para cada membro do time, não ultrapassando 40 horas de trabalho. Esta
estratégia apresentava a vantagem de proporcionar um monitoramento mais efetivo das
atividades realizadas na sprint, porém em contrapartida, apresentava a desvantagem de gerar
um esforço (overhead) grande para cadastro e reporte das horas realizadas pelo time. Foi
investido muito tempo para a gestão e reporte individual de horas.
Considerando as lições aprendidas na sprint 1, a partir da segunda sprint as atividades
foram estimadas com uma granularidade maior. Uma atividade pode ser atribuída para mais
de uma pessoa do time. Por exemplo:
154
1 única atividade para análise e projeto de todos os casos de uso;
1 única atividade para acompanhamento do projeto pelo time = total de horas
necessário para todo o time participar das reuniões diárias e atualizar o backlog
da sprint;
1 única atividade para revisão de código dos casos de uso com estimativa = total
de horas necessário para realizar a revisão de todos os casos de uso da sprint.
As atividades de codificação permaneceram com uma granularidade menor, de forma
que pudéssemos acompanhar a codificação de cada caso de uso separadamente, sendo
estimada 1 atividade de codificação para cada caso de uso do projeto.
As vantagens observadas nesta segunda estratégia foram: menor esforço para o
planejamento e monitoramento da sprint. Porém a granularidade maior causou uma perda de
visibilidade da completude das atividades realizadas.
Monitorar a Sprint
As reuniões diárias eram realizadas informalmente com aproximadamente 30 min,
sendo conduzidas pelo Gerente de Projeto. Todos ficavam sentados (e não de pé), ao redor de
uma mesa perto do quadro ágil do projeto ilustrado na Figura 39 que era atualizado pelo time
do projeto antes do início da reunião.
Nas primeiras sprints o time respondia às 3 perguntas básicas da reunião diária do
Scrum, que com o passar do tempo foram reformuladas para:
Qual foi a minha meta ontem?
Qual será a minha meta até a próxima reunião?
Quais são os impedimentos?
As perguntas adaptadas possibilitaram uma mudança no comportamento e
comprometimento do time do projeto estabelecendo desafios associados ao cumprimento de
metas. As metas individuais eram atreladas aos objetivos da sprint, incentivando o trabalho
em equipe e alcance de marcos semanais internos, definidos para as atividades de engenharia.
155
Figura 39: Quadro ágil do projeto piloto
Além das reuniões diárias, eram realizadas reuniões semanais formais de
acompanhamento do projeto com o Gerente do Projeto e todo o time e reuniões quinzenais
com a Gerência Sênior e cliente.
Toda atualização do Backlog da Sprint com horas realizadas e restantes para se
completar as tarefas do backlog era realizada na ferramenta JIRA, a qual dispunha de várias
consultas possibilitando uma configuração de dashboard para o time do projeto que facilitava
reporte de horas, visualização dos impedimentos e pendências do projeto. O Gráfico de
Consumo da Sprint também era acompanhado no JIRA, como mostra a Figura 40.
Os impedimentos registrados no JIRA eram tratados e resolvidos diariamente pelo
Gerente de Projeto com a colaboração do time. O monitoramento dos riscos era realizado ao
longo da execução da sprint sendo tratado nas reuniões diárias, semanais e quinzenais do
projeto.
Como todo o trabalho no projeto era realizado em sprints, o monitoramento do escopo e
objetivos da sprint era realizado constantemente, avaliando-se o que seria possível entregar ao
final da sprint, cumprindo-se assim os compromissos assumidos. Para o time do projeto, uma
prática do Scrum deveria ser seguida à risca: “Muda-se o escopo, mas não se muda o prazo da
sprint”.
156
Figura 40: Monitoramento da Sprint realizado pela ferramenta JIRA
Negociações eram realizadas sempre que o time obeservava a possbilidade de não
entregar o escopo inicialmente planejado ou entregar mais escopo do que o planejado.
Desenvolver Time
O desenvolvimento do time era realizado por meio de: feedbacks constantes;
encorajamento para realização de atividades com foco em resultados e alcance dos objetivos
da sprint; definição de metas individuais que ajudam na auto-organização das atividades;
planejamento e realização de capacitações individuais e coletivas; bem como adaptações
constantes para seguimento do processo. Para tanto eram usadas estratégias de motivação
incluindo:
Eleição do destaque da sprint, com entrega de brinde ao vencedor e fixação de cartaz
na sala com a foto do destaque. Os seguintes itens eram avaliados: Comprometimento
- Colaborou com total dedicação e empenho com vista no alcance dos objetivos da
iteração e metas do projeto?; Trabalho em equipe - Relacionou-se bem com toda a
equipe compartilhando problemas e soluções que contribuíram para a realização do
trabalho conjunto do time do projeto?; Desempenho - Apresentou uma boa capacidade
para a execução das suas atividades sendo capaz de produzir trabalho com
157
produtividade e qualidade?; Pontualidade - Atuou com foco para o alcance dos
resultados e objetivos da iteração atendendo aos prazos e compromissos assumidos? O
voto era secreto. Ninguém podia votar em si mesmo;
Celebrações ao final de cada sprint com direito a coca-cola, salgadinhos e bolo. Um
momento importante para a confraternização e integração do time com a participação
do cliente;
Distribuição de chocolate nas reuniões de acompanhamento para quem cumpre sua
meta diária;
Monitorar Projeto
Ao concluir a sprint, era realizada uma análise do escopo planejado contra o realizado
como mostra a Figura 41.
Figura 41: Monitoramento do escopo da sprint
Esta revisão de escopo incluía:
Avaliação do percentual de completude dos casos de uso entregues. Muitas
vezes, devido à restrição do tempo (sprints realizadas em timebox de 4
semanas), não era possível concluir todo o desenvolvimento e testes do caso de
uso iniciado em uma sprint, devendo ser complementado na próxima;
158
Revisão das estimativas em SP de acordo com o entendimento mais
aprofundado do caso de uso alcançado ao longo da sprint.
Na reunião de revisão da sprint apresentavam-se os resultados alcançados, incluindo
escopo planejado x realizado, métricas do projeto e o sistema com as funcionalidades
desenvolvidas na sprint. Nesta reunião também se coletavam feedbacks e impressões do
cliente com relação aos resultados alcançados, servindo de insumos para a identificação de
melhorias e adaptações para a próxima sprint.
Em seguida realizava-se a reunião de retrospectiva da sprint e reunião com a Gerência
Sênior para discutir indicadores do projeto, riscos e principais problemas.
6.2.3.3 Entrega
Nesta etapa do projeto foi realizada a Sprint 7 com apenas 2 semanas de duração. Nesta
sprint, o time do projeto foi parcialmente desalocado, ficando com apenas 2 pessoas, que
deveriam executar as atividades para: correção de bugs pendentes, transferência de
conhecimento e aprendizados-chave, e instalação da aplicação no ambiente de
desenvolvimento e homologação do cliente.
Também foi realizada a celebração final do projeto em reconhecimento ao trabalho
realizado e ao sucesso alcançado no projeto. O fim do projeto foi comemorado com um jogo
de Paintball
4
no qual participaram o time do projeto e o time do cliente num clima de
descontração e integração. Por fim, atividades relacionadas com a liberação da infra-estrutura
do projeto foram realizadas.
6.2.4 Principais desafios encontrados na aplicação do Scrummi
Ao longo da aplicação do Scrummi no projeto piloto vários desafios foram
identificados, dentre as quais se destacam:
4
O Paintball é um esporte radical que consiste em um jogo em que duas ou mais equipes competem entre si,
usando carregadores de bolas que soltam tinta ao atingir o adversário.
159
Mudança cultural na forma e estilo de gestão do projeto
O primeiro grande desafio do projeto piloto estava relacionado com a mudança cultural
e comportamental no estilo de gerenciamento do projeto baseado na liderança e colaboração.
Este novo estilo de gestão favoreceu a participação do time no planejamento e a construção de
equipes auto-organilzadas e autodisciplinadas que compartilham a responsabilidade na
execução do projeto. O Gerente de Projeto do Scrummi deixa de lado o estilo clássico de
gerenciamento baseado no monitoramento e controle e passa a atuar como um facilitador e
líder do time, encorajando-o a executar constantemente o seu trabalho com excelência
obtendo-se, desta forma, maior comprometimento e produtividade.
Além da liderança colaborativa, outro aspecto de mudança cultural importante no
gerenciamento do projeto estava relacionado aos veis de planejamento do projeto. Deixou-
se de lado o planejamento detalhado realizado completamente no início projeto e passou-se a
adotar um planejamento incremental e iterativo, em que o detalhamento só é feito no início de
cada sprint. Isto permitiu abraçar as mudanças ocorridas ao longo do projeto de forma natural
e tranqüila favorecendo a entrega de funcionalidades que atendiam aos requisitos do cliente
agregando valor ao seu negócio.
Necessidade de integração de estimativas em Story Points e Use Case Points
Durante a execução do projeto ficou evidenciada a necessidade de conversão e
integração de estimativas em Story Points (SP) para Use Case Points (UCP) de forma que o
projeto utilizasse a base quantitativa organizacional estabelecida em UCPs sem
comprometer a agilidade necessária proporcionada pela estimativa em SP (MARÇAL et al.,
2009).
Desta forma, após a reunão de Planejamento da Sprint, as estimativas em Story Points
realizadas pelo time do projeto seriam convertidas pelo Gerente do Projeto em Use Case
Points, usando-se a ferramenta organizacional do Instituto Atlântico, que calcula as UCPs a
partir da contagem do número de transações dos casos de uso. A quantidade de transações
determina a complexidade dos mesmos, que, juntamente com a complexidade dos atores e os
fatores técnicos e ambientais do projeto, determina o tamanho do produto.
O processo de conversão e integração de SPs para UCPs foi dividido em três etapas. Na
primeira etapa, executada nas primeiras três sprints do projeto piloto, as UCPs foram
160
calculadas derivando-se as complexidades dos casos de uso a partir das Story Points de
acordo com a Tabela 58, construída empiricamente pelo time do projeto.
Tabela 58: Complexidade dos casos de uso X Story Points
SP Complexidade do Caso de Uso
1, 2 e 3 Simples
5 e 8 Médio
13 Complexo
21 e 34 N-Complexo
A segunda etapa foi iniciada na terceira sprint por meio da realização de uma
investigação para se comparar e avaliar estatisticamente a conversão de Story Points em Use
Case Points e a partir daí construir um modelo consistente para gerar número de transações a
partir de Story Points. Durante esta investigação um conjunto de 21 casos de uso do projeto
foi selecionado para compor a amostra do estudo e para cada caso de uso da amostra foi
realizada a sua contagem real de transações, derivada complexidade e calculada a sua UCP de
acordo com os procedimentos organizacionais do Atlântico.
A partir dos dados coletados (Story Points e contagem de transações) foi gerado,
aplicando-se a técnica de regressão linear simples, o seguinte modelo de previsão de
transações a partir de Story Points comprovado estatisticamente a um nível de significância de
1% e grau de explicação de 59,8%:
Transações = 2,39 + 0,296 SP (Story Points)
A terceira e última etapa do processo iniciou-se a partir da sprint 5. As estimativas do
projeto passaram a ser realizadas da seguinte forma:
O time realizava as estimativas de cada caso de uso em Story Points;
O modelo foi utilizado para converter os Story Points em transações;
Os números de transações obtidos alimentaram uma ferramenta de estimativas,
já utilizada anteriormente pela organização, para o cálculo dos Use Case Points.
Os Use Case Points foram utilizados para o planejamento e acompanhamento do
projeto, bem como para a obtenção de dados históricos da organização. A utilização do
método de conversão de Story Points em Use Case Points permitiu a combinação dos
161
benefícios dos dois métodos de estimativas, garantindo maior comprometimento do time com
aumento da produtividade.
Melhoria da produtividade
A proposta de aplicação do Scrummi apostava na hipótese de melhoria de produtividade
do projeto por meio da introdução de práticas ágeis dentro de um contexto de alta maturidade.
A melhoria de produtividade (calculada pela relação horas por UCP) foi identificada logo no
início do projeto após a execução das três primeiras sprints. Os resultados alcançados e
medidos nas sprints seguintes confirmaram a alta produtividade do projeto o qual alcançou
resultados cerca de 4 vezes melhor que a produtividade organizacional inicialmente
estabelecida para o projeto. Desta forma, a meta inicial estabelecida para a melhoria de
produtividade em 20% foi atingida.
Atualização e Monitoramento do Backlog da Sprint
Outro grande desafio do projeto foi resolver o problema de reporte de horas (realizadas
e re-estimadas) para as atividades do Backlog da Sprint. O problema foi relacionado a várias
causas, dentre as quais se destacam: a curva de aprendizado no uso da ferramenta JIRA e a
falta de disciplina do time em realizar reporte diário de horas gastas em suas atividades. Sem
reporte de horas, o gráfico de consumo da Sprint ficava desatualizado o que prejudicava o
monitoramento da Sprint.
Para resolver o problema foram realizadas capacitações do time no uso da ferramenta
JIRA e estabelecido um contrato de trabalho com o time no qual introduzimos regras para o
pagamento de multa de R$ 1,00 para quem atrasasse a atualização diária do Backlog da
Sprint. As multas deveriam ser creditadas no Godofredo”, o porquinho-cofre do projeto. Ao
final da sprint o dinheiro arrecadado com as multas era usado para compras de chocolates ou
lanche para o time. A iniciativa colheu bons resultados. Resolveu-se o problema de
atualização do Backlog da Sprint. De quebra o Godofredotornou-se conhecido em toda a
organização e passou a integrar o time do projeto.
Tamanho, inexperiência e maturidade do time
Como dito anteriormente, o time do projeto era formado por 12 pessoas – sendo
considerado de tamanho médio e acima da quantidade ideal de pessoas proposta pelo Scrum.
162
Além disso, a maior parte do time do projeto piloto era formada por novatos e recém
contratados. Desta forma, muitos deles tinham experiências anteriores de desenvolvimento
ágil, porém sem seguir processos de desenvolvimento de software aderentes a modelos de
maturidade. Em contrapartida, outra parte do time, era formada por pessoas experientes e
antigas na organização, com profundo conhecimento do processo organizacional.
Combinar esta diversidade e maturidade do time foi um dos maiores desafios do
projeto, que contou com a experiência da autora deste trabalho no papel de Gerente do
Projeto. Orientação, capacitação e desenvolvimento do time foram ações realizadas
constantemente. À medida que as sprints iam passando, o time amadureceu e ficou mais
integrado, tornando-se mais fiel ao processo e alcance dos objetivos das sprints. Desta forma,
comprovou-se que se é possível executar um projeto com a adoção de práticas ágeis sendo ao
mesmo tempo aderente aos níveis de maturidade do CMMI.
Foco nas reuniões de acompanhamento diárias
As reuniões diárias realizadas nas primeiras sprints do projeto piloto eram muito
longas (duravam entre 30 e 45 minutos) e com várias dispersões. Regular o time e orientar
para que nestas reuniões fossem realizados apenas reporte do status das suas atividades
tornou-se um grande aprendizado ao longo da execução do projeto. Apesar de não ter sido
fácil, observaram-se melhorias contínuas a cada sprint do projeto. Uma boa prática adotada
foi anotar em um postit a resposta para as três perguntas da reunião, de forma que pudessem
ser lidas as respostas com objetvidade. Nas últimas sprints as reuniões eram realizadas com
maior foco durando apenas 15 minutos.
Atuação do Gerente de Produto
O Gerente do Produto no Scrummi é o representante do cliente que é responsável por
gerenciar o escopo do produto/sistema de acordo com as necessidades dos stakeholders do
projeto e priorizar entregas de funcionalidades com maior valor agregado.
No projeto piloto, apesar da proximidade e integração do Gerente do Produto com o
time do projeto, percebemos que o mesmo não estava totalmente capacitado para executar
suas atividades como ilustradas na Figura 42. Desta forma foi necessário contar com a
colaboração ativa do Gerente do Projeto para a realização e acompanhamento das suas
atividades.
163
Figura 42: Atividades realizadas pelo Gerente de Produto
6.2.5 Outras aplicações do Scrummi
Durante a aplicação do Scrummi no projeto piloto foram iniciados dois outros projetos
(projeto A e projeto B) no Instituto Atlântico os quais tinham características e atributos que se
encaixavam bem na proposta do gerenciamento ágil.
O projeto A corresponde a um projeto de pesquisa para desenvolvimento de uma central
de reprodução de mídia e gravação de conteúdo da TV digital. O projeto iniciou em janeiro de
2009 e tem duração de 11 meses. O projeto tem escopo flexível incluindo um conjunto de
funcionalidades básicas que devem ser entregues ao final dos primeiros 6 meses do projeto e
outro conjunto de funcionalidades avançadas a serem entregues nos demais 5 meses. É um
projeto que tem um time grande com cerca de 20 pessoas com perfis multidisciplinares. A
complexidade do projeto é alta, pois trata-se de um projeto de pesquisa de firmware e
software com vários desafios, dependências e descobertas a serem realizadas visando alcançar
os objetivos e expectativas do cliente. A caracterização geral do projeto A pode ser vista na
Tabela 59.
Tabela 59: Caracterização do Projeto A
Caracterização do projeto A
Tipo Projeto de software e firmware
Restrições Preço fixo + Prazo limitado + Escopo
flexível
Duração 11 meses. Sprints com duração 4 semanas
Estimativa Story Points + Use Case Points
Tamanho Time Grande (20 pessoas)
Linha do Produto TV Digital
Estabilidade dos requisitos Pequena (Requisitos muito voláteis)
Envolvimento do cliente Médio
Complexidade do projeto Grande
O projeto B corresponde ao desenvolvimento de vários sub-projetos de aplicativos
experimentais para dispositivos móveis (celulares). O projeto teve início em novembro de
2008 com término previsto para julho de 2009. O projeto tem escopo totalmente flexível, com
164
sub-projetos e seus requisitos sendo definidos em conjunto com o cliente ao longo do mesmo,
restrito ao consumo de um banco de aproximadamente 24.000 horas de trabalho. Participam
do projeto cerca de 20 pessoas que são alocadas em times pequenos de no máximo 6 pessoas
para a realização dos sub-projetos, que duram em média 2 ou 3 meses, realizados em sprints
de 4 semanas. A caracterização geral dos sub-projetos inseridos no contexto do projeto B
pode ser vista na Tabela 60.
Tabela 60: Caracterização dos sub-projetos do Projeto B
Caracterização dos sub-projetos do Projeto B
Tipo Software embarcado
Restrições Preço fixo + Prazo limitado + Escopo
flexível
Duração 2 ou 3 meses. Sprints com duração 4
semanas
Estimativa Story Points + Use Case Points
Tamanho Time Pequeno (até 6 pessoas)
Linha do Produto Telefonia Móvel
Estabilidade dos requisitos Pequena (Requisitos muito voláteis)
Envolvimento do cliente Médio
Complexidade do projeto Grande
O Scrummi está sendo aplicado nestes projetos, os quais se encontram atualmente na
etapa de Desenvolvimento do seu ciclo de vida. Para estes projetos, as atividades propostas no
Scrummi adequaram-se bem às suas características, com poucas adaptações necessárias.
6.2.6 Resultados e Lições Aprendidas
Complementando os desafios da aplicação do Scrummi observou-se também uma série
de benefícios. Estes benefícios são caracterizados pelo uso de uma abordagem ágil para o
gerenciamento de projetos. Entre os principais resultados pode-se citar:
Maior clareza e visibilidade do planejamento realizado a cada sprint pelo
próprio time com a participação efetiva do cliente;
Uma maior integração do time do projeto, sendo observado constante empenho
de todos para fazer dar certo;
Uso de estimativas rápidas em Story Points proporcionando maior agilidade no
processo de planejamento;
165
Implantação de uma cultura participativa no planejamento e gestão do projeto
impondo credibilidade, transparência e comprometimento sobre o que se faz;
Autogerenciamento do time com amadurecimento gradativo;
Avaliações e adaptações constantes do processo ao longo do projeto gerando
aumento de produtividade a cada sprint.
Ao longo do projeto piloto também foi possível identificar várias lições aprendidas
relacionadas com o uso de um processo de gestão ágil em um ambiente de alta disciplina
como no caso do projeto piloto. Entre as principais lições destacam-se:
A mudança de paradigma é grande na gestão de projetos. Deixa-se de lado
cronogramas bem definidos com caminhos críticos e dependências entre as
atividades para se ter um conjunto de atividades que deverá ser realizado pelo
time em um período fixo de tempo;
A entrega constante de software funcionando é muito importante para a
credibilidade do cliente com relação ao projeto realizado;
O tamanho da sprint deve ser bem avaliado, de forma a acomodar a realidade do
projeto (riscos, complexidade, maturidade do time);
O autogerenciamento do time depende muito da sua maturidade. À medida que o
time vai amadurecendo é possível deixá-lo mais à vontade para decidir sozinho
quem faz o quê e quando. Até é preciso que o Gerente de Projeto esteja mais
perto orientando e definindo junto com eles o que fazer com vistas ao alcance
dos objetivos da sprint;
É muito importante definir ou ter um processo de engenharia ágil, adequado às
necessidades da organização e do projeto, possibilitando entregas de software
funcionando ao final de cada sprint seguindo a disciplina necessária;
A colaboração e comprometimento do cliente são fundamentais para o sucesso
de um projeto que aplica práticas de gerenciamento ágil e participativo;
O modelo de contratação dos projetos, baseado em um banco de horas é muito
adequado ao contexto do gerenciamento ágil;
166
A utilização de Story Points e Use Case Points integradas tem se mostrado
bastante adequada, permitindo que o projeto faça uso da base quantitativa e dos
processos de alta maturidade estabelecidos na organização sem comprometer
a agilidade necessária ao projeto.
A partir do Scrummi foram introduzidas práticas invovadoras no contexto
organizacional, tornando o projeto piloto uma referência na empresa com relação ao novo
estilo de gerenciamento o qual promove o desenvolvimento e comprometimento do time do
projeto com alta motivação, comprovando melhoria do desempenho e aumento de
produtividade.
6.3 Considerações finais
Este capítulo apresentou a aplicação prática do Scrummi em um projeto real de
desenvolvimento de software, descrevendo o contexto organizacional no qual o estudo de
caso foi realizado, a aplicação das atividades do Scrummi com as devidas adaptações ao
contexto do projeto piloto, as principais dificuldades e desafios enfrentados, bem como os
resultados alcançados e lições aprendidas. A partir da aplicação do Scrummi no projeto piloto
foi possível capturar algumas melhorias que contribuirão para a evolução posterior do
Scrummi, tais como: adição de uma reunião periódica entre o cliente e o Gerente de Projeto
para acompanhamento gerencial do andamento do projeto; atualização e melhoria dos
templates propostos; orientações para se organizar melhor o Backlog do Projeto e Backlog da
Sprint; definição de critérios de aceitação da sprint e do projeto.
Com relação aos objetivos do estudo de caso, pode-se dizer que todos foram
alcançados. A contribuição da aplicação do Scrummi no Instituto Atlântico foi significativa,
uma vez que foi possível comprovar a adoção de práticas ágeis dentro de um contexto de alta
maturidade e ainda contribuir para a melhoria dos processos organizacionais e aumento de
produtividade. No caso do projeto piloto a produtividade alcançada foi 4 vezes maior,
atingindo a meta dos 20% inicialmente estabelecida.
A aplicação do Scrummi nos projetos piloto e em andamento indica características e
premissas fundamentais de projetos para a utilização de uma abordagem de gestão ágil com
sucesso, dentre as quais se ressaltam as seguintes: preço fixo, duração limitada, escopo
flexível, requisitos muito voláteis, complexidade alta e grande envolvimento do cliente.
167
O capítulo seguinte mostrará as conclusões deste trabalho, bem como apresentará
algumas propostas de trabalhos futuros.
168
7 Conclusões e Trabalhos Futuros
Com o intuito de se encontrar soluções para promover velocidade e simplicidade no
desenvolvimento de software em organizações CMMI, vários estudos vêm sendo realizados
desde o início dos anos 2000. Trabalhos mais recentemente publicados apresentam análises
detalhadas realizadas sobre o impacto do uso de metodologias ágeis na implementação de
processos, considerando áreas de processos definidas no CMMI. Estes trabalhos indicam não
apenas ser viável a abordagem de se unir princípios ágeis ao CMMI, como também apontam
esta abordagem híbrida como uma boa estratégia para alcance de melhores resultados em
termos de qualidade e produtividade.
Seguindo esta tendência e acreditando-se na hipótese de que é possível combinar
agilidade com modelos de maturidade, este trabalho abraçou inicialmente o desafio de
analisar a aderência do SCRUM em relação ao CMMI, especificamente no que diz respeito
aos processos de gerenciamento de projetos, além de realizar uma pesquisa de campo para se
investigar o real interesse das organizações em adotar na gestão de seus projetos práticas de
métodos ágeis e CMMI. Os resultados obtidos com as investigações realizadas embasaram a
definição do processo de gestão ágil, chamado Scrummi, o qual combina práticas do Scrum
com práticas das áreas de processo de gerenciamento de projeto do CMMI.
O Scrummi foi e está sendo aplicado em projetos piloto de desenvolvimento de software
no Instituto Atlântico, um centro brasileiro de inovação de tecnologia da informação e
comunicação. A aplicação do Scrummi no Instituto Atlântico contribuiu para se comprovar a
possibilidade de adoção de práticas ágeis dentro de um contexto de alta maturidade
contribuindo para a melhoria dos processos organizacionais e aumento de produtividade.
Com base nos resultados alcançados e lições aprendidas, considera-se que o Scrummi é
útil para organizações que pretendem realizar a gestão dos seus projetos sendo ao mesmo
tempo compatível com práticas do Scrum e CMMI.
169
7.1 Principais Contribuições
Como principais contribuições do trabalho realizado durante esta pesquisa pode-se
destacar:
A investigação da aderência do Scrum ao CMMI identificando os pontos fortes
e problemas existentes. De acordo com o mapeamento realizado pôde-se
concluir que o Scrum o cobre todas as práticas específicas de gerenciamento
de projeto do CMMI, sendo descobertas as maiores divergências entre o Scrum
e as áreas de processo PP, PMC, IPM+IPPD e RSKM;
A investigação do interesse de organizações na melhoria de processos baseada
em Scrum e CMMI e caracterização do perfil de empresas que apostam nesta
tendência. Os resultados da pesquisa mostram que a adoção de práticas ágeis
em processos de desenvolvimento de software é uma tendência tanto em
empresas que possuem processos aderentes ao CMMI quanto em empresas que
desejam alcançar algum nível de maturidade do modelo;
A definição de um processo de gestão ágil simples e completo baseado no
Scrum que é aderente às práticas de gerenciamento de projetos do CMMI. O
Scrummi pode ser facilmente adaptado e introduzido em organizações de
desenvolvimento de software que possuem processos aderentes ao CMMI,
contribuindo de forma relevante para a melhoria dos seus processos
organizacionais bem como para o aumento de produtividade e motivação dos
times de desenvolvimento;
A experiência de uso do Scrummi em projetos piloto, com a identificação e
relato dos principais desafios, benefícios, resultados alcançados e lições
aprendidas. A aplicação do Scrummi nestes projetos permitiu também
identificar algumas características e premissas fundamentais para a utilização
de uma abordagem de gestão ágil com sucesso dentre as quais se ressaltam:
preço fixo, duração limitada, escopo flexível, com requisitos muito voláteis,
complexidade alta e grande envolvimento do cliente.
170
A definição de um método de conversão de estimativas em Story Points para
Use Case Points, o qual permite a combinação dos benefícios dos dois
métodos de estimativas, garantindo aumento da produtividade. A integração
de SP e UCP permite que o projeto faça uso da base quantitativa e dos
processos de alta maturidade já estabelecidos na organização sem comprometer
a agilidade necessária ao projeto.
7.2 Trabalhos Futuros
Durante o desenvolvimento e a aplicação do Scrummi, foram identificadas as
seguintes possibilidades de trabalhos futuros:
Lançar nova versão do Scrummi, introduzindo melhorias identificadas na
execução do projeto piloto e que não foram ainda implementadas;
Aplicação do Scrummi em outras organizações de forma que se possa
identificar outras oportunidades de melhoria do processo;
Expansão do Scrummi combinando o mesmo com outras práticas do CMMI do
nível 2 relacionadas com a definição e gestão de requisitos e métodos ágeis
como, por exemplo: XP e FDD;
Estudo e análise de pesquisas e trabalhos relacionados com o Agile Earned
Value Management (SULAIMAN; BARTON; BLACKBURN, 2009), método
usado para integrar escopo, prazo e custos dentro do contexto ágil;
Estudo e análise de ferramentas que possam auxiliar na execução das
atividades do Scrummi.
171
BIBLIOGRAFIA
ABRAHAMSSON, P. et al. New directions on agile methods: a comparative analysis.
Proccedings of the 25th International Conference on Software Engineering. IEEE
Software Society, p.244-254, 2003.
ADM - Advanced Development Methods, Controlled chaos: living on the edge. Disponível
em: http://www.controlchaos.com/old-site/ap.htm, 1996.
ADM - Advanced Development Methods, Scrum Methodology - Incremental, Iterative
Software Development from Agile Processes. Revision 0.9, 2003.
ALLEMAN, G. Blending Agile Development Methods with CMMI. Cutter IT Journal, Vol
17, No 6, p. 5 -15, June 2004.
ANDERSON, D. Stretching Agile to fit CMMI Level 3. Agile Conference, Denver, July
2005.
ATLASSIAN. JIRA bug and issue tracker. Disponível em: http://www.atlassian.com/
software/jira/. Acesso em maio de 2009.
BECK, K. Extreme Programming Explained: Embrace Change. Addison-Wesley, 1999.
BECK, K. et al. Manifesto for Agile Software Development. Disponível em:
http://agilemanifesto.org/, 2001.
BOEHM, B.; DEMARCO, T. The Agile Methods Fray. IEEE Computer Science, p. 90-91,
June 2002.
BOEHM, B; TURNER, R. Balancing agility and discipline: a guide for theperplexed. Boston:
Addison Wesley, 2004.
BOEHM, B. A View of 20th and 21st Century Software Engineering. ICSE, 2006.
172
CHIN, G. Agile Project Management: How to Succeed in the Face of Changing Project
Requirements. Amacon, 2004.
CHRISSIS, M.; KONRAD, M.; SHRUM, S. CMMI Guidelines for Process Integration and
Product Improvement. Second Edition, Addisson-Wesley, EUA, 2007.
COHEN, D. et al. Agile software development: a DACS state of art report. NY: Data
Analysis Center for Software Fraunhofer Center for Experimental Software
Engineering Maryland and The University of Maryland, 2003.
COHN, M. Agile Estimating and Planning. Prentice Hall, 330 p, 2006.
CROSBY, P. Quality Is Free The Art of Making Quality Certain. New York: McGraw-Hill,
1979.
COCHANGO, Scrum for team systems. Disponível em:
http://scrumforteamsystem.com/processguidance /v2/ProcessGuidance.aspx. Acesso em
maio de 2009.
COCKBURN, A. Crystal clear: a human-powered methodology for small teams. Boston:
Adisson-Wesley, 2004.
DALTON, J. Agile CMMI: Process Innovation at the Speed of Life, SEPG 2006, March 7th,
2006.
DAVIS, C et al. An Agile Approach to Achieving CMMI. Disponível em:
http://www.agiletek.com/thoughtleadership/whitepapers. Acesso em março de 2007.
DEMING, W. Out of the Crisis. Cambridge, MA: MIT Center for Advanced Engineering,
1986.
DINSMORE, P. Gerenciamento de projetos: como gerenciar seu projeto com qualidade,
dentro do prazo e custos previstos. Rio de Janeiro: Qualitymarck, 2004.
DIAS, M. Um novo enfoque para o gerenciamento de projetos de desenvolvimento de
software. Orientador: Antonio Cesar Amaru Maximiano. Dissertação de Mestrado. USP –
São Paulo, Brasil, 2005.
173
DUBRIN, A. Coaching and Mentoring Skills. Prentice Hall, 2004.
DUTTON, J.; McCABE, R. Agile / Lean Development and CMMI. SEPG 2006, March 9th,
2006.
FINK, A. The survey handbook. Thousand Oaks: Sage, The Survey kit, v.1, 129p. 1995.
FOWLER, M. The new methodology. Disponível em: http://martinfowler.com
/articles/newMethodology.html. December 2005.
FREITAS, B. Um Modelo para o Gerenciamento de Múltiplos Projetos de Software.
Orientador: Hermano Perrelli de Moura. Dissertação de Mestrado. UFPE Centro de
Informática, Recife, Brasil, 2006.
GLOGER, B. The Zen of Scrum. Disponível em: http://www.glogerconsulting.de. Acesso em
março de 2007.
GOLDENSON, D.; GIBSON, D. Demonstrating the Impact and Benefits of CMMI: An
Update and Preliminary Results, CMU/SEI-2003-SR-009. SEI, 2003.
GLAZER, H. et al. CMMI® or Agile: Why Not Embrace Both! Technical Note CMU/SEI-
2008-TN-003, SEI, 2008.
JURAN, J. Juran on Planning for Quality. New York: Macmillan, 1988.
HALLOWS, J. The Project Management Office Toolkit. AMACOM Div American Mgmt
Assn, 259 p., 2001.
HAUMER, P. Eclipse Process Framework Composer. Part1: Key Concepts. 2007. Disponível
em: http://www.eclipse.org/epf/general/getting_started.php.
HIGHSMITH, J. Agile Software Development Ecosystems. Addison -Wesley, Boston, MA,
2002.
HIGHSMITH, J. Agile Project Management Creating Innovative Products. Addison -
Wesley, 2004.
HUMPHREY, W. Managing the Software Process. Reading, MA: Addison-Wesley, 1989.
174
IFPUG, International Function Point Users’ Group. Disponível em: http://www.ifpug.org/,
2008.
KERZNER, H. Project Management: a systems approach to planning, scheduling and
controlling. New York: Van Nostrand Reinhold, 1992.
KARNER, G. Metrics for Objectory. Diploma thesis, University of Linköping, Sweden. No.
LiTH-IDA-Ex-9344:21, 1993.
LARMAN, C. Agile & Iterative Development, A Manager’s Guide. Addison-Wesley, 2004.
LEAL, L. Uma abordagem ágil ao gerenciamento de projetos de software baseada no
PMBOK Guide. Orientador: Dr. Hermano Perreli de Moura. Dissertação de Mestrado.
UFPE – Recife, Brasil, 2008.
MARÇAL, A. S. et al. Mapping CMMI Project Management Process Areas to SCRUM
Practices. 31st Annual Software Engineering Workshop, Loyola College, Baltimore, MD,
USA, 6-8 March 2007a.
MARÇAL, A. S. et al. Estendendo o SCRUM segundo as Áreas de Processo de
Gerenciamento de Projetos do CMMI. CLEI 2007: XXXIII Conferencia Latino-
americana de Informática, San Jose, Costa Rica, 9-12 Outubro 2007b.
MARÇAL, A. S. et al. Blending Scrum practices and CMMI project management process
areas. Innovations in Systems and Software Engineering Journal, Volume 4, Number 1 /
April, Springer London, 2008a.
MARÇAL, A. S. et al. Uma Análise sobre o Interesse de Organizações na Melhoria de
Processos de Gestão baseada em Práticas do Scrum e CMMI. CLEI 2008: XXXIV
Conferência Latino-americana de Informática, 8 - 12 de Setembro, Santa Fé, Argentina,
2008b.
MARÇAL, A. S. et al. Scrummi: um processo ágil de gerência de projetos aderente ao
CMMI. Fifth Edition of SEPG LA 2008 - 12-14 November, Mar del Plata Argentina,
2008c.
MARÇAL, A. S. et al. Integração de Story Points e Use Case Points em Projetos Baseados em
SCRUM e CMMI. SBQS 2009 - 01-05 Junho, Ouro Preto – MG, 2009.
175
MEREDITH, J.; MANTEL, S. Project management: a management approach. New York:
Jonh Wiley & Sons, Inc., 2000.
NERUR, S. et al. Challegens of mitigating to agile methodologies: organizations must
carefully acess their readiness before treading the path of agility. Communication of
ACM, v.48, n.5, p73-78, May 2005.
OMG, Object Management Group. SPEM: Software & Systems Process Engeniring
Metamodel Specification, v2.0 (Beta 2). OMG Adopted Specification, 2007.
ORR, K. CMM versus agile development: Religious Wars and Software Development. Cutter
Consortium. Executive Report. Vol.3 Nº 7, 2002.
PAULK, M. Extreme Programming from a CMM Perspective, IEEE Software, vol. 18, no. 6,
p.19-26, 2001.
PMI - Project Management Institute. A Guide to the Project Management Body of
Knowledge, 3a. edição, EUA, 2004.
PRESTON, S.; PICHLER, R. Agile Risks, Agile Rewards, Abril 2005, Disponível em:
http://www.ddj.com/dept/architect/184415308. Acesso em janeiro de 2007.
POPPENDIECK, M.; POPPENDIECK, T. Lean Software Development: An Agile Toolkit,
Agile Software Development Series, 2006.
SEI - Software Engineering Institute. CMMI-DEV: CMMI for Development. V1.2 model,
CMU/SEI-2006-TR-008, http://www.sei.cmu.edu/cmmi/general/, December 2006.
SCHWABER, K. Agile Project Management with Scrum, Microsoft, 2004.
SULAIMAN, T.; BARTON, B.; BLACKBURN, T. AgileEVM Earned Value Management
in Scrum Projects. Disponível em: http://www.solutionsiq.com/PDF/Sulaiman-
AgileEVM.pdf. Acesso em Maio 2009.
SUTHERLAND, J.; JAKOBSEN, R.; JOHNSON, K. Scrum and CMMI Level 5: The Magic
Potion for Code Warriors. The 12th annual European Systems and Software Engineering
Process Group Conference EUROPEAN SEPG 2007, 11-14th June, Amsterdam, 2007.
176
TAYNTOR, C. Six Sigma Software Development. Flórida, Auerbach, 2003.
TURNER, R.; JAIN, A. Agile Meets CMMI: Culture clash or common cause. XP/Agile
Universe. p.153-165. 2002.
UDO, N.; KOPPENSTEINER, S. Will agile change the way we manage software projects?
Agile from a PMBOK guide perspective. Projectway, 2003.
VERZUH, E. The fast forward in MBA in project management. John Wiley & Sons, Inc.,
1999.
VRIENS, C. Certifying for CMM Level 2 and ISO9001 with XP@Scrum. In Proceedings of
the Agile Development Conference (ADC’03), pages 120–124, Salt Lake City, Utah,
USA, IEEE Computer Society, 2003.
WIEGERS, K. Practical Project Initiation: A Handbook with Tools, Microsoft Press, 2007.
ZANNATA, A. L. xScrum: uma proposta de extensão de um Método Ágil para a Gerência e
Desenvolvimento de Requisitos visando adequação ao CMMI. Orientadora: Profa. Dra.
Patrícia Vilain. Dissertação de Mestrado. Universidade Federal de Santa Catarina –
Florianópolis, Brasil, 2004.
177
APÊNDICE I – TEMPLATE PLANO DO PROJETO
Template proposto no Scrummi para o Plano do Projeto. O template original é
disponibilizado em formato Microsoft Office Excel e disponível para acesso no site do
Scrummi, com as seguintes informações organizadas nas abas da planilha:
Visão Geral do Projeto
Dados do Projeto
Nome do Projeto: <informar nome do projeto> Cliente: <informar nome do cliente>
Data de Início: <dd/mm/aaaa> Duração: <informar duração em meses>
Data de Término: <dd/mm/aaaa>
Visão do Produto/Sistema
<Descrever uma sentença geral para a visão do produto/sistema sumarizando em alto nível:
público alvo, necessidade, benefícios e vantagens competitivas>
Objetivos do Projeto
<Descrever os objetivos do projeto.>
Benefícios
<Relacionar os principais benefícios com o desenvolvimento do produto/sistema para o
cliente, como por exemplo: Melhoria na produtividade, Redução relatórios impressos, Maior
acuracidade no processamento de ordens de serviço.>
Premissas
<Opcional. Descrever as regulamentações ambientais, leis, imposições contratuais, infra-
estrutura, recursos, tecnologia, entre outros, podem impactar no desenvolvimento e
implantação deste produto e/ou sistema.>
Restrições de Escopo x Prazo x Custo
Preencher as informações abaixo de forma que seja estabelecida a prioridade relativa entre o
escopo, prazo e custos do projeto de acordo com os seguintes níveis de restrição:
Fixo Limitado
Flexível Alvo
Escopo X
<informar o escopo alvo estimado para o projeto
como por exemplo número de story points>
Prazo X
<informar o prazo estimado para a execução do
projeto, como por exemplo +/- 2 meses>
Custo X
<informar, caso exista, a restrição do custo do
projeto >
Arquitetura do Produto
<Opcional. Detalhar a arquitetura proposta para o desenvolvimento do produto/sistema,
quando for necessário, incluindo tecnologia e modelo de arquitetura selecionado, além dos
ambientes de desenvolvimento e produção, interfaces com outros sistemas, etc. Exemplo:
Interface com sistema de ERP, Plataforma windows XP, SQL Server, .NET>
Riscos Preliminares
178
<Informar a lista dos riscos previamente identificados, relacionando os fatores que podem
impactar negativamente o andamento do projeto.>
Comunidade
Interface
Time do
Time do
Projeto
Projeto
Gerente
de
Projeto
Stakeholders
Stakeholders
do
do
Projeto
Projeto
Gerente
do
Produto
Aceitação
Visão do
Produto
Itens de
backlog
Prioridades
Detalhamento dos
requisitos
Time do
Time do
Projeto
Projeto
Gerente
de
Projeto
Stakeholders
Stakeholders
do
do
Projeto
Projeto
Gerente
do
Produto
Aceitação
Visão do
Produto
Itens de
backlog
Prioridades
Detalhamento dos
requisitos
Adaptado de (HIGHSMITH, 2004)
Gerente do Produto
: Representa todos os
stakeholders do projeto sendo responsável por
definir a visão do sistema/produto e gerenciar o
escopo do produto/sistema priorizando entregas
de funcionalidades com maior valor agregado.
Stakeholders: Determina as funcionalidades e
características do produto/sistema a serem
desenvolvidas no projeto, ajudando na
priorização das mesmas.
Gerente do Projeto: Líder do time do projeto,
sendo responsável por garantir o planejamento
e execução do projeto visando a entrega de
resultados de valor agregado ao cliente ao
longo de todo o projeto. Gerencia as
expectativas, toma decisões críticas em
conjunto com o time e direciona o andamento
do projeto.
Time do Projeto: Responsáveis pela
implementação dos itens de backlog do projeto
e entrega de resultados ao cliente.
Gerente Sênior de Projetos: Responsável por
prover os recursos necessários para a execução
do projeto, realizar o acompanhamento do
progresso do projeto e prover suporte
organizacional adequado ao Gerente de Projeto.
Equipe – Cliente
Gerente do Produto:
<informar nome, e-mail e telefone para contato>
Stakeholders
<informar nome, e-mail e telefone para contato>
<informar nome, e-mail e telefone para contato>
Equipe – Projeto
Gerente Sênior de Projetos:
<informar nome, e-mail e telefone para contato>
Gerente do Projeto:
<informar nome, e-mail e telefone para contato>
Time do Projeto:
<informar nome, e-mail e telefone para contato>
<informar nome, e-mail e telefone para contato>
Plano de Comunicação e Colaboração
Participação/Colaboração
Mandatória Desejável Facilitador Obervador Não
participa
Reuniões do
Projeto Freqüência Duração
Gerente
Produto
Gerente
Projeto Time
Stakeholders
Gerente
Sênior
Reunião de Início
do Projeto
Início do projeto 30 min
M F D D M
Workshop de
iniciação
Início do projeto
ou sprint
até 3 dias
M F M N N
179
Planejamento da
Sprint - Parte 1
Início de cada
sprint
4 horas
F M M N N
Planejamento da
Sprint - Parte 2
Início de cada
sprint
4 horas
D F M N N
Reunião de
Acompanhamento
Diáriamente às
HH:MM hs
15 min
N F M O O
Reunião de Revisão
da Sprint
Ao final de cada
sprint
1 hora
M M F D N
Reunião de
Restrospectiva da
Sprint
Ao final de cada
sprint
1 hora
N M F N N
Reunião de
Progresso do
Projeto
Ao final de cada
sprint
1 hora
N F M N M
Gestão dos Dados do Projeto
Informação Mecanismos de
coleta/divulgação
Freqüência
Artefato (s) Restrição de acesso
Planejamento macro
do Projeto
Reunião de início do
projeto
Início do
projeto
Plano do Projeto,
Backlog do Projeto
<informar as restrições
de acesso a informação>
Escopo do Projeto Workshop de Inicio
do Projeto
Reuniões de
Planejamento da
Sprint
Início da
sprint
Backlog do Projeto <informar as restrições
de acesso a informação>
Escopo da Sprint Reuniões de
Planejamento da
Sprint
Início da
sprint
Backlog da Sprint <informar as restrições
de acesso a informação>
Status das atividades
Reunião de
acompanhamento
Diariamente Backlog da Sprint
<informar as restrições
de acesso a informação>
Horas gastas e horas
estimadas para
completar o trabalho
Reunião de
acompanhamento
Semanalmente
Backlog da Sprint,
Gráfico de Consumo
da Sprint
<informar as restrições
de acesso a informação>
Progresso e métricas
do Projeto
Reunião de progresso
do projeto
Ao final da
sprint
Backlog do Projeto,
Lista de Riscos
Gráfico de Consumo
do Projeto
<informar as restrições
de acesso a informação>
Resultados da Sprint
Reunião de Revisão
da Sprint
Ao final da
sprint
Funcionalidades
implementadas
<informar as restrições
de acesso a informação>
Artefatos do projeto Site do projeto
disponível em
<http://www.ddd>
Descritas no
plano de
gerencia e
configuração
<listar os principais
artefatos que serão
entregues no projeto>
<informar as restrições
de acesso a informação>
Estratégia de Auto-Organização do Time
<Descrever a estratégia de auto-organização do time do projeto. A estratégia pode ser
definida a partir de respostas para as seguintes perguntas:
180
Abordagem de Execução
Ciclo de Vida
<Descrever as fases do ciclo de vida do projeto com seus respectivos objetivos. As fases
devem ser definidas de acordo com o escopo e natureza do projeto. Adapte o ciclo de vida
proposto pelo Scrummi para a realidade do seu projeto.>
Processo de Gestão
<Descreverou referenciar que processo de gestão será usado, como por exemplo o Scrummi, e
listar as adaptações.>
Processo de Desenvolvimento – Engenharia
<Descrever ou referenciiar que processo de desenvolvimento será usado, como por exemplo o
XP, OpenUP, Processo padrão da organização, e listar as adaptações.>
1. Quem é responsável por o que? (aqui pode-se definir dentro do time quem será responsável
por: requisitos, análise e projeto, codificação, testes, implantação, garantia da qualidade,
gerência de configuração.
2. Quem precisa conversar com quem e quando?
3. Quem será responsável e como serão realizadas as tomadas de decisão?
4. Como será realizado o escalonamento de problemas e conflitos não resolvidos pelo time?
5. Que práticas serão usadas para facilitar a comunicação e colaboração do time? (por
exemplo, uso de brainstorms e quadros brancos para a definiçao do projeto do sistema, uso de
ferramentas de mensagens instantâneas, uso de skype conferências, uso de postits para a
identificação de lições aprendidas, listas de e-mails, etc...>
181
APÊNDICE II – TEMPLATE BACKLOG DO PROJETO
Template proposto no Scrummi para o Backlog do Projeto. O template original é
disponibilizado em formato Microsoft Office Excel no site do Scrummi, com as seguintes
informações:
Backlog do Projeto
Campos Descrição
IBL # Código identificador do Item de Backlog
Item de Backlog Descrição sucinta do item de backlog
Descrição Detalhada Descrição detalhada do item de backlog
Tipo Tipo do item de backlog: Requisito funcional, requisito não
funcional, requisito ambiental
Tema Agrupamento das funcionalidades do backlog
Sprint Número da sprint que o item de backlog será/foi realizado
VN
(Valor de Negócio)
Valor de negócio atribuído ao item de backlog
Estinativa (SPs) Estimativa em SP para o item de backlog
Peso
(5,3,1)
Informe o peso correspondente para a implementação do item de
backlog seguindo a seguinte categorização:
5 - Essencial
3 - Importante
1 - Desejável
Prioridade
(VN / SP)*Peso
Prioridade sugerida para a implementação do item de backlog
considerando a combinação de valor de negócio, estimativa e
peso
Considerações Campo livre para informar quaisquer considerações relacionadas
com a implementação do item de backlog. Isso inclui premissas,
restrições ou dependencias que podem influenciar a seqüência de
implementação do item de backlog.
Status Status do item de backlog:
Criado – item de backlog criado
Estimado – item de backlog estimado
Planejado – item de backlog planejado para ser realizado em uma
sprint
Concluido – item de backlog implementado
182
Monitoramento do Backlog do Projeto
Figura 43: Gráficos de Consumo do Backlog do Projeto
Acompanhamento das Estimativas e Custos
Figura 44: Planilhas de acompanhamento das estimativas e custos do projeto
183
Plano de Entregas e Marcos
Campos Descrição
ID Marco Identificação do marco
Descrição do
Marco
Descrição do marco
Escopo
Descrição do escopo da entrega - considerando os itens de backlog que
serão implementados nas sprints, conforme planejamento
Data Estimada
dd/mm/aa
data estimada para a entrega de acordo com o planejamento das sprints
Data
Realizada
dd/mm/aa
data realizada da entrega
Comentários
Observações gerais a cerca do planejamento dos marcos e entregas do
projeto
184
APÊNDICE III – TEMPLATE BACKLOG DA SPRINT
Template proposto no Scrummi para o Backlog da Sprint. O template original é
disponibilizado em formato Microsoft Office Excel no site do Scrummi, com as seguintes
informações:
Informações Gerais da Sprint
Campos Descrição
Objetivos Objetivos da sprint
Período Data de início e término da sprint
Velocidade estimada Velocidade estimada pelo time do projeto para a execução da
sprint em Story Points
Alocação do Time do Projeto
Campos Descrição
Participante Nome do participante do time do projeto
% Alocação Percentual de alocação do participante do time ao projeto
Horas alocadas semana Número de horas semanais alocadas para o participante do time
Horas alocadas sprint Número de horas da sprint alocadas para o participante do time
Backlog da Sprint
Campos Descrição
Atividade Descrição detalhada do item de backlog
Responsável Responsável por executar a atividade
Status Status da atividade. Pode assimir um dos valores: Concluída, não
iniciada, em andamento, replanejada, com impedimento
Observações Informar data, e informações gerais sobre o acompanhamento das
atividades
Estimativa Estimativa em horas para realizar a atividade
Horas realizadas por dia Horas realizadas na execução da atividade. O reporte é diário com
possibilidade de ajuste das horas que restam para completar a
atividade. A partir do reporte de horas é construído o Gráfico de
Consumo da Sprint
185
Gráfico de Consumo da Sprint
28/07 04/08 15/08 18/08 22/08
S1 S2 S3 S4 FINAL
Planejado
16 13 9 5 0
0
2
4
6
8
10
12
14
16
18
Gráfico de Consumo de Horas da Sprint
Figura 45: Gráfico de consumo de horas da sprint
186
APÊNDICE IV – TEMPLATE LISTA DE RISCOS
Template proposto no Scrummi para a Lista de Riscos. O template original é
disponibilizado em formato Microsoft Office Excel no site do Scrummi e cada linha contém
os dados dos riscos identificados para o projeto com suas respectivas ões de mitigação e
contingência.
Lista de Riscos
Campos Descrição
RSC<NN> Código identificador do Risco.
Descrição Descrição sucinta do risco identificado.
Status Status atual do risco:
Aberto - Risco identificado, com probabilidade de ocorrência, mas
ainda não materializado
Ativo - Risco materializado
Fechado - Não há mais probabilidade de ocorrência para o risco
Categoria Classificação do risco segundo sua categoria de acordo com Guia de
Riscos do Scrummi
Fator de exposição
Calculado automaticamente com base nas estimativas de probabilidade
e impacto comforme descrito no Guia de Riscos do Scrummi
Probabilidade Estimativa da probabilidade de ocorrência do risco. Pode assumir um
dos valores:
Baixa : riscos que dificilmente se materializarão.
Média: riscos que tem uma certa chance de se concretizarem.
Alta: riscos que possuem uma possibilidade muito forte de se
concretizarem
Impacto Estimativa do impacto do risco (ver Guia de Riscos)
Descrição do
Impacto
Descrição sucinta do impacto do risco nos objetivos do projeto.
Estratégia de
resposta
Classifiação do risco segundo sua categoria de acordo com o Guia de
Riscos do Scrummi.
Mitigação/Conting
ência
Plano de Ação e
gatilhos
Ações de mitigação que serão executadas para diminuir a probabilidade
de ocorrência ou atenuar o impacto do risco
Ações de contingência que devem ser executadas quando o risco se
concretizar.
No caso de ações de contingência, informe também o seu gatilho, isto é
o evento ou data limite para o início da ação planejada.
Responsáveis Responsáveis por executar as ações de mitigação/contingência do risco
187
Acompanhamento Informar data, situação do risco e ações executadas na data indicada
Ex:
[15/09/08] O risco está sob controle neste momento. A ação de
mitigação está sendo efetiva. A probabilidade de ocorrência foi
modificada de Alta para Média.
[02/09/09] A ação foi disparada conforme planejado.
[28/08/08] Risco aberto.
188
APÊNDICE VTEMPLATE LISTA DE IMPEDIMENTOS
O template original da Lista de Impedimentos é disponibilizado em formato Microsoft
Office Excel, no site do Scrummi e cada linha contém os dados de impedimentos com suas
respectivas ações corretivas.
Lista de Impedimentos
Campo Descrição
IMP<NN> Identificador do impedimento
Descrição Descrição do problema ou dependência projeto
Status Status o qual se encontra impedimento: aberto, fechado ou cancelado
Tipo do Impedimento
Classsificação do impedimento de acordo com os seguintes tipos:
Problema: qualquer problema que está influenciando negativamente
os resultados da sprint ou projeto.
Dependencia Interna: qualquer dependência relacionada com outras
equipes ou setores internos à organização, que não dependem do
time do projeto.
Dependencia Externa: qualquer dependência que envolva o cliente
ou stakeholders do projeto, como por exemplo: disponibilização de
infra-estrutura, aprovações de documentos, etc
Uma dependência é crítica se ela afeta qualquer um dos seguintes
parâmetros do projeto: Custo, Prazo ou Escopo
Descrição do Impacto
Descrição do impacto do impedimento
Prioridade Prioridade para resolução do impedimento. Pode assumir os
seguintes valores:
Alto
Médio
Baixo
Ações Corretivas Plano das ações corretivas para tratar o impedimento
Responsáveis Responsáveis pelor resolver o impedimento reportado e/ou ações
corretivas
Data de abertura Data na qual o impedimento foi identificado
Data alvo Data em que é esperado que este impedimento esteja solucionado
Data de fechamento Data de fechamento real do impedimento
Acompanhamento Progresso da resolução do impedimento, indicando data e
informação relevante a cerca do acompanhamento das ações que
estão sendo executadas para resolvê-lo
189
APÊNDICE VI – TEMPLATE BASE HISTÓRICA DE
PROJETOS
O template original da Base Histórica de Projetos do Scrummi é disponibilizado em
formato Microsoft Office Excel no site do Scrummi, contendo as seguintes informações:
Dados consolidados dos Projetos
Dado Descrição
Projeto Nome do Projeto
Gerente de Projeto Nome do Gerente do Projeto
Cliente Nome do Cliente
Período (início - término) dd-mm-aa a dd-mm-aa
# Sprints Número de sprints do projeto
Duração das sprints Duração das sprints em semanas
Duração do projeto Classificação da duração do projeto de acordo com a Tabela
61
Total de horas do projeto Total de horas gastas com o projeto
Custo do Projeto Custo total do projeto
Estabilidade dos Requisitos Classificação da estabilidade de requisitos do projeto de
acordo com a Tabela 61
Envolvimento do Cliente Classificação do envolvimento do cliente de acordo com a
Tabela 61
Complexidade (Story
Points)
Número total de pontos de complexidade do projeto
Tamanho do Time Classificação do tamanho do time de acordo com a Tabela 61
Velocidade média do Time Velocidade média do Time em Story Points/Sprint
Carga horária média
semanal do Time
Carga horária média semanal do time do projeto ao longo da
execução de todas as sprint
Experiência do Time Classificação da experiência do time de acordo com a Tabela
61
Principais riscos Lista dos principais riscos do projeto com suas respectivas
ações de mitigação
Dados de Execução de Sprints dos Projetos
Dado Descrição
Projeto Nome do Projeto
Sprint Número da Sprint
Período (início - término) dd-mm-aa a dd-mm-aa
Duração da sprint Duração da sprint em semanas
190
Tamanho do Time Tamanho do time da sprint
Carga horária semanal do
Time
Carga horária semanal do time na sprint
Total de horas Total de horas gastas na sprint
Velocidade do Time Número total de pontos de complexidade da sprint
Produtividade do Time Horas gastas para implementar 1 Story Point. Calculada pela
fórmula: horas da sprint / Story Points>
Experiência do Time Classificação da experiência do time na sprint de acordo com a
Tabela 61
Tabela 61: Parâmetros para Classificação de Atributos do Projeto
Parâmetro Pequeno(a) Médio(a) Grande
Duração do projeto Até 4 meses De 4 a 8 meses Maior que 8 meses
Estabilidade dos
Requisitos
Requisitos muito
voláteis
Parte dos requisitos
sofreram mudanças
significativas
Requisitos
permaneceram estáveis
ou sofreram apenas
pequenas mudanças
Envolvimento do
Cliente
O cliente não se
envolvia com o
projeto
O cliente participava do
projeto sempre que
solicitado, mas sem
participação ativa
O cliente participava
ativamente, apoiando a
equipe de
desenvolvimento
Tamanho do Time Até 10 pessoas De 11 a 30 pessoas Com mais de 30
pessoas
Experiência do
Time
A equipe dominava
bem o domínio da
aplicação e a
tecnologia.
A equipe tinha
dificuldade quanto ao
domínio da aplicação
OU à tecnologia.
A equipe tinha
dificuldade quanto ao
domínio da aplicação E
à tecnologia
191
APÊNDICE VII – TEMPLATE ATA DE REUNIÃO DE
PLANEJAMENTO DA SPRINT
Template proposto no Scrummi para a ata de reunião de planejamento da sprint.
ATA DE REUNIÃO DE PLANEJAMENTO DA SPRINT
Data: <dd/mm/aa>
Participantes: <informar os participantes da reunião>
Período: <informar o período de realização da sprint – data de início e término>
Planejamento – Parte 1
Itens de Backlog prioritários: <apresentar o backlog do Projeto e seus itens
prioritários>
Objetivos: <reportar os objetivos definidos para a sprint>
Velocidade do time estimada: <registrar a velocidade estimada para o time do
projeto>
Itens de Backlog Selecionados: <registrar os itens de backlog selecionados para o
escopo da sprint>
Planejamento – Parte 2
Backlog da Sprint: <construir em conjunto com o time do projeto o planejamento e
estimativa das atividades que serão realizadas na sprint>
192
APÊNDICE VIII – TEMPLATE ATA DE REUNIÃO DE
REVISÃO DA SPRINT
Template proposto no Scrummi para a ata de reunião de revisão da sprint.
ATA DE REUNIÃO DE REVISÃO DA SPRINT
Data: <dd/mm/aa>
Participantes: <informar os participantes da reunião>
Período: <informar o período de realização da sprint – data de início e término>
Objetivos: <reportar os objetivos definidos para a sprint>
Resultados Alcançados
O que fizemos: <reportar os itens de backlog que foram planejados e realizados>
O que não fizemos: <reportar os itens de backlog planejados e não realizados
explicando os motivos>
Principais riscos: <reportar os principais riscos priorizados e tratados na sprint >
Principais impedimentos: <reportar os principais problemas e dependências tratados
na sprint>
Demosntrações: <apresentar as funcionalidades implementadas na sprint>
Avaliação
Impressões e observações: <informar as impressões e observações dos stakeholders a
cerca dos resultados alcançados na sprint>
Ações: <registrar as ações que devem ser realizadas em função dos resultados
alcançados>
193
APÊNDICE VIX – TEMPLATE ATA DE REUNIÃO DE
RETROSPECTIVA DA SPRINT
Template proposto no Scrummi para a ata de reunião de retorspectiva da sprint.
ATA DE REUNIÃO DE RETROSPECTIVA DA SPRINT
Data: <dd/mm/aa>
Participantes: <Informar os participantes da reunião>
Sprint: <Informar o número da sprint>
Avaliação da Sprint
O que foi bom?
<Listar os pontos positivos ocorridos na execução da sprint>
O que precisa melhorar? Como?
<Listar os problemas ou pontos negativos ocorridos na execução da sprint,
com as respectivas ações de melhoria que devem ser implementadas>
Lições Aprendidas
<Listar as lições aprendidas decorrentes de riscos ou problemas
identificados >
194
APÊNDICE X – GUIA DE ESTIMATIVAS PLANNING POKER
Estimativas usando a técnica Planning Poker
Planning Poker é um método de estimativa ágil utilizado quando queremos realizar
estimativas por Story Points.
Os seguintes papéis participam do processo de estimativas usando o Planning Poker:
Gerente do Projeto - moderador do processo gerencia os conflitos e convoca
novos participantes, caso seja necessário;
Gerente do Produto - esclarece as dúvidas com relação ao escopo e descrição
dos itens de backlog;
Time do Projeto - define as estimativas de esforço para cada item de backlog.
Cada sessão de Planning Poker deve ser realizada seguindo-se os passos:
Passo 1: Distribuição das cartas com seqüências de Story Points.
No início de uma sessão de Planning Poker, cada estimador recebe um conjunto de
cartas contendo uma seqüência de pontos acordo com uma escala definida. Sugere-se a
utilização de uma escala derivada seqüência de Fibonnacci: 1, 2, 3, 5, 8, 13, 21, 34, 55 e 89. A
escolha desta seqüência não linear pode ser justificada pelo seguinte raciocínio: a diferença
entre os números da série vai crescendo à medida que os números aumentam, deixando clara a
diferença de complexidade entre os itens de backlog. Isso ajunda a expressar melhor as
incertezas associadas às estimativas de grande dificuldade.
Passo 2: Identificação do item de backlog de referência
O time identifica o item de backlog mais simples de ser implementado em relação aos
demais. Este item passa a ser o item de referência no processo de estimativa e a ele deve ser
atribuído o valor 2. A estimativa dos demais itens deve ser feita a partir de uma comparação
com o item escolhido como referência, ou seja, quantas vezes mais complexo serão os demais
itens em relação ao item de referência.
Passo 3: Apresentação/entedimento do escopo do item de backlog
195
Para cada item do Backlog do Projeto, o moderador lê a descrição do item e o Time do
Projeto esclarece suas dúvidas com o Gerente do Produto. Após todas as dúvidas esclarecidas,
o time ainda pode discutir um pouco sobre algumas formas de implementar o item em
questão, mas essa discussão deve ser breve (não deveria levar mais do que 2 ou 3 minutos).
Passo 4: Estimar complexidade do item de backlog
Cada estimador seleciona uma carta que represente a sua estimativa de complexidade
(em Story Points) para o item lido. As cartas não são mostradas até que todos os estimadores
tenham feito a sua seleção. Simultaneamente, todos devem mostrar suas cartas para os demais
e neste momento se inicia o processo de conciliação, que é muito provável que as
estimativas divirjam a princípio. Caso isto se confirme, os estimadores que apresentaram o
maior e o menor valor devem explicar suas premissas para os demais. Os demais estimadores
não argumentam. Após esta discussão, cada estimador re-estima o mesmo item da mesma
maneira que fez anteriormente. Em muitos casos, as estimativas irão convergir na segunda
rodada de estimativas. Caso contrário, continue a repetir o processo até a terceira rodada. O
objetivo é que as estimativas convirjam em um valor aceitável para todos os estimadores (não
necessariamente o mesmo valor para todos os estimadores). Ao final da terceira rodada, caso
ainda haja divergência nos valores, o moderador decide o valor a ser utilizado.
Uma sessão de Planning Poker não deveria levar mais do que quatro horas, portanto
objetividade é importante. Caso não seja possível estimar todos os itens do Backlog do
Projeto neste tempo, procure organizar o tempo da seguinte forma:
2 horas para 40% dos itens do Backlog do Produto com maior valor de negócio;
1 hora para os 20% seguintes;
1 hora para os 40% restantes.
196
APÊNDICE XI – GUIA DE PRIORIZAÇÃO DO BACKLOG
Guia para Priorização do Backlog do Projeto
Os seguintes papéis participam do processo de priorização do Backlog do Projeto:
Gerente do Projeto - lidera o processo, gerencia os conflitos e convoca novos
participantes, caso seja necessário;
Gerente do Produto - atribui valores de negócio de acordo com sua importância
relativa;
Time do Projeto - suporta a estimativa de esforço e define peso para a
implementação do item de backlog em conjunto com o Gerente do Produto.
A priorização dos itens de backlog deve ser feita seguindo-se os seguintes passos:
Passo 1: Prepare o Backlog do Projeto.
Selecione todos os requisitos do produto (funcionais e não funcionais) que deseja
priorizar na planilha de Backlog do Projeto listando-os em ordem decrescente do valor de
negócio.
Passo 2: Revise/atribua valor de negócio aos itens de backlog
Cada item de backlog deverá possuir um valor de negócio que represente a
importância relativa para o negócio do cliente. Estes valores devem ter sido atribuídos
inicialmente, durante a atividade Criar o Backlog do Projeto, mas devem ser revistos para
refletir mudanças de prioridades, caso necessário. Aproveite este momento para atribuir valor
de negócio aos itens de backlog criados na atividade Atualizar o Backlog do Projeto.
Passo 3: Defina pesos que indiquem a urgência de realização dos itens de backlog
Os itens de backlog com maior prioridade geralmente têm um valor de negócio mais
alto do que os itens de menor prioridade. Entetanto, algumas vezes um item de backlog de
menor prioridade deve ser implementado primeiro, indicando por exemplo, uma dependência
de outro item de backlog de alto valor de negócio. O peso a ser atibuído neste passo serve
197
para balancear a priorização, estabelecendo uma prioridade que combina o valor de negócio,
seu esforço e sua urgência de realização. Isso ajuda a priorizar requisitos não funcionais, bem
como a estabelecer uma prioridade com relacao a itens de backlog que possuam o mesmo
valor de negócio. O peso de urgência deverá ser atribuído usando uma escala com os
seguintes valores: 5, 3 e 1, em que 5 significa a essencial, 3 necessário e 1 desejável.
Passo 4: Calcule a prioridade do item de backlog
Após a atribuição do peso, uma prioridade para cada item de backlog deve ser
calculada considerando a fórmula: Prioridade = (Valor de Negócio/Estimativa) * Peso.
Passo 5: Classifique o backlog em ordem decrescente de prioridade.
Ordene a lista em ordem decrescente de prioridade. O backlog priorizado deverá
conter uma lista com os itens mais prioritários no início. Esta lista deverá ser usada como
entrada para as reuniões de planejamento da sprint. É possível que durante esta reordenação
alguns itens cujo valor de negócio sejam inferiores a outros fiquem no topo da lista. Esta
situação é aceitável, pois a equipe deve se concentrar no que agrega mais valor para o cliente
e no que é de domínio da equipe. Assim os itens podem ser entregues com mais rapidez
enquanto se adquire um conhecimento maior acerca daqueles que no momento apresentam
uma complexidade muito alta. À medida que o domínio ou a tecnologia for de maior
assimilação da equipe, a estimativa de complexidade dos itens diminui e sua prioridade
relativa aumenta. Avalie as prioridades calculadas e caso seja necessário refine os valores de
negócio e peso atribuídos para itens de backlog, reexecutando os passos 2 e 3.
198
APÊNDICE XII – GUIA DE RISCOS
Guia de análise, categorização e priorização de riscos
O Gerenciamento de Riscos tem por objetivo identificar e analisar problemas e
oportunidades potenciais do projeto, criando planos de respostas aos riscos que podem ser
executados ao longo do ciclo de vida do produto para mitigar os impactos para alcance dos
objetivos do projeto (CHRISSIS; KONRAD; SHRUM, 2007).
Categorização dos Riscos
Existem várias fontes de riscos, internas ou externas ao projeto, as quais representam
áreas comuns em que os riscos podem se originar. Alguns exemplos são listados a seguir,
entretanto novas fontes de riscos podem ser identificadas à medida que o projeto é executado.
Requisitos não definidos;
Arquitetura do projeto não viável;
Tecnologia não disponível;
Prazos não realistas;
Time e perfis não adequados;
Restrições de custos;
Comunicação insuficiente ou inadequada;
Processo de desenvolvimento inadequado;
Ambiente de trabalho não adequado;
Recursos insuficientes ou não disponíveis;
Cláusulas contratuais;
Interdependências do projeto.
A identificação dos riscos é facilitada quando categorias de áreas ou fontes de riscos
são definidas garantindo a cobertura de aspectos do projeto com problemas potenciais. A
Tabela 62 foi adaptada de (HALLOWS, 2001) e apresenta as categorias de riscos que devem
ser utilizadas pelos projetos no momento em que o time estiver identificando as fontes dos
riscos do projeto. Para cada categoria são apresentados alguns exemplos de riscos, seus
199
gatinhos e sugestões de planos de mitigações visando facilitar o entendimento e auxiliar no
processo de identificação e análise dos riscos.
Tabela 62: Riscos por Categoria
Categoria Riscos Gatilhos Ações de Mitigação
Time do
projeto
Recurso chave
não estará
disponível
quando
necesário
Um dos projetos da
organização em
andamento que iria
liberar recursos para o
seu projeto atrasa
Um projeto mais
prioritário que o seu se
inicia e aloca recursos
chave para o seu projeto
Garantir que o Gerente Senior
tenha conhecimento antecipado
do perfil do time necessário
para o projeto bem como das
suas datas de alocação
Fazer contratações de pessoal
Perfil chave não
estará disponível
quando
necessário
Resursos chave
serão perdidos
durante o projeto
Membros do time não
estão motivados
Outros gerentes de
projetos solicitam
alocação de pessoas do
time do projeto
Promover ações de motivação
no time
Negociar a liberação de
pessoas durante a execução do
projeto
Implantar um programa de
capacitação para substitutos
Equipamento
Equipamentos
não estarão
disponíveis
quando
necessário
Os compromissos do
forncecedor não serão
cumpridos no prazo
inicialmente
estabelecido
Assegurar que o fornecedor
entenda os marcos do projeto
Negociar cláusulas de
penalidade para atraso na
entrega
Organizar para o uso interino
de equipamento existente
Equipamentos
irão falhar
A instalação foi
realizada
apressadamento e com
testes inadequados
Assegurar um adequado tempo
para o teste
Dispor de recursos de backup
para os equipamentos
Equipamento
selecionado é de
fornecedores
desconhecidos
Cliente
Entregáveis não
serão revisados
de acordo com
os marcos do
projeto
O primeiro entregável,
não é revisado e aceito
num tempo adequado
Obter um acordo do cliente
sobre a revisão dos entregáveis,
incluindo no plano do projeto
200
As expectativas
do cliente para a
aplicação
exceder as
capacidades
tecnológicas
O cliente demonstra não
ter conhecimento sobre
a tecnologia
Conduzir sessões de discus
sões
tecnológicas com o cliente
Projeto pessoal técnico
manifestar preocupações
com as metas do projeto
Comprometa-se a entregar
apenas o que é possível
tecnologicamente
Escopo
A falta de
critérios de
aceitação
claramente
definidos causar
atrasos na
aceitação e
conclusão do
projeto
O cliente resiste definir
critérios de aceitação no
início do projeto
Definir os critérios de aceitação
e garantir que o cliente
concorde com eles
Tecnologia
Dificuldade na
integração de
components
tecnológicos
Componentes especiais
do projeto não terem
sido integrados
anteriormente
Fornecedores de
componentes não
apoiarem a integração
dos componentes
Definir um estudo de
viabilidade para realizar a
integração dos componentes
Definir um conjunto de
componentes alternativos
Ambiente de
Trabalho
O time do
projeto está
distribuído
geograficamente,
o que irá
dificultar
comunicação
Times distribuídos
começam a desenvolver
atitudes antagônicas
Planeje visitas freqüentes entre
os sites dos times distribuídos
Meios de comunicação
são limitados
Garantir facilidades adequadas
para uma comunicação
eficiente
Análise dos Atributos dos Riscos
Durante a identificação e análise dos riscos o time do projeto deve documentar os
riscos e seus atributos na Lista de riscos de acordo com as seguintes instruções e critérios:
Descrição: descrição sucinta do risco;
Status: status do risco, podendo assumir os seguintes valores: aberto, ativo ou
fechado;
Categoria: corresponde à categoria do risco de acordo com as categorias pré-
definidas neste guia;
201
Probabilidade: representa a probabilidade do risco acontecer. Deve ser atribuído
um valor contido na escala: Alto, Médio e Baixo, de acordo com o julgamento
do time do projeto observando-se:
o Riscos com probabilidade Baixa: dificilmente ocorrerão;
o Riscos com probabilidade Média: são riscos que podem vir a se
concretizar e, portanto, pode ser necessário algum tipo de ação
preventiva;
o Riscos com probabilidade Alta: são riscos os quais existe uma
possibilidade muito forte de se concretizarem e tornando-se um
problema/oportunidade para o projeto.
Impacto: representa o impacto no projeto caso o risco se concretize e se torne
um problema. A definição do impacto inclui:
o Nível: representa o impacto na escala Alto, dio ou Baixo de acordo
com o julgamento do time do projeto observando-se os seguintes
critérios:
Riscos de baixo impacto são aqueles que não implicarão em
maiores problemas para o projeto e caso ocorram, poderão ser
rapidamente absorvidos e contornados pelo time;
Riscos de médio impacto são aqueles que implicam em algum
prejuízo para o projeto, como por exemplo atrasos na execução
das atividades do time comprometendo os objetivos da iteração;
Riscos de alto impacto são aqueles que podem trazer prejuízos
significativos ao projeto.
o Descrição: representa a descrição sucinta do impacto do risco nos
objetivos do projeto/sprint.
Fator de Exposição: serve para definir que riscos precisam ser mitigados
primeiro ajudando na priorização dos riscos. Este atributo é calculado a partir de
uma combinação entre a Probabilidade e Impacto do Risco como definido logo a
seguir definido nos critérios de priorização de riscos deste guia.
Critérios de Priorização dos Riscos
A priorização dos riscos deve estar diretamente associada ao fator de exposição do
risco que é calculada combinando-se a probabilidade e o impacto de ocorrência do risco de
acordo com a Tabela 63:
202
Tabela 63: Fator de exposição do risco
Probabilidade
Impacto
Baixo Médio Alto
Baixa Baixo Baixo dio
Média Baixo Médio Alto
Alta Médio Alto Alto
Seguindo o princípio ágil de (PRESTON; PICHLER, 2005) deve-se priorizar entre 3 a
5 riscos por sprint. Os riscos a serem priorizados e mitigados durante a sprint devem ter fator
de exposição Alto. Os demais riscos ficam “guardados” devendo ser reavaliados nas próximas
sprints.
Estratégias de Resposta aos Riscos
Para cada risco, deve-se identificar a estratégia de resposta mais apropriada,
planejando as ações de mitigação e contingência necessárias de acordo com a escolha
realizada. Dentre as opções de resposta aos riscos o time do projeto poderá optar uma das
seguintes:
Evitar: reorganizar o projeto de forma que o mesmo não poderá ser mais afetado
pelo risco, como por exemplo, remover trabalho ou escopo do projeto.
Mitigar: definir ações de mitigação para reduzir a probabilidade ou o impacto do
risco, diminuindo o seu fator de exposição ao projeto e consequentemente sua
prioridade de atuação.
Transferir: reorganizar o projeto de forma que o risco possa ser transferido para
uma terceira parte. Esta estratégia não elimina o risco, mas simplesmente atribui
a uma terceira parte a responsabilidade pelo seu gerenciamento.
Aceitar: conviver com o risco e definir um plano de contingência.
203
APÊNDICE XIII – GUIA PARA CONDUÇÃO DAS REUNIÕES
Guia para a Condução das Reuniões do Scrummi
Este guia foi adaptado a partir das regras do Scrum conforme definidas em
(HIGHSMITH, 2004).
Reunião de Planejamento da Sprint
1. A reunião de planejamento deve ser realizada no início de cada sprint.
2. O Gerente de Projeto é o responsável por agendar e conduzir a reunião, garantindo
que ao final da mesma o escopo e trabalho da sprint estejam definidos e acordados.
3. A reunião de planejamento da sprint deve ser realizada em um período máximo 8
horas, dividida em 2 partes, cada uma delas em períodos de no máximo 4 horas com os
seguintes propósitos:
Parte 1 - Definir objetivo e escopo da sprint:
o O time seleciona os itens do Backlog do Produto que serão realizados no
contexto da sprint transformando-os em incrementos de funcionalidades;
o O time faz sugestões sobre o escopo da sprint, mas a decisão final é do
Gerente de Produto.
Parte 2 - Construir o backlog da sprint:
o O time define e estima todo o trabalho (tarefas) necessário para implementar
o escopo da sprint.
4. Participam da reunião o Gerente do Produto, Gerente do Projeto e Time do Projeto.
Outras pessoas (stakeholders) podem ser convidadas para prover informação adicional sobre o
domínio do negócio ou tecnologia, sendo dispensadas quando as informações forem providas.
Reunião de Acompanhamento da Sprint
1. O Gerente do Projeto é o responsável pela condução da reunião com o Time do
Projeto, garantindo que a reunião seja rápida e objetiva.
2. A reunião deve ser realizada diariamente no mesmo local e horário combinados.
204
3. As reuniões devem ter duração de até 30 minutos, com expectativa de 15 minutos
ou menos.
4. Todos os membros do Time do Projeto devem participar. Se alguém não puder
comparecer pessoalmente à reunião, deverá participar remotamente, ou deixar anotado em
postit o seu feedback.
5. O time deve estar pronto e ter atualizado o backlog da sprint (trabalho realizado e
estimativas).
6. O Gerente do Projeto deve iniciar a reunião no horário marcado, independente de
quem está presente. Os atrasados devem pagar uma multa simbólica ao Gerente de Projeto. O
valor da multa deve ser combinado entre todos os participantes do projeto.
7. O Gerente do Projeto inicia a reunião com a pessoa que está à sua esquerda e segue
com a próxima no sentido horário até que todos façam suas reportagens.
8. Cada membro do Time do Projeto deverá responder a três perguntas:
O que eu fiz (qual foi a minha meta) desde a última reunião?
O que irei fazer (qual será a minha meta) até a próxima reunião?
Quais são os impedimentos (já vivenciados ou futuros) que impactam no seu
desempenho ou performance?
10. Durante a reunião apenas 1 pessoa fala por vez. O Gerente do Projeto deve ficar
atento e não permitir intervenções de outras pessoas durante a reportagem do integrante do
time.
11. Reuniões adicionais podem ser agendadas para discutir assuntos de interesse do
time.
12. O Gerente do Produto e Stakeholders podem participar da reunião como ouvintes,
mas não podem interferir, nem solicitar informações adicionais.
Reunião de Revisão da Sprint
1. O Gerente do Projeto é o responsável por agendar, coordenar e conduzir a reuniao
de revisão da sprint.
2. A reunião para a revisão da sprint pode durar até 4 horas.
3. Durante esta reunião o Time do Projeto deve apresentar para o Gerente do Produto e
Stakeholders do projeto os resultados alcançados na execução da sprint, ou seja, as
funcionalidades implementadas ou o incremento de produto.
4. Funcionalidades que não estão prontas não devem ser apresentadas.
205
Reunião de Restrospectiva da Sprint
1. O Gerente do Projeto é o responsável por agendar, coordenar e conduzir a reunião
de retrospectiva da sprint.
2. A reunião de retrospectiva deve durar no máximo 3 horas.
3. É direcionada para o Time do Projeto, Gerente do Projeto e Gerente do Produto
(opcional).
4. A reunião deve ser iniciada por uma seção de respostas pelo time do projeto às
perguntas:
O que foi bom?
O que pode ser melhorado na próxima sprint?
5. O Gerente do Projeto organiza as respostas de forma sumarizada e o time do
projeto prioriza a ordem que irá iniciar as discussões sobre as possíveis melhorias.
6. O Gerente do Projeto não deve interferir nas discussões do time, devendo apenas
atuar como facilitador para que o Time do Projeto encontre a melhor forma de trabalhar e
melhorar sua performance e processo.
7. Os problemas e melhorias com suas respectivas ações devem ser registrados na
lista de impedimentos.
Livros Grátis
( http://www.livrosgratis.com.br )
Milhares de Livros para Download:
Baixar livros de Administração
Baixar livros de Agronomia
Baixar livros de Arquitetura
Baixar livros de Artes
Baixar livros de Astronomia
Baixar livros de Biologia Geral
Baixar livros de Ciência da Computação
Baixar livros de Ciência da Informação
Baixar livros de Ciência Política
Baixar livros de Ciências da Saúde
Baixar livros de Comunicação
Baixar livros do Conselho Nacional de Educação - CNE
Baixar livros de Defesa civil
Baixar livros de Direito
Baixar livros de Direitos humanos
Baixar livros de Economia
Baixar livros de Economia Doméstica
Baixar livros de Educação
Baixar livros de Educação - Trânsito
Baixar livros de Educação Física
Baixar livros de Engenharia Aeroespacial
Baixar livros de Farmácia
Baixar livros de Filosofia
Baixar livros de Física
Baixar livros de Geociências
Baixar livros de Geografia
Baixar livros de História
Baixar livros de Línguas
Baixar livros de Literatura
Baixar livros de Literatura de Cordel
Baixar livros de Literatura Infantil
Baixar livros de Matemática
Baixar livros de Medicina
Baixar livros de Medicina Veterinária
Baixar livros de Meio Ambiente
Baixar livros de Meteorologia
Baixar Monografias e TCC
Baixar livros Multidisciplinar
Baixar livros de Música
Baixar livros de Psicologia
Baixar livros de Química
Baixar livros de Saúde Coletiva
Baixar livros de Serviço Social
Baixar livros de Sociologia
Baixar livros de Teologia
Baixar livros de Trabalho
Baixar livros de Turismo