Escolar Documentos
Profissional Documentos
Cultura Documentos
Por
Dissertação de Mestrado
RECIFE, AGOSTO/2012
UNIVERSIDADE FEDERAL DE PERNAMBUCO
CENTRO DE INFORMÁTICA
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
RECIFE, AGOSTO/2012
Catalogação na fonte
Bibliotecária Jane Souto Maior, CRB4-571
__________________________________________________
Prof. Sergio Castelo Branco Soares
Centro de Informática / UFPE
__________________________________________________
Prof. Cristine Martins Gomes de Gusmão
Núcleo de Telessaúde / UFPE
__________________________________________________
Prof. Alexandre Marcos Lins de Vasconcelos
Centro de Informática / UFPE
___________________________________________________
Prof. Nelson Souto Rosa
i
Dedico este trabalho aos meus
queridos pais, por toda a dedicação
e amor aos seus filhos, sem os quais
nada disso se tornaria realidade.
ii
AGRADECIMENTOS
Agradeço aos meus queridos pais por todo amor, carinho, dedicação e
ensinamentos que sempre me deram, pois foram essenciais para a realização
deste trabalho. Nada disso seria possível sem vocês.
Aos meus queridos irmãos que mesmo distantes sempre estiveram em meus
pensamentos. Obrigado por todo o apoio e incentivo. Aos meus queridos
sobrinhos, Hideki e Lis, que me trouxeram muita alegria.
Ao professor Fabio Queda Bueno da Silva por todo o seu apoio, ensinamentos
e disponibilidade, fundamentais para o meu crescimento e desenvolvimento
desta pesquisa.
Aos amigos: Mario Godoy pelo apoio e orientação desde o início do mestrado;
ao Felipe Furtado, por toda amizade, apoio, colaboração, oportunidade e
aprendizado.
iii
Às empresas e entrevistados “anônimos” por toda paciência e disponibilidade
em contribuir com a pesquisa, o que possibilitou uma maior riqueza nos dados
coletados.
Aos amigos Raphael e Jefferson do “ap” do CDU por toda amizade, apoio e
compreensão.
Por fim, agradeço aos professores da banca, pois seus comentários permitiram
a melhoria deste trabalho. À FACEPE pela bolsa concedida durante o período
do curso e ao INES por toda a infraestrutura disponibilizada do laboratório de
Engenharia de Software.
iv
RESUMO
v
ABSTRACT
vi
LISTA DE FIGURAS
vii
Figura 36 – B3_EC. Facilita a interação entre a equipe ................................. 135
Figura 37 – B4_EC. Melhora o entendimento das histórias de usuários ........ 137
Figura 38 – B5_EC. Facilita a resolução de problemas ................................. 140
Figura 39 – B6_EC. Melhora a comunicação da equipe ................................ 142
Figura 40 – B7_EC. Permite uma maior colaboração entre a equipe ............ 145
Figura 41 – B8_EC. Melhora a comunicação entre o cliente (ou representante)
e a equipe....................................................................................................... 148
Figura 42 – B10_EC. Melhora a qualidade do código .................................... 151
Figura 43 – L1_EC. Dificuldade para se trabalhar com equipes grandes ...... 153
viii
LISTA DE QUADROS
ix
LISTA DE TABELAS
x
LISTA DE ABREVIATURAS / ACRÔNIMOS
xi
SUMÁRIO
1 INTRODUÇÃO 1
1.1 Definição do problema 2
1.2 Motivação 2
1.3 Questões de pesquisa 2
1.4 Objetivo Geral 3
1.4.1 Objetivos Específicos 3
1.5 Contexto 4
1.6 Contribuições e Resultados esperados 4
1.7 Estrutura do trabalho 4
2 REVISÃO DA LITERATURA 6
2.1 Referencial teórico 6
2.1.1 Metodologias Ágeis 7
2.1.2 Estatísticas com as Metodologias Ágeis 8
2.1.3 Extreme Programming (XP) 9
2.1.4 Scrum 11
2.2 Soluções alternativas 13
2.2.1 Agile methods rapidly replacing traditional methods at Nokia: A survey
of opinions on agile transformation (LAANTI et al., 2011) 13
2.2.2 Usage and Perceptions of Agile Software Development in an Industrial
Context: An Exploratory Study (BEGEL e NAGAPPAN, 2007) 14
2.3 Trabalhos Relacionados 14
2.3.1 Empirical studies of agile software development: A systematic review
(DYBÅ e DINGSØYR, 2008) 15
2.3.2 A Comparison of Issues and Advantages in Agile and Incremental
Development between State of the Art and an Industrial Case (PETERSEN e
WOHLIN, 2009) 17
2.4 Resumo 18
3 METODOLOGIA DA PESQUISA 20
3.1 Quadro metodológico 20
3.2 Ciclo da pesquisa 22
3.2.1 Procedimento de coleta dos dados 24
3.3 Resumo 37
4 RESULTADOS 38
xii
4.1 Síntese dos resultados da aplicação dos questionários 38
4.1.1 Resultados da aplicação dos questionários 38
4.1.2 Análise e discussão dos resultados 43
4.2 Síntese dos Resultados da Revisão Sistemática 45
4.2.1 Resultados do procedimento de Busca e Seleção 45
4.2.2 Mapeamento das evidências 59
4.2.3 Análise e discussão dos resultados 115
4.3 Síntese dos resultados dos Estudos de Caso 120
4.3.1 Descrição dos estudos de caso 121
4.3.2 Mapeamento das Evidências 125
4.3.3 Análise e discussão dos resultados 167
4.4 Síntese da comparação: Revisão Sistemática da Literatura versus
Estudos de Caso 168
4.4.1 Mapeamento das Evidências 169
4.4.2 Análise e discussão dos resultados 172
4.5 Resumo 173
5 CONSIDERAÇÕES FINAIS 175
5.1 Limitações e Ameaças à Validade 175
5.2 Implicações para a pesquisa e prática 177
5.3 Lições aprendidas 177
5.4 Recomendações para Trabalhos Futuros 178
5.5 Conclusões 179
REFERÊNCIAS 180
APÊNDICE A – Questionário para mapeamento das empresas do Porto Digital
186
APÊNDICE B – Protocolo da Revisão Sistemática da Literatura 190
APÊNDICE C – Roteiro das Entrevistas 211
APÊNDICE D – Termo de Sigilosidade da Empresa 216
APÊNDICE E – Termo de Sigilosidade do Entrevistado 218
APÊNDICE F – Estudos primários da Revisão Sistemática da Literatura 220
APÊNDICE G – Características dos estudos primários 240
APÊNDICE H – Resultado da Avaliação da Qualidade dos Estudos Primários
260
APÊNDICE I – Benefícios identificados nos estudos primários 265
xiii
APÊNDICE J – Limitações identificadas nos estudos primários 271
APÊNDICE K – Benefícios identificados nos estudos de caso 275
APÊNDICE L – Limitações identificadas nos estudos de caso 280
xiv
1 INTRODUÇÃO
Em razão do rápido crescimento da indústria de software, juntamente com o
aumento da demanda por soluções cada vez mais robustas e, ainda, com
requisitos mutáveis, a busca por excelência e melhoria contínuas da qualidade
de software tem aumentado ao longo do tempo (CHOW e CAO, 2008). Neste
contexto, Teixeira e Delamaro (2008) afirmam que diversos métodos, técnicas
e ferramentas têm sido propostos e utilizados, visando a aumentar a
produtividade no desenvolvimento de software.
Sommerville (2011) afirma que existe uma estreita relação entre a
qualidade de um processo de desenvolvimento de software e a qualidade dos
produtos desenvolvidos por meio deste processo. Tal relação pode ser apoiada
por uma metodologia que, segundo Fowler (2005), é uma abordagem
disciplinada para o desenvolvimento de software, com o objetivo de tornar o
processo mais previsível e eficiente. No entanto, nem todas as metodologias
têm sido adequadas, pois ainda existe uma alta taxa de insucesso no
desenvolvimento de software, atribuída principalmente à complexidade das
metodologias tradicionais, por estas realizarem um levantamento completo dos
requisitos e, ainda, pela dificuldade que elas apresentam em lidar com as
mudanças trazidas pela dinâmica e evolução do ambiente de negócios (HO,
2006 et al; FERREIRA e COHEN, 2008).
Com intuito de eliminar os problemas causados pelas metodologias
tradicionais, surgiram as Metodologias Ágeis, que possuem processos flexíveis
e adaptativos e que aceitam as mudanças como parte inseparável do seu
processo de desenvolvimento, visando à melhoria na qualidade de software e
ao aumento da satisfação do cliente (HIGHSMITH, 2000).
Segundo Ferreira e Cohen (2008), existem vários relatos na literatura de
que estas metodologias diminuem as taxas de insucesso dos projetos de
software. Porém, os autores afirmam que as pesquisas empíricas sobre a
efetividade dessas metodologias ainda são escassas, pois a maioria é de
natureza exploratória.
Esse mesmo problema é relatado no trabalho de Dybå e Dingsøyr
(2008), que afirmam que pouco ainda se sabe sobre como essas metodologias
estão sendo conduzidas na prática e quais são os seus efeitos. Por esta razão,
1
Strode et al. (2009) afirmam que rigorosas pesquisas empíricas com tais
metodologias são importantes para comprovarem a sua eficácia.
De modo a permitir a reduzir esta problemática, esta pesquisa conduziu
um estudo secundário baseado em uma revisão sistemática da literatura para
compreender melhor, através das evidências empíricas, os benefícios e as
limitações que são derivadas devido ao uso das Metodologias Ágeis no
desenvolvimento de software. Ainda, investigou estudos de casos múltiplos em
duas empresas de desenvolvimento de software do Porto Digital de
Pernambuco, de modo a obter resultados sobre essas metodologias na prática.
1.2 Motivação
De acordo com a definição do problema apresentado, espera-se que os
resultados deste trabalho possam servir de apoio à compreensão dos efeitos,
dos benefícios e das limitações que podem ser obtidas com o uso das
Metodologias Ágeis em projetos de desenvolvimento de software, beneficiando
assim a comunidade de software e, além disso, permitir a abertura de novos
caminhos para futuras pesquisas relacionadas.
2
Q2: O que atualmente se sabe sobre os benefícios e limitações das
Metodologias Ágeis em um determinado conjunto de empresas de
desenvolvimento de software do Porto Digital de Pernambuco?
Q3: Quais são as similaridades e diferenças entre os benefícios e as
limitações das Metodologias Ágeis reportados na literatura, com relação
aos resultados obtidos com um conjunto de empresas de
desenvolvimento de software do Porto Digital de Pernambuco que
utilizam tais metodologias?
3
1.5 Contexto
Este trabalho foi conduzido em dois contextos:
Condução de uma pesquisa secundária, por meio de uma Revisão
Sistemática da Literatura em estudos publicados no formato de artigos
científicos sobre as Metodologias Ágeis de desenvolvimento de
software. Tal pesquisa é uma extensão da revisão apresentada em Dybå
e Dingsøyr (2008).
Condução de estudos de caso com um conjunto de empresas de
desenvolvimento de software do Porto Digital de Pernambuco que
utilizam as Metodologias Ágeis.
4
o A Seção 2.3 apresenta os principais trabalhos relacionados
identificados que apresentam resultados semelhantes a partir dos
mesmos métodos de pesquisa. As diferenças entre esta
dissertação e esses trabalhos são apresentadas, de modo a
permitir um melhor entendimento da pesquisa.
Capítulo 4 (Resultados):
o São apresentados os resultados obtidos com a execução de cada
etapa da pesquisa, bem como uma análise e interpretação dos
dados.
5
2 REVISÃO DA LITERATURA
Este capítulo apresenta os resultados de uma revisão da literatura conduzida
de maneira não sistemática (adhoc), que será utilizada como fundamentação
teórica para o melhor entendimento deste trabalho, de modo que tais conceitos
sejam suficientes para a contextualização da pesquisa e a correta interpretação
dos resultados aqui apresentados.
O capítulo está organizado nas seguintes seções:
Referencial teórico – apresenta os conceitos das Metodologias Ágeis,
com uma descrição breve das principais existentes. Em seguida, são
apresentados resultados estatísticos sobre essas metodologias e,
depois, são apresentados os conceitos e fundamentos das metodologias
XP e Scrum;
Soluções alternativas – apresenta dois estudos que mostram
resultados semelhantes a este trabalho, mas que foram conduzidos por
métodos de pesquisa diferentes;
Trabalhos relacionados – apresenta os dois principais trabalhos
relacionados a esta pesquisa, apresentando as diferenças desta
pesquisa em relação a esses trabalhos.
6
2.1.1 Metodologias Ágeis
A definição oficial de Desenvolvimento Ágil de Software foi criada sob forma de
um manifesto, publicado em fevereiro de 2001 por um grupo de 17
especialistas em desenvolvimento de software que se reuniram com o objetivo
de propor maneiras melhores de desenvolver softwares. Este grupo foi
denominado Aliança Ágil (CHOW e CAO, 2008).
Após dois dias de debates, o grupo não chegou ao consenso quanto a
propor uma única metodologia, porém identificaram valores e 12 princípios.
Esses valores foram divulgados com a publicação do Manifesto Ágil (AGILE
MANIFESTO, 2001).
Baseadas nos princípios e valores do Manifesto Ágil, diversas
metodologias têm sido propostas, tais como: Adaptative Software
Development, Crystal, Dynamic Systems Development Method, eXtreme
Programming (XP), Feature Driven Development, Lean Development e Scrum
(BOEHM, 2006).
De acordo os dados apresentados por diversas pesquisas
(apresentados na seção 2.1.1.1), percebe-se que as Metodologias Ágeis estão
em ascensão no mercado e existem vários relatos na literatura de que estas
metodologias diminuem as taxas de insucesso dos projetos de software, no
entanto, Ferreira e Cohen (2008) afirmam que as pesquisas empíricas sobre a
efetividade dessas metodologias ainda são escassas, pois a maioria é de
natureza exploratória.
Esse mesmo problema é relatado no trabalho de Dybå e Dingsøyr
(2008), que afirmam que pouco ainda se sabe sobre como essas metodologias
estão sendo conduzidas na prática e quais são os seus efeitos. Por esta razão,
Strode et al. (2009) afirmam que rigorosas pesquisas empíricas com tais
metodologias são importantes para comprovarem a sua eficácia.
Na seção a seguir, são apresentados alguns resultados estatísticos
conduzidos sobre a adoção das metodologias ágeis, de modo a apresentar as
que possuíram maior adesão ao longo dos anos.
7
2.1.2 Estatísticas com as Metodologias Ágeis
Diversas pesquisas utilizando o método survey têm sido realizadas para se
entender melhor a adoção e o uso das Metodologias Ágeis e suas práticas. A
seguir apresentamos alguns resultados dessas pesquisas.
Em uma pesquisa conduzida pela Shine Technologies (2003), houve
131 respostas para o seu questionário online. Dos respondentes, 59%
afirmaram utilizar uma metodologia ágil.
Em 2006 foram constatadas 03 pesquisas com aplicações de
questionário online. A empresa Digital Focus, especializada em consultoria em
TI, obteve resposta de 136 pessoas; 81% delas afirmaram utilizar uma
metodologia ágil (DIGITAL FOCUS, 2006 apud VIJAYASARATHY e TURK,
2008). Outra pesquisa identificada foi conduzida por Ambler (2006), obtendo
resposta de 4.232 pessoas, das quais 65% utilizavam uma técnica ágil e 41%
utilizavam uma metodologia ágil, sendo que 23,40% destes respondentes
utilizavam o XP, 12,30% o FDD e 11,30% o Scrum. A terceira pesquisa foi
conduzida pela VersionOne em 2006 e publicada em 2007 (VERSIONONE,
2007a), obteve resposta de 722 pessoas. Esta pesquisa não especificou o
percentual de uso das Metodologias Ágeis, apresentou apenas que 40% dos
respondentes utilizavam o Scrum, 23% o XP, 14% uma abordagem híbrida e
8% o DSDM. Como poderiam ser escolhidas mais de uma metodologia,
percebeu-se que 77% utilizavam uma abordagem híbrida entre Scrum e XP.
Em 2007, a pesquisa conduzida pela VersionOne (VERSIONONE,
2007b), que obteve resposta de 1.681 pessoas, identificou que 81,5% delas
utilizavam uma metodologia ágil, sendo que 37% utilizavam o Scrum, 23% uma
abordagem híbrida de Scrum e XP, 12% apenas o XP, 5% o DSDM e 9%
abordagens híbridas de várias metodologias. Ambler (2007) obteve um
resultado semelhante, segundo o qual 69% dos respondentes afirmaram utilizar
uma metodologia ágil.
Em 2008, a pesquisa de Ambler (2008) manteve o mesmo resultado de
adoção, com 69% de adoção das metodologias ágeis pelos respondentes. A
pesquisa da VersionOne (2008) não explicitou a quantidade de respondentes
nem o percentual de adoção das metodologias ágeis, apresentou apenas que
49,1% dos respondentes utilizavam o Scrum, 29% não especificaram a
8
metodologia, 22,3% utilizavam uma abordagem híbrida de Scrum e XP, 8% o
XP e 5,3% abordagens híbridas de várias metodologias.
Em 2009 foi identificada apenas a pesquisa publicada pela VersionOne
(2009), a qual obteve respostas de 2.570 pessoas; destas, 84% utilizavam uma
metodologia ágil, sendo 50% o Scrum, seguido de 24% de uma abordagem
híbrida de Scrum e XP e 6% para o XP.
Em 2010, mais uma vez apenas a pesquisa da VersionOne (2010) foi
identificada, em que 4.770 pessoas responderam às perguntas. Destas
pessoas, 90% utilizavam uma metodologia ágil, sendo 58% o Scrum e 17%
uma abordagem híbrida de Scrum e XP.
Com resultados baseados em dados de 2011, foram identificadas
pesquisas da VersionOne (2011) e a de Melo et al. (2012). A primeira obteve
6.042 respostas, entre as quais 80% das pessoas afirmaram utilizar uma
metodologia ágil, sendo o Scrum adotado por 52% dessas, seguido de uma
abordagem híbrida de Scrum e XP (14%), as metodologias Kanban e
Scrumban com 3% cada e as demais com valores menos expressivos. A
segunda pesquisa foi conduzida apenas no Brasil, onde foram obtidas 466
respostas, entre as quais 88,6% afirmaram utilizar uma metodologia ágil, sendo
o Scrum adotado por 51,1% dessas pessoas; a abordagem híbrida de Scrum e
XP por 22,70%, abordagem híbrida de diversas metodologias por 7,7%, o XP
com 7,3%, e o uso do Scrumban por 4,1%.
De acordo com os resultados das pesquisas, nota-se que o Scrum e
XP são as metodologias ágeis que têm sido mais utilizadas ao longo dos anos.
Por este motivo, a revisão da literatura sobre os tipos de Metodologias Ágeis
está restrita a essas duas metodologias. Na seção 2.1.3 está descrito a
Extreme Programming (XP), apresentando seu surgimento e suas principais
características. E na seção 2.1.4 está descrito o Scrum.
9
De acordo com Beck (1999), a XP é leve, de baixo risco, flexível,
previsível e científica, além de ser uma maneira divertida para desenvolver
software, uma evolução a partir dos problemas causados pelos longos ciclos
dos modelos tradicionais de desenvolvimento. O método XP é organizado em
torno de um conjunto de valores, princípios e práticas que, de acordo com
Teles (2005), juntos atuam de forma harmônica e coesa para assegurar que o
cliente sempre receba um alto retorno de investimento em software.
Valores
Na primeira versão do livro Extreme Programming Explained: Embrace Change
(BECK, 1999), XP baseava-se em quatro valores. Na sua segunda edição, foi
adicionado um quinto valor, o Respeito, para ressaltar a importância do valor
humano no desenvolvimento de software. Os cinco valores de XP de acordo
Beck (1999 e 2004) são: Comunicação (Communication), Simplicidade
(Simplicity), Feedback, Coragem (Courage) e Respeito (Respect).
Princípios
Os princípios da metodologia foram introduzidos para transformar os valores
que são abstratos em práticas a serem seguidas. Beck (1999) propôs cinco
princípios fundamentais: Rápido feedback (Rapid feedback), Assumir a
simplicidade (Assume simplicity), Mudança incremental (Incremental change),
Aceitar as mudanças (Embracing change), Trabalho de qualidade (Quality
work).
Com a reformulação da metodologia XP (BECK, 2004), quatorze
princípios fundamentais foram propostos: Humanidade (Humanity), Economia
(Economics), Benefício mútuo (Mutual Benefit), Autossemelhança (Self-
similarity), Melhoria (Improvement), Diversidade (Diversity), Reflexão
(Reflection), Fluxo (Flow), Oportunidade (Opportunity), Redundância
(Redundancy), Falhas (Failure), Qualidade (Quality), Passos pequenos (Baby
Steps) e a Aceitação da responsabilidade (Accepted Responsibility).
10
Práticas
De modo a permitir a inserção dos valores de XP nos projetos, doze práticas
foram propostas na primeira versão (BECK, 1999) para serem utilizadas no dia
a dia dos projetos: Jogo do Planejamento (The Planning Game), Versões
pequenas (Small releases), Metáfora (Metaphor), Design simples (Simple
design). Testes (Testing), Refatoração (Refactoring), Programação em Pares
(Pair programming), Propriedade coletiva (Collective ownership), Integração
Contínua (Continuous integration), 40 horas por semana (40 hour week),
Cliente no local (On-site customer) e os Padrões de Codificação (Coding
standards).
Beck (2004), na segunda versão do livro, afirmou que as práticas são
desprovidas de valores e que, ao menos que se tenha definido um valor por
trás destas, podem tornar-se rotinas do processo de desenvolvimento de
software. Essa declaração do autor foi em virtude das experiências de uso
relatadas por praticantes da metodologia, que simplesmente estavam aplicando
todas as práticas, sem ao menos compreender os seus valores e princípios. As
práticas, então, se tornaram mais flexíveis na segunda versão (BECK, 2004),
de modo a facilitar o seu uso e permitir melhor adaptação às necessidades
particulares de cada projeto.
Ciclo de vida
De acordo com Shore e Warden (2007), os projetos XP trabalham sobre as
atividades de análise, design, implementação e testes todos os dias. Isso se
torna possível devido à ênfase na colaboração e na comunicação face a face,
que eliminam atrasos na comunicação e problemas de mal entendidos, fazendo
com que não seja mais necessário o uso de fases distintas.
2.1.4 Scrum
As raízes do Scrum estão em um artigo que sumariza as 10 melhores práticas
em empresas japonesas cujo título é “The New Product Development Game”
(TAKEUCHI e NONAKA, 1986). Este artigo introduziu o Scrum para se referir
às reuniões de equipes que praticam a auto direção e a adaptabilidade.
11
Em 1993, incorporando o estilo de gerenciamento de Takeuchi e
Nonaka (1986), Jeff Sutherland, John Scumniotales e Jeff McKenna, iniciaram
as ideias e as práticas do Scrum, antes deste ser formalizado, implementando-
o na empresa Easel Corporation, em 1994. O desenvolvimento e a
formalização do Scrum como processo de desenvolvimento de sistemas foram
realizados por Ken Schwaber (SCHWABER, 1995)
O Scrum é um processo iterativo e incremental, baseado em uma
abordagem empírica que assume que a análise, o design e o processo de
desenvolvimento são imprevisíveis, possuindo, assim, mecanismos de controle
para melhorar a flexibilidade do processo (SCHWABER, 1995). Esses
mecanismos são um conjunto de práticas, artefatos e regras que são fáceis de
aprender e que são sustentados por três pilares (Visibilidade, Inspeção,
Adaptação) que devem trabalhar juntos para garantir o bom e adequado
funcionamento do seu ciclo de vida.
Papéis
Schwaber (2004) definiu três papéis para o Scrum (Scrum Master, Product
Owner e o Time), fornecendo um mecanismo de controle descentralizado, de
modo que todos os papéis estejam comprometidos com a execução, resultados
e sejam responsáveis pelo gerenciamento do projeto.
Práticas e Cerimônias
De modo a permitir que os pilares do Scrum estejam presentes nos projetos,
algumas práticas e cerimônias foram definidas: Planejamento da Sprint (Sprint
Planning), Scrum Diário (Daily Scrum), Revisão da Sprint (Sprint Review) e a
reunião de Retrospectiva da Sprint (Sprint Retrospective).
Artefatos
Schwaber (2004) define alguns artefatos a serem utilizados durante o processo
do projeto: Product Backlog, Burndow chart e Sprint Backlog.
12
Ciclo de vida
O ciclo de vida de um projeto Scrum deve envolver todos os papéis definidos
no framework que devem trabalhar juntos, realizando as práticas e cerimônias
para que os artefatos possam ser gerados. Juntos permitem que os pilares do
Scrum sejam alcançados. Para maiores informações sobre como funciona o
ciclo de vida do Scrum, recomenda-se a leitura de Kniberg (2007).
13
Alguns problemas foram identificados, como o aumento do esforço
para o cumprimento dos prazos, ocasionando elevação estresse nos
funcionários e mudanças frequentes das prioridades dos requisitos. Mesmo
com tais problemas, a pesquisa concluiu que o impacto das metodologias ágeis
é predominantemente positivo e que as mesmas continuarão sendo usadas na
organização estudada.
14
2.3.1 Empirical studies of agile software development:
A systematic review (DYBÅ e DINGSØYR, 2008)
Dybå e Dingsøyr (2008) afirmam que existem poucos estudos empíricos sobre
as metodologias ágeis, e que pouco ainda se sabe sobre como essas
metodologias estão sendo conduzidos na prática e quais são os seus efeitos.
Objetivando minimizar esta problemática, conduziram uma revisão
sistemática da literatura para avaliar, sintetizar e apresentar os resultados
empíricos sobre as metodologias ágeis, apresentando uma visão dos tópicos
de pesquisa, os resultados, as forças das evidências e as implicações para a
pesquisa e a indústria.
RQ1: What is currently known about the benefits and limitations of agile
software development?
RQ2: What is the strength of the evidence in support of these findings?
RQ3: What are the implications of these studies for the software industry
and the research community?
15
Categoria Este trabalho Dybå e Dingsøyr (2008)
Método Revisão Sistemática da Revisão Sistemática da
Literatura e Estudos de Caso Literatura
Protocolo Protocolo desenvolvido Protocolo desenvolvido
seguindo o Guideline de seguindo o livro “Cochrane
Kitchenham (2007). Handbook for Systematic
Reviews of Interventions”
(HIGGINS e GREEN,
2008).
Estratégia de 1. Pesquisa pelos estudos 1. Pesquisa pelos estudos
busca publicados de 2006 até publicados até 2005;
2010;
2. Inclusão de novos sinônimos
na String de busca, e
exclusão de algumas
palavras repetidas.
Fontes de busca Oito engenhos de busca Oito engenhos de busca
automática e nove fontes de automática e três fontes de
busca manual. busca manual.
Critérios de Somente estudos primários Foram selecionados três
inclusão foram selecionados. estudos secundários.
Busca e seleção 1. Leitura do Título e Abstract 1. Leitura do Título e
em uma única etapa; Abstract em etapas
2. Inclusão de uma etapa para diferentes;
leitura do título, abstract,
conclusões e metodologia.
Extração dos Uso da codificação aberta e Não definido.
dados axial.
Análise dos Uso da Teoria Fundamentada Não definido.
dados em Dados (Grounded Theory).
Quadro 1 – Diferenças entre este trabalho e o de Dybå e Dingsøyr (2008)
Fonte: Elaboração própria
16
2.3.2 A Comparison of Issues and Advantages in Agile
and Incremental Development between State of
the Art and an Industrial Case (PETERSEN e
WOHLIN, 2009)
Petersen e Wohlin (2009) afirmam que muitos dos estudos empíricos sobre as
metodologias ágeis focam em sua maioria no uso do Extreme Programming
(XP) e projetos de pequeno porte. Por este fato, o estudo objetivou investigar
projetos de larga escala para identificar vantagens e problemas obtidos com o
uso das metodologias ágeis e comparar esses resultados com estudos
anteriores.
Para atingir o objetivo, foi conduzido um estudo de caso em um projeto
de larga escala na empresa Ericson AB, que oferece serviços na área de
telecomunicação e multimídia. Três subsistemas foram selecionados de um
projeto de larga escala. Os projetos foram caracterizados (linguagem de
programação, quantidade de linhas de código, número de pessoas). A coleta
de dados foi realizada através de 33 entrevistas conduzidas com pessoas
envolvidas no desenvolvimento dos softwares dos projetos.
Com base nos resultados obtidos no estudo de caso, fez-se uma
comparação com alguns estudos da literatura, podendo-se observar que os
benefícios são compatíveis entre ambos, enquanto que os problemas diferem-
se quando são comparados os projetos de pequena com os de larga escala.
As conclusões do estudo foram: existe a necessidade de novas
pesquisas empíricas com as metodologias ágeis, de modo a ajudar a
elaboração de estudos comparativos. Como trabalho futuro, os pesquisadores
afirmaram que novas pesquisas qualitativas com foco na identificação dos
problemas de tais metodologias devem ser conduzidas.
No Quadro 2 são apresentadas as diferenças entre este trabalho e o
de Petersen e Wohlin (2009).
17
Categoria Este trabalho Petersen e Wohlin (2009)
Método Condução de um estudo Revisão bibliográfica adhoc
terciário, a partir de uma para identificar estudos
Revisão Sistemática da empíricos aplicados em
Literatura, e Estudos de projetos de grande porte, e
Caso. Estudo de Caso.
Estratégia de Focos em estudos empíricos, Foco em projetos de grande
cobertura aplicado a projetos de porte.
qualquer porte de tamanho.
Quadro 2 – Diferenças entre este trabalho e o de Petersen e Wohlin (2009)
Fonte: Elaboração própria
2.4 Resumo
O capítulo apresentou os principais conceitos, fundamentação teórica sobre
sas Metodologias Ágeis e resultados de pesquisas com base em questionários
(surveys), demonstrando que o número de aderentes às Metodologias Ágeis
tem aumentado ao longo dos anos, principalmente com relação ao Scrum e
XP. Mesmo com a ascensão destas metodologias, problemas foram
identificados: (1) Ferreira e Cohen (2008) afirmam que as pesquisas empíricas
sobre a efetividade dessas metodologias ainda são escassas, pois a maioria é
de natureza exploratória; (2) Dybå e Dingsøyr (2008) afirmam que pouco ainda
se sabe sobre como essas metodologias estão sendo conduzidas na prática e
quais são os seus efeitos; e (3) Strode et al. (2009) afirmam que rigorosas
pesquisas empíricas com tais metodologias são importantes para comprovarem
a sua eficácia.
Dois trabalhos que apresentaram soluções alternativas de uso de
métodos diferentes de pesquisa foram identificados: (1) Laanti et al. (2011)
conduziram um survey baseado na aplicação de questionário online para
identificar o impacto do uso das metodologias ágeis em uma organização de
larga escala; e (2) Begel e Nagappan (2007) conduziram um survey baseado
na aplicação de questionário online para identificar os benefícios e problemas
do uso das metodologias ágeis.
Dois trabalhos relacionados foram identificados: (1) Dybå e Dingsøyr
(2008) conduziram uma revisão sistemática da literatura para identificar os
benefícios e as limitações das metodologias ágeis em estudos empíricos da
18
literatura, publicados até o ano de 2005; e (2) Petersen e Wohlin (2009)
conduziram um estudo de caso em projetos de larga escala e comparou os
resultados obtidos em estudos na literatura (adhoc).
19
3 METODOLOGIA DA PESQUISA
Este capítulo descreve em detalhes os métodos de pesquisa utilizados para a
condução deste trabalho, de modo a tornar os resultados mais confiáveis e
possíveis de serem reproduzidos por outros pesquisadores.
Segundo Marconi e Lakatos (2008), um método de pesquisa é o
conjunto das atividades sistemáticas e racionais que, com maior segurança e
economia, permite alcançar um objetivo, traçando um caminho a ser seguido,
detectando erros e auxiliando as decisões do cientista. No entanto, antes da
definição do método, Easterbrook et al. (2008) recomendam que seja definido o
posicionamento filosófico a ser seguido pela pesquisa, podendo ser: positivista,
construtivista, teoria crítica e pragmático.
De acordo com o Easterbrook et al. (2008), o posicionamento
pragmático acredita que todo conhecimento é aproximado e incompleto, e seu
valor depende dos métodos pelos quais foi obtido (MENAND, 1997 apud
EASTERBROOK, 2008), sendo portanto, a verdade relativa ao observador.
Este posicionamento valoriza o conhecimento prático sobre o abstrato, e o uso
de métodos de pesquisa mista, pois vários métodos são utilizados para lançar
luz sobre a questão em estudo, investigando assim maneiras diferentes de se
chegar a uma verdade.
Por considerar o conhecimento prático, e o uso de métodos de pesquisa
mista, o posicionamento filosófico Pragmático foi considerado o mais
adequado para este trabalho, pois a abordagem metodológica utilizada se
alterna de acordo com as etapas da pesquisa.
Este capítulo se divide nas seguintes seções:
Quadro metodológico – apresenta a classificação da pesquisa com o
quadro metodológico definido;
Ciclo da pesquisa – todas as etapas da pesquisa são detalhadas nesta
seção: pesquisa de campo (survey), revisão sistemática da literatura e
estudos de caso.
20
Quadro Metodológico adotado por este trabalho é apresentado a seguir
(Quadro 3) e detalhado posteriormente.
21
O escopo da pesquisa envolveu três métodos de pesquisa: pesquisa de
campo, conduzido pelo método survey, para identificar o conjunto de empresas
de desenvolvimento de software associadas ao Porto Digital de Pernambuco
que utilizam Metodologias Ágeis; Revisão Sistemática da Literatura
(KITCHENHAM, 2007), como forma de analisar e interpretar um conjunto de
dados obtidos na literatura existente sobre uma questão de investigação
particular, área temática ou fenômeno de interesse, baseando-se em
evidências; e estudos de caso, conduzidos em empresas de desenvolvimento
de software do Porto Digital de Pernambuco.
Os métodos dos procedimentos são apoiados pelo método de
comparações constantes (SEAMAN, 1999 apud MONTEIRO, 2010), que
provê suporte para a construção da teoria fundamentada em dados, do inglês
Grounded Theory (GLASER E STRAUSS, 1967), e pelo procedimento de
Meta-etnografia, do inglês Meta-ethnography, que foi baseado em Noblit e
Hare (1988) e é iniciado com a extração de conceitos-chave dos estudos
encontrados, que fornecem informações relevantes para a pesquisa.
Segundo Marconi e Lakatos (2008), as variáveis do trabalho podem ser
consideradas independentes ou dependentes. As independentes são
consideradas determinantes que fornecem condição ou causa para um
resultado, influenciando, determinando ou afetando as variáveis dependentes.
Com esta definição, este trabalho pretende investigar as Metodologias Ágeis no
desenvolvimento de software como variáveis independentes (X) e os
possíveis benefícios e limitações obtidos com o uso dessas metodologias como
variáveis dependentes (Y).
22
identificadas as lacunas na teoria atual. Assim o Problema de Pesquisa, os
Objetivos e as Questões de Pesquisa foram definidos para serem
investigados.
23
(4) Após os dados serem coletados, os mesmos foram analisados e
interpretados objetivando responder as questões de pesquisa propostas.
(5) A última etapa consistiu na consolidação dos dados, onde foram
apresentadas as contribuições do trabalho para a pesquisa e a prática, as
limitações existentes e o direcionamento para trabalhos futuros, finalizando
com a produção de um relatório final.
Na Seção a seguir são apresentados os procedimentos de coleta de
dados baseado na pesquisa qualitativa, com descrições detalhadas sobre cada
instrumento de coleta elaborado.
24
com Laanti et al. (2011) é um meio mais rápido e fácil de obter as respostas do
que o uso de questionários em papel, além de que a manipulação das
respostas torna-se menos trabalhosa, evita erros humanos, garante um número
de respostas maior em um menor tempo, e reduz os custos.
O questionário foi aplicado com o objetivo de identificar as empresas
(130 ao total)1 associadas ao Porto Digital de Pernambuco que se enquadram
na categoria de desenvolvimento de software e quais delas utilizam as
Metodologias Ágeis para o desenvolvimento de software. Das empresas que
utilizavam uma metodologia ágil, também foram coletadas informações sobre:
função do respondente ocupada na empresa, tipo de metodologia ágil utilizada,
tipos de práticas ágeis utilizadas, tempo de uso das metodologias ágeis na
organização, quantidade de projetos que utilizam metodologias ágeis no
momento e a quantidade de projetos finalizados que utilizaram tais
metodologias.
As faixas utilizadas para identificar o tempo de uso das metodologias
ágeis foram classificadas como: menos de um ano (pouco tempo), entre 01 a
quatro anos (tempo médio) e mais de 04 anos (muito tempo).
A coleta de dados ocorreu entre os dias 01 de janeiro de 2011 a 31 de
maio de 2011, onde foi disponibilizado um questionário online, baseado no
modelo disponível no APÊNDICE A, divulgado em grupos de e-mails (Scrum
Recife e a lista de pós-graduação do Centro de Informática (CIn) da UFPE) e
através de e-mails encaminhados diretamente aos funcionários das empresas
(obtidos pelos sites das empresas).
Devido ao baixo índice de respostas, houve a necessidade de aplicar
os questionários pessoalmente nas empresas. Ao total, 63 respostas foram
obtidas com a aplicação do questionário.
1
De acordo com o site: www.portodigital.com.br. Acessado em 23/11/2010
25
afirmam que uma SLR é uma abordagem disciplinada para conduzir uma
revisão da literatura, possuindo, assim, maior credibilidade, pois esta deve ser
conduzida por métodos bem definidos que devem ser seguidos rigorosamente.
Assim, é permitida a redução do viés de uma SLR, pois ela deve ser auditável,
e permitir a sua repetição.
Kitchenham (2007) afirmou que existem dois tipos de revisão que
complementam uma revisão sistemática da literatura: (1) mapeamento
sistemático, que deve ser realizada em estágio inicial de investigação de um
determinado tópico, antes que seja realizada uma revisão sistemática, ou
quando o tema é muito amplo. Dessa forma, este tipo de revisão permite
identificar possíveis áreas em que são necessárias realizações de estudos
primários; (2) revisões terciárias é uma revisão sistemática de revisões
sistemáticas, a fim de responder a questões mais amplas de pesquisa, sendo
possíveis de serem realizadas somente quando existem várias revisões
sistemáticas sobre o domínio em estudo.
De acordo com Kitchenham (2007), a diferença entre uma Revisão
Sistemática e um Mapeamento Sistemático é que a primeira foca em questões
de pesquisa mais específicas, que podem ser respondidas por pesquisa
experimental, enquanto que a segunda foca em questões mais amplas, com o
propósito de dar uma visão geral de uma área de pesquisa.
Com base nas definições e diferenças de Revisões Sistemáticas e
Mapeamentos Sistemáticos apresentados acima, este trabalhou optou por
realizar uma Revisão Sistemática da Literatura, pois se pretende investigar
tópicos específicos sobre as Metodologias Ágeis: os benefícios e as limitações
proporcionados devido ao seu uso relatados em estudos empíricos da
literatura.
Kitchenham (2007) afirma que antes de iniciar o planejamento de uma
SLR, o pesquisador deve verificar se realmente existe a necessidade de
realizá-la. A autora apresentou algumas razões para se realizar uma:
Quando se deseja consolidar as evidências existentes de um
determinado fenômeno;
Identificar lacunas/gaps na pesquisa atual de modo a sugerir novas
áreas de investigação;
26
Para poder prover um arcabouço adequado para posicionar novas
pesquisas.
27
Questões de pesquisa
Com o objetivo de identificar resultados de pesquisas, práticas e aplicações
com o uso das Metodologias Ágeis, de modo a estender a revisão de Dybå e
Dingsøyr (2008), esta revisão possui 03 questões de pesquisa:
Q1: O que atualmente se sabe sobre os benefícios e limitações
das metodologias ágeis de desenvolvimento de software?
Q2: Quais são as forças das evidências que suportam os
resultados encontrados?
Q3: Quais são as implicações desses estudos para a indústria de
software e a comunidade de pesquisa?
Estratégias de busca
Para conduzir as buscas pelos estudos, foram utilizadas fontes de busca
automática e manual. A busca automática foi realizada a partir da definição de
uma String de busca, derivada da questão principal da pesquisa.
A String de busca foi construída utilizando a combinação de palavras-
chave da Q1 e seus sinônimos ou palavras derivadas, concatenados por meio
dos operadores booleanos “OR” e “AND”. A seguir é a apresentada a String de
busca derivada da combinação:
("agile" or "agility" or "scrum" or "extreme programming" or "xp" or
"dynamic system development" or "dsdm" or "crystal clear" or "crystal
orange" or "crystal red" or "crystal blue" or "feature driven
development" or "fdd" or "lean software development" or "adaptive
software development" or "asd" or "test driven development" or "tdd")
and ("software development" or "software engineering" or "information
system development" or "information system engineering" or "software
production")
28
Os termos utilizados para a String de busca foram os mais abrangentes
possíveis, de modo que seja a busca retornasse a maioria dos estudos sobre
as Metodologias Ágeis, e somente após a leitura dos mesmos identificar os
possíveis benefícios e limitações.
Fontes de busca
De modo a garantir uma busca exaustiva, e atingir a maior cobertura da
literatura existente a respeito do tema, foram realizadas as buscas
automáticas em 08 engenhos utilizando a String de busca nas principais
bases de dados na área de investigação disponíveis na internet, e manuais
nas principais referências (conferências e periódicos) de engenharia de
software e métodos ágeis. Os detalhes utilizados para cada fonte encontram-se
disponível no protocolo completo (APÊNDICE B).
29
Avaliação da qualidade
Todos os estudos incluídos na etapa anterior foram avaliados quanto a sua
qualidade metodológica com base em 10 critérios definidos por Dybå e
Dingsøyr (2008), objetivando compreender a força das evidências encontradas
que suportam os seus resultados para responder a segunda questão de
pesquisa. O modelo de formulário de avaliação da qualidade utilizado encontra-
se disponível na Seção 2.6 do APÊNDICE B.
Os estudos foram novamente divididos em três grupos, para serem
avaliados por pares de pesquisadores. E os mesmos procedimentos da etapa
anterior foram adotados para as divergências na aplicação dos critérios de
qualidade sobre cada estudo.
30
STRAUSS, 1967), pois de acordo com Racheva et al. (2010) é um método que
pode ser utilizado quando não se tem ideias pré-concebidas, e as categorias
dos dados vão surgindo à medida que os dados são coletados, podendo
emergir novas categorias, ou modificar as existentes por meio de comparações
constantes.
31
software do Porto Digital de Pernambuco, de modo explorar e confirmar (com
base na literatura) os resultados que são obtidos com o uso das Metodologias
Ágeis em contextos diferentes de projetos, objetivando responder à segunda
questão de pesquisa deste trabalho.
A unidade de análise dos estudos de caso são os relatos dos
participantes dos projetos investigados, com base em suas experiências
com o uso das metodologias ágeis nos projetos.
Esta seção está dividida de acordo com as seguintes seções:
Seleção da amostra – apresenta os critérios utilizados para seleção das
empresas;
Coleta de dados – apresenta o procedimento de coletas que foi
utilizado na pesquisa;
Extração e análise dos dados – apresenta os procedimentos adotados
para extração e análise dos dados;
Síntese dos dados – apresenta o procedimento adotado para a síntese
dos dados;
Validade de constructo – apresenta os procedimentos adotados na
pesquisa de modo a permitir uma validade de constructo;
Validade interna – apresenta os procedimentos adotados para a coleta
de dados, de modo a aumentar a validade interna da pesquisa.
2
UOL Economia: http://economia.uol.com.br/ultimas-noticias/redacao/2012/08/03/parques-tecnologicos-
disputam-titulo-de-vale-do-silicio-brasileiro.jhtm
32
Metodologias e empresas em que as metodologias ágeis estejam sendo
utilizadas na maior quantidade de projetos).
Quanto aos participantes da pesquisa, foi solicitado aos responsáveis
de cada uma das empresas que disponibilizassem a maior quantidade de
pessoas dos projetos para realizar a coleta de dados. E que, se possível, no
mínimo uma pessoa de cada função (gerente, analista, desenvolvedor,
testador, etc.) fosse disponibilizada, objetivando uma variação máxima dos
papéis dos entrevistados, de modo permitir obter diferentes visões de
pensamento.
Ao total foram selecionadas 22 pessoas, entre os cargos de gerentes,
líderes técnicos, analistas, engenheiros de sistema, desenvolvedores e
testadores.
Entrevistas
Yin (2005) afirma que o uso de entrevistas é uma das mais importantes fontes
de informação para um estudo de caso, que de acordo com Lutters e Seaman
(2007, apud SEAMAN 2008), são geralmente utilizadas para coletar opiniões
ou impressões sobre alguma coisa.
De acordo com Gray (2012), as entrevistas podem ser classificadas em
cinco categorias: estruturadas, semiestruturadas, não direcionadas,
direcionadas, e com conversas informais.
Esta pesquisa optou por realizar entrevistas semiestruturadas, pois, de
acordo com Flick (2009), esta abordagem permite utilizar um planejamento
aberto e permite que os pontos de vista dos sujeitos entrevistados sejam mais
33
bem expressados, do que em uma entrevista padronizada ou a partir da
aplicação de um questionário.
Um roteiro descrito no APÊNDICE C foi desenvolvido para conduzir as
entrevistas, que foi dividido em seis partes: (1) Objetivo: iniciar a entrevista
explicando os objetivos da pesquisa, e apresentando os termos de sigilosidade;
(2) Dados do entrevistado: conhecer um pouco sobre o entrevistado (tempo de
empresa, tempo no projeto, função exercida, etc); (3) Informações sobre o
projeto: tamanho da equipe, definição dos papéis da equipe, contexto dos
projetos, linguagem de programação utilizada, etc.; (4) Atividades
desenvolvidas: do entrevistado e de sua equipe no projeto; (5) Percepção do
entrevistado quanto aos benefícios que as Metodologias Ágeis propuseram aos
projetos; e (6) Percepção do entrevistado quanto as limitações que as
Metodologias Ágeis propuseram aos projetos.
34
estudos; (5) traduzir as relações dos estudos em categorias; (6) sintetizar as
categorias; e (7) apresentar a síntese dos resultados.
35
Antes de iniciar cada entrevista, foi pedida permissão ao entrevistado
para que a mesma fosse gravada em áudio. Todos os entrevistados
concederam a permissão de gravação.
Os dados coletados a partir das entrevistas foram obtidos através de
transcrições fidedignas. Para evitar o viés do pesquisador sobre a análise e
interpretação dos dados, os entrevistados foram contatados por e-mail, de
modo a verificar se as interpretações do pesquisador estavam corretas. Dos 22
entrevistados, dezesseis confirmaram a correta interpretação dos dados, três
esclareceram alguns pontos para melhor interpretá-los, e não foram obtidas as
respostas de três entrevistados.
Os resultados obtidos com os estudos de caso são discutidos de
acordo os resultados obtidos em Begel e Nagappan (2007), Dybå e Dingsøyr
(2008), Petersen e Wohlin (2009) e em Laanti et al. (2011).
36
De modo a garantir a validade externa da pesquisa, a escolha da
condução de estudos de caso foi baseado em questões de pesquisas
formuladas pelo trabalho, de modo permitir a comparação dos resultados dos
estudos de caso com a literatura. Os casos foram selecionados com base em
critérios bem definidos, de modo permitir a variação máxima (maior e menor
tempo de uso) das empresas que utilizavam uma metodologia ágil. Para reduzir
as possibilidades de vieses diversas abordagens foram utilizadas, descritas na
seção 0.
3.3 Resumo
A pesquisa adotou o posicionamento filosófico pragmático, por acreditar
valorizar o uso de métodos de pesquisa mista para alcançar o objetivo da
pesquisa.
Os procedimentos de coleta de dados foram apresentados e
detalhados, sendo utilizados três métodos: (1) aplicação de questionários
(survey); (2) revisão sistemática da literatura (SLR); e (3) estudos de casos
múltiplos.
O objetivo do primeiro método de coleta foi utilizado para identificar as
empresas de desenvolvimento de software do Porto Digital de Pernambuco que
utilizavam as Metodologias Ágeis. O segundo, a SLR foi conduzida para
identificar os benefícios e as limitações das Metodologias Ágeis apresentadas
na literatura. E o terceiro método de coleta foram os estudos de caso, que
objetivaram identificar de um conjunto de empresas do Porto Digital de
Pernambuco, os benefícios e as limitações do uso das Metodologias Ágeis no
desenvolvimento de software.
37
4 RESULTADOS
Esta seção apresenta os resultados obtidos com as diversas etapas da
pesquisa.
38
Restaram 44 respostas válidas, correspondendo a 33,85% do total da
amostra selecionada de 130 empresas. Portanto, na análise das respostas
para cada questão do questionário, foram consideradas apenas as respostas
válidas. Para a segunda pergunta do questionário, 30 respondentes informaram
que utilizam uma metodologia ágil na organização, correspondendo a 68% dos
respondentes. A Figura 2 apresenta o gráfico dessa relação.
39
P4. Quais são as Metodologias Ágeis
utilizadas pela empresa?
21
6
2 1
40
P6. Há quanto tempo a empresa tem utilizado
Metodologias Ágeis?
De 04 à 05 projetos 6,67%
De 02 à 03 projetos 40,00%
41
P6. Qual a quantidade de projetos que utilizam
atualmente Metodologias Ágeis?
De 02 à 03 projetos 36,67%
De 04 à 05 projetos 20,00%
De 02 a 03 projetos 13,33%
De 04 a 05 projetos 10,00%
42
4.1.2 Análise e discussão dos resultados
Esta seção apresenta algumas discussões sobre os resultados mais relevantes
obtidos com esta etapa da pesquisa.
43
al. (2012).
44
Pergunta 9: Quantos projetos foram finalizados utilizando alguma
Metodologia Ágil?
De acordo com os resultados apresentados, percebe-se que nenhum projeto
utilizando uma metodologia ágil foi finalizado para a maioria das empresas.
Esse resultado tem uma provável relação com o tempo de uso das
metodologias ágeis pelas empresas, visto que a maioria as utiliza há menos de
seis meses.
45
4.2.1.1 Equipe envolvida
Para a condução desta pesquisa, foram envolvidos nove pesquisadores, sendo
sete estudantes de pós-graduação (dois doutorandos, e cinco mestrandos) em
Ciências da Computação, pelo Centro de Informática (CIn) da Universidade
Federal de Pernambuco (UFPE), e dois professores orientadores. Entre os
pesquisadores, três estudantes possuíam experiências prévias na condução de
Revisões Sistemáticas da Literatura ou Mapeamento Sistemático, e os
professores orientadores auxiliaram e orientaram durante todo o processo.
Segundo Dybå e Dingsøyr (2008), a principal limitação de uma revisão
sistemática é o viés introduzido pelos pesquisadores na seleção dos estudos.
Para reduzir essa possibilidade de viés, quase todas as etapas da revisão
foram conduzidas envolvendo pelo menos três pesquisadores, com exceção
das etapas de extração e síntese dos resultados, que foram conduzidas pelo
autor desta dissertação.
4.2.1.2 Execução
A revisão sistemática foi conduzida de acordo com o protocolo apresentado
resumidamente no Capítulo 3 e disponível por completo no APÊNDICE B. Os
resultados de cada etapa da condução estão descritos nas próximas seções.
3
www.dropbox.com.br
47
Wiley Inter
Science Journal
SpringerLink Finder
3% 9%
ACM Digital
Library
Scopus 26%
14%
ScienceDirect – El Compendex
Elsevier 16%
19%
IEEE
Xplore
ISI Web of 9%
Science
4%
48
ACM
Transactions on
Software
Engineering and
Agile Methodology
Development 0%
Conference
XP Conference 20%
47%
Computer IEEE
Software
19%
International
Symposium on IEEE
Empirical Transactions on
Journal of the Software Software
ACM Engineering Engineering
0% (ESEM) 2%
12%
49
independente por cada pesquisador, com base na leitura efetuada sobre a
Introdução e Conclusão de cada estudo. Nas situações em que a partir desta
leitura não fica claro, inviabilizando a aplicação dos critérios, o estudo foi lido
na íntegra.
Os resultados do acordo de cada dupla (antes da convocação de um
terceiro pesquisador) sobre a aplicação dos Critérios de Inclusão e Exclusão
foram analisados e foi medido o índice de concordância desta etapa com base
no coeficiente Kappa. O resultado do coeficiente apresentado por cada dupla
foi: dupla 1 (K1 = 0.71), que indica graua de concordância substancial; dupla 2
(K2 = 0.88) que indica grau de concordância excelente; dupla 3 (K3 = 0.70) que
indica grau de concordância substâncial. Para interpretar o coeficiente,
consideramos a Tabela 1 a seguir, que apresenta uma classificação para os
intervalos do índice.
50
o foco em práticas ágeis isoladas (pair programming, TDD, etc.) e não com o
uso de uma Metodologia Ágil, ou pelo motivo das metodologias ágeis não
serem o foco do estudo.
51
4.2.1.3 Visão geral dos estudos
Esta seção apresenta as informações gerais dos estudos que foram obtidas a
partir da extração de dados.
Diversos tipos de metodologias ágeis foram investigados pelos
estudos, e o percentual encontrado de cada metodologia está apresentado no
gráfico da Figura 12, onde se pode notar que a maioria dos estudos
apresentou resultados de investigação com o Scrum (31,58%) e com o XP
(30,83%). Uma abordagem híbrida entre as duas metodologias teve uma
representação considerável (18,80%) com relação aos demais métodos
identificados.
O processo de busca incluiu as metodologias ágeis Lean e o Adaptive
Software Development, no entanto nenhum estudo potencialmente relevante
abordando esses métodos foi incluído nesta revisão.
52
35 30 30
30 27
25 22
20 16
15
10
5
0
2006 2007 2008 2009 2010
EUROMICRO 4,80%
53
EuroSPI 1,60%
SoutheastCon 0,80%
54
International Conference on Enterprise Information Systems 0,80%
55
restante foi distribuído em ambientes que misturam a academia e a indústria, e
ambientes governamentais.
Foram identificados quatro métodos de pesquisa nos estudos
primários como mostra a Tabela 4, com destaque para os Estudos de Caso
(60,80%), que, além de possuírem suas variações (estudo único ou de
múltiplos casos), foram utilizados em conjunto com outros tipos de métodos. O
segundo método mais encontrado foi o Survey (16,80%), conduzido mediante
aplicação de questionários.
56
ICT (20 estudos), The Open University (10 estudos), VTT Technical Research
Centre of Finland (10), Free University of Bolzano-Bozen (10), University of
Calgary (9).
Dos 16 estudos contribuídos pelo Brasil, foram identificadas 4
instituições de ensino: Universidade Federal de Santa Catarina (6),
Universidade de São Paulo (5), Universidade Federal de Pernambuco (3), e a
Universidade Federal do Rio de Janeiro (2).
57
alta. A Tabela 5 apresenta como foi feita a distribuição da pontuação entre as
faixas estabelecidas.
80
60
47
40 35
25
20 12
0
Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10
58
justificou o motivo do uso dos métodos.
O critério 4 (Q4) é relacionado à amostra utilizada no estudo, onde foi
verificado se foram explicados os motivos e critérios de seleção, se o tamanho
da amostra foi representativo, etc. Foi identificado que os estudos
apresentavam o tamanho total da população pesquisada, no entanto, apenas
35 estudos (27,56%) descreveram como os casos foram selecionados. Isso
aconteceu principalmente nos estudos em que foi utilizado o estudo de caso
como método de pesquisa.
Entre os critérios de mais baixa qualidade estão os critérios 5 e 8. De
acordo com a avaliação sobre o critério 5 (Q5), percebe-se que apenas 25
estudos (19,69%) apresentaram resultados em que tratamentos comparativos
de grupos de controle foram utilizados. E para o critério 8 (Q8), apenas 12
estudos (9,45%) apresentaram discussões sobre os potenciais vieses da
pesquisa.
Todas as evidências apresentadas são devidamente referenciadas
pelos 125 estudos primários da pesquisa. Os números das referências são
precedidos por ‘prs’ (potential relevant study), objetivando identificar cada
estudo na revisão. As informações bibliográficas de cada um desses estudos
estão disponíveis no APÊNDICE F.
59
pelo trabalho, de modo a apresentar o que atualmente se sabe sobre os
benefícios e as limitações das Metodologias Ágeis no desenvolvimento de
software.
Com a condução desta Revisão Sistemática, foram identificados 125
estudos primários que respondem a essa questão de pesquisa, e que tiveram a
qualidade do estudo satisfatória de acordo com os critérios estabelecidos. Foi
realizada a análise e a extração dos dados nesses estudos, onde foram
encontrados diversos benefícios e limitações.
Na próxima seção serão apresentados os resultados dos benefícios, e
posteriormente os resultados das limitações.
4.2.2.1.1 Benefícios
Foram identificados 79 benefícios nos estudos, cuja lista completa e o
mapeamento destes com os estudos encontram-se no APÊNDICE I. Nos
próximos tópicos desta seção, são discutidos os 15 benefícios que mais foram
identificados nos estudos (Tabela 6) e no final é apresentado um mapeamento
dos benefícios por Metodologia Ágil. Os benefícios receberam um identificador
único, para se diferenciarem uns dos outros.
60
B13 Reduz a quantidade de defeitos/erros no projeto 10,40%
Pair Programming
O Pair Programming foi a prática ágil mais encontrada nos estudos, sendo
utilizada tanto em projetos que utilizam o XP, como em projetos com o Scrum e
ASSF. Em muitos estudos, essa prática propiciou a troca de conhecimento
entre os desenvolvedores, tanto em nível técnico, como de negócio para
entendimento do problema a ser desenvolvido. O estudo [prs322] realizou uma
61
pesquisa com estudos de casos múltiplos em empresas de desenvolvimento de
software da Áustria, com obtenção dos dados a partir de um survey, onde
60,5% dos entrevistados afirmaram que a prática da programação em par
possibilitou a transferência do conhecimento.
Os estudos ([prs44], [prs535]) informaram que a prática foi utilizada
somente em ocasiões para prover o equilíbrio de experiência entre
desenvolvedores experientes e novatos, a fim de expô-los em novas áreas de
código desconhecidas. Segundo o estudo [prs571], isso permitiu reduzir pela
metade o tempo de introdução de uma nova pessoa em um projeto.
Para as atividades em que foram necessários estudos para prover uma
solução para um problema técnico desconhecido, após a descoberta da
solução, o aprendizado pôde ser transferido por meio da programação em par
[prs591]. Além do compartilhamento do conhecimento para prover soluções,
habilidades técnicas de refactoring foram melhoradas com o uso da prática
[prs466].
Collective Ownership
A adoção da prática de propriedade coletiva foi percebida como uma maneira
eficaz de compartilhar o conhecimento. Um desenvolvedor da Nova Zelândia
[prs535] afirmou que devido a esta prática ágil, qualquer membro pôde
trabalhar em qualquer parte do código, independente da habilidade técnica.
Desenvolvedores do estudo [prs651] afirmaram que o código coletivo
assegurou que vários membros do projeto conheciam o código bem, o
62
suficiente para fazer mudanças ou alterações solicitadas.
63
Figura 16 – B2. Melhora a comunicação da equipe
Fonte: Elaboração própria
A metodologia ágil que mais proveu tal benefício foi o Scrum, seguido
do XP, e após, uma abordagem híbrida utilizando o Scrum e XP. Também foi
identificado o benefício com o uso do Mobile-D, uma metodologia ágil para
desenvolvimento de softwares para dispositivos móveis.
A seguir, são apresentadas as práticas ágeis que mais foram
identificadas para o benefício em questão, e o mapeamento destas com alguns
estudos primários.
64
Co-location team
A adoção da prática de equipes colocalizadas permitiu um espaço comunitário
e útil que melhorou a comunicação, colaboração e a coordenação entre os
membros da equipe [prs719], e tem sido um sucesso no projeto. Só não tem
sido um sucesso total, porque ainda ocorrem muitas interrupções [prs1497].
Devido à melhoria na comunicação, houve menos necessidade de
documentação [prs1497], pois todos sabiam o que o outro estava fazendo
[prs1136] e a equipe estava perto o suficiente para realizar a comunicação face
a face, facilitando a resolução de problemas e discussão de design [prs797].
Uma equipe de um projeto trabalhou por um bom tempo colocalizada,
no entanto, posteriormente, teve que separar os membros em lugares
diferentes. Esta nova forma de trabalho foi percebida como negativa por um
desenvolvedor, já que a comunicação espontânea é importante para o projeto
[prs1001].
66
identificar e discutir os problemas existentes no projeto.
Task board
As metodologias ágeis como o Scrum, XP e Kanban propõem o uso do quadro
de tarefas para as equipes, que foi utilizado por alguns estudos, provendo o
benefício de facilitar o acompanhamento e monitoramento do projeto, devido ao
seu aspecto visual.
Os estudos ([prs1530] e [prs719]) afirmaram que o uso do quadro foi
benéfico para os projetos, possuindo uma estrutura que oferece às equipes
uma ideia clara de progresso/status do trabalho. O quadro revela informações
importantes [prs564], o que permite um compartilhamento visual que ajuda a
entender a situação de cada tarefa, e do projeto como um todo [prs651].
Sprint Review
A reunião de Revisão da Sprint (Sprint Review) do Scrum foi vista como
provedora de informações que permitem acompanhar e monitorar o projeto,
sendo útil para discutir o progresso, e encontrar precocemente os problemas
([prs636] e [prs716]). Ainda, o estudo [prs918] afirmou que esta reunião,
quando ocorre com a participação dos interessados, permite uma maior
visibilidade e transparência do projeto, e ajuda o gerente de projeto com uma
supervisão mais eficiente.
Sprint Retrospective
A reunião de retrospectiva da Sprint (Sprint Retrospective) foi identificada em
estudos que utilizam o Scrum, por permitir uma boa visão sobre o progresso
atual do projeto para os envolvidos [prs879], além de permitir a identificação
dos problemas, e a avaliação das iterações passadas do projeto [prs636].
Ainda, o estudo [prs797] afirmou que tais reuniões são importantes para apoiar
o rastreamento, ajudando as equipes a entenderem o ritmo do projeto,
melhorar o processo e o desempenho para as próximas iterações.
67
“In these meetings [Daily Stand Up Meetings] the project team
members were informed what had been done thus far, and
what needed to be done; any existing problems were also
covered in these meetings.” – prs918
68
Figura 18 – B4. Feedback rápido/frequente
Fonte: Elaboração própria
Short iterations
As metodologias ágeis valorizam as iterações curtas por permitirem um
feedback frequente. O gerente de um projeto de desenvolvimento de software
na Alemanha afirmou que as pequenas iterações do processo ágil facilitaram
os testes de usabilidade e interface com o usuário, que permitiram a avaliação
rápida do produto e proveram feedbacks rápidos, facilitando as possíveis
correções e melhorias o mais rápido ([prs1016], [prs1607]).
O estudo [prs591] apresentou um relato de um desenvolvedor que
afirmou que as entregas semanais são melhores, por permitirem descobrir
cedo quando existe a falta de entendimento de requisitos do usuário por parte
dos desenvolvedores, do que um mês depois.
69
“[...] The usability tests and evaluating UI with users bring lot of
feedback to be fixed, so it was easy for us to fix those
usability results into small iterations of agile process.” –
Project manager, prs1016
70
Pair Programming
A programação em par foi a prática mais encontrada por prover o benefício em
questão, devido a constante revisão do código entre dois membros dos
projetos, e as discussões geradas entre os pares para prover uma melhor
solução de design ao problema.
Em entrevista realizada pelo estudo [prs1037] com um desenvolvedor,
o mesmo afirmou que os membros do projeto haviam parado com o uso da
programação em par, mas retornaram, pois a prática proveu uma melhoria
significativa, tanto na produtividade da equipe, como na qualidade do código.
Desenvolvedores do estudo [prs571] afirmaram que com o uso da
prática, a qualidade do código melhorou em termos de design, sendo
descobertos menos erros no projeto.
TDD
A prática do desenvolvimento orientado a testes foi identificada por diversos
desenvolvedores como benéfica para os projetos, por permitir produzir os
códigos com melhor qualidade, devido aos designs simples e constantes
refatoramentos propostos pela prática.
O estudo [prs1001] apresentou relatos de um desenvolvedor que
sentiu que o uso da prática melhorou a qualidade, e ainda outro desenvolvedor
[prs1002] comparou o código produzido por uma equipe com o uso do TDD,
com um código similar produzido pela mesma equipe aplicando métodos
tradicionais, e afirmou que o código com o TDD foi significantemente melhor.
Tais benefícios são vistos por um desenvolvedor [prs1019] como resultado da
simplicidade, eliminação da complexidade e constante melhoria da qualidade
proposta pela prática.
Refactoring
A prática de refactoring foi benéfica por prover a simplicidade, e eliminar a
complexidade dos códigos dos projetos. Esta prática está muito associada à
prática do TDD que aplica constantes refatoramentos do código, como pôde
ser percebido o uso associado das práticas nos estudos ([prs1019], [prs1607]).
Um desenvolvedor do estudo [prs1607] afirmou que o uso da prática
71
promove a maior reutilização e um código de melhor qualidade. Ainda,
arquitetos de software afirmaram que com o uso de refatoramentos, foi possível
tanto no nível de código, quanto de arquitetura, alcançar atributos de qualidade
desejados, como prover melhorias na capacidade de manutenção do projeto
[prs488].
Continuous integration
A integração contínua foi a prática menos observada nos estudos para prover a
melhoria na qualidade do código, tendo apenas dois estudos associados. Em
[prs27] foi conduzido um estudo de caso, onde um entrevistado afirmou que a
integração contínua permitiu melhor controle do processo, transparência, e
aumentou a qualidade do projeto, pois permitiu que pequenas tarefas fossem
gerenciadas. As alterações ocorridas no projeto puderam ser implementadas
com maior facilidade, devido à integração do código, de acordo com um
desenvolvedor [prs1019].
72
B6. Permite uma maior colaboração entre a equipe
As metodologias ágeis enfatizam a comunicação e a interação entre a equipe,
por isso que nos estudos primários foram identificadas diversas práticas que
propiciam a maior colaboração entre os membros da equipe.
Entre os estudos, o XP e o Scrum foram os métodos mais identificados,
seguidos pelo ASSF e uma abordagem híbrida do Scrum e XP. A Figura 20
apresenta esses métodos e as práticas utilizadas que permitiram o benefício
em questão.
Projetos Scrum
Nos estudos em que o Scrum foi utilizado, algumas práticas ágeis foram
identificadas, sendo: metas compartilhadas, Sprint Planning, Daily Stand Up
Meetings, Collective Code, Iterative and Incremental.
O estudo de caso [prs535] avaliou 16 organizações de software
distribuídas em diversos países. Um desenvolvedor de um dos projetos
estudados afirmou que a Sprint é um compromisso da equipe, ao invés de um
esforço individual, o que permite a ajuda mútua entre os membros, para atingir
o objetivo.
Devido a esta característica do Scrum em trabalhar com metas
compartilhadas, o planejamento e controle das Sprints também envolve toda a
73
equipe [prs651]. Durante a execução das Sprints ocorrem as reuniões diárias
(Daily Stand Up Meetings), que, de acordo com o estudo [prs716], também
foram percebidas como uma maneira eficaz de permitir a colaboração entre a
equipe.
Projetos XP
Os projetos que utilizam o XP valorizam a comunicação frequente e direta entre
a equipe, o que, segundo o estudo [prs1132], propicia o rápido
desenvolvimento, que as dúvidas sejam sanadas, os problemas sejam
resolvidos, e a colaboração entre os membros seja garantida. No entanto, o
ambiente deve ser adequado para permitir essa comunicação e colaboração. O
estudo [prs719] afirmou que o espaço comum (Co-location team) melhora a
comunicação, colaboração e coordenação entre os membros da equipe.
“By having every member of the team see every day [Daily
Stand Up Meetings] what every other team member was
doing, the team's productivity, morale, adaptability,
accountability and collaboration will significantly increase.” –
prs716
74
questions were answered, problems were resolved, and
collaborative opportunities were quickly grasped.” –
Developer, prs1132
Pair Programming
A prática da programação em par foi identificada em dois estudos por prover
aumento na produtividade da equipe. Um estudo abordou o método de XP, e
outro uma abordagem híbrida de uso do Scrum e XP.
O estudo [prs1037] apresentou um estudo de caso da indústria, onde
um desenvolvedor afirmou em entrevista que o uso da programação em par
aumentou significativamente a produtividade da equipe, e, como consequência,
a qualidade do projeto.
O estudo [prs466] apresentou resultados da indústria de estudos de
casos múltiplos em diversos contextos (financeiro, empresa de segurança,
transporte) de sistemas que utilizaram o método ágil XP, e informou que o uso
das práticas ágeis (design simples, TDD, refactoring, código coletivo, e a
programação em par) aumentou a produtividade da equipe e o feedback sobre
o código, e reduziu o retrabalho.
Refactoring
A prática de refactoring foi relatada em dois estudos que apresentou resultados
no aumento da produtividade das equipes.
O estudo [prs17] realizou um experimento próximo da indústria
(participação de estudantes e profissionais do mercado), onde foram efetuadas
análises no código do projeto, antes e depois de ser realizado o refactoring.
Como resultado, constatou-se que houve um aumento significativo na
produtividade da equipe depois de o código ser refatorado.
76
O estudo [prs466] afirmou que as tarefas que envolveram código
refatorado levaram menos tempo (22h) para serem desenvolvidas, e permitiu
um desenvolvedor afirmar que a refatoração melhorou a produtividade do
projeto.
77
Figura 22 – B8. Melhora a comunicação entre o cliente (ou representante) e a equipe
Fonte: Elaboração própria
Projetos XP
Nos projetos mencionados nos estudos que utilizaram o XP, algumas práticas
foram citadas por permitir essa melhoria, como as reuniões de planejamento
das iterações, que, utilizando a prática do Jogo do Planejamento (Planning
Game), foi o principal meio de comunicação entre a equipe de desenvolvimento
e o cliente [prs767]. A prática também foi importante para o estudo [prs49],
que possuía diversos interessados no projeto, dificultando o acordo de noções
de qualidade entre as partes. Assim, a prática intensificou a comunicação,
necessária para chegar a permitir o consenso.
Outra prática identificada foram as histórias de usuário colocadas em
cartões de parede (Cards wall), que facilitou a comunicação com o cliente
[prs593] e permitiu sua aproximação com a equipe de desenvolvimento
[prs1497].
A seguir, são apresentadas as práticas ágeis que mais foram
identificadas para o benefício em questão, e o mapeamento destas com alguns
estudos.
78
meetings [Planning Game] served as the primary means of
communication between the two groups.” – Developer,
prs767
79
identificadas para o benefício em questão, e o mapeamento destas com alguns
estudos.
Constant communication
A comunicação foi um fator importante por permitir a entrega frequente de
software, conforme os resultados de um survey apresentado em [prs331], pois
de acordo com a maioria das organizações pesquisadas que utilizaram as
metodologias ágeis, foi o contato ativo com o cliente que garantiu a entrega
mais rápida e frequente de software.
80
todo. Foram identificadas nos estudos primários algumas melhorias ocorridas
nos projetos em virtude do uso das metodologias ágeis, com destaque para o
XP e o Scrum. A Figura 24 apresenta as metodologias ágeis e as práticas
utilizadas que permitiram o benefício.
Projetos Scrum
Alguns benefícios foram identificados com o uso do Scrum em alguns estudos,
como é apresentado por [prs1583], que apresenta o resultado de um estudo de
caso, onde foram realizadas algumas entrevistas. Entre os entrevistados, o
Product Owner disse que, devido ao uso do Scrum, o foco na qualidade do
projeto aumentou por causa do constante feedback que ocorrem nas reuniões.
Um desenvolvedor entrevistado informou que o número de defeitos reduziu
devido a constante comunicação que ocorriam nas reuniões diárias.
O estudo [prs688] afirmou que o uso do Scrum melhorou a qualidade
do projeto como um todo, e, para [prs689], a qualidade do projeto foi
aumentada em 36%.
81
“During the interviews, the Product Owner commented that the
focus on software quality had increased after introducing
Scrum, because of continuous feedback in the daily
meetings, short sprints, and sprint retrospectives.” –
Product Owner, prs1583
82
Figura 25 – B11. Reduz a documentação
Fonte: Elaboração própria
83
estudos que justificam tal benefício.
“And you were kind of wasting that time during all this
repetition, and those documents never get up to date. So they
were not even useful once the project was done, you know.
They did not reflect reality any more. That was part of the
biggest improvement [reduced documentation] I saw in
development with Agile over Waterfall.“ – Developer, prs1665
84
Práticas de XP
Cinco práticas de XP foram identificadas nos estudos, sendo as principais: TDD
e Refactoring.
O estudo [prs1002] apresentou os resultados de estudos de casos
múltiplos, que objetivou analisar o impacto do uso das metodologias ágeis
sobre o código. O TDD foi uma das práticas analisadas, onde foi identificado
que o seu uso reduziu a complexidade ciclomática do código.
Devido ao uso do TDD com testes automatizados, aplicado juntamente
com a prática de Recfactoring, um gerente identificou que a prática proveu um
feedback constante, ajuda a manter o código mais simples, e melhora a
qualidade do mesmo [prs1019]. A simplicidade gerada pela prática aumentou a
velocidade do desenvolvimento do projeto [prs466] e permitiu uma maior
segurança para modificar o código [prs1078].
A prática de Refactoring permitiu eliminar as duplicações de código,
simplificando e tornando o código mais flexível [prs918], consequentemente
aumenta a produtividade das equipes no curto prazo [prs17].
85
short-term, thus nullifying to some extent the complexity
naturally added during development.” – prs17
Pair Programming
A prática da programação em par foi identificada em cinco estudos, entre os
quais, quatro foram em projetos que utilizavam o XP, e o outro o método ASSF.
O estudo [prs56] apresentou um estudo em que um projeto utilizou o
método ágil ASSF, juntamente com a prática da programação em par. Neste
estudo, desenvolvedores do projeto afirmaram que o uso da prática ajudou a
melhorar a qualidade do código, o que fez surgir menos bugs relatados durante
os testes de aceitação do usuário. Os mesmo resultados foram percebidos
pelos desenvolvedores do estudo [prs571].
A falta da prática da programação em par, em um projeto que já
86
utilizava a prática anteriormente, ocasionou em aumento na taxa de falhas em
uma iteração do projeto [prs1352].
TDD
A relação entre o uso do TDD com o benefício em questão foi identificada em
03 estudos ([prs571], [prs1002] e [prs1078]), todos utilizando o método XP,
apresentaram resultados de estudos de casos que relataram a diminuição da
quantidade de erros nos projetos após o uso da prática de TDD.
Projetos XP
Devido à pouca repetição das práticas relacionadas ao benefício, abordaremos
neste tópico todos os benefícios identificados devido ao uso do XP.
O valor do Manifesto Ágil de comunicação constante foi percebido
entre os projetos com o XP, onde o estudo [prs980] afirmou que ter se
comunicado com frequência com o cliente facilitou a compreensão das suas
necessidades. E o estudo [prs49] afirmou que o intenso envolvimento do
cliente no processo ajudou a equipe a entender melhor as suas expectativas.
Seguindo o valor da comunicação constante, um desenvolvedor
afirmou que as reuniões diárias (Daily Stand Up Meetings) serviram para
discutir problemas e buscar entendimento sobre detalhes do projeto [prs767]. A
prática de On-site customer que também valoriza a comunicação, de acordo
com o resultado de um survey [prs129], é um dos fatores críticos de sucesso
dos projetos ágeis.
O TDD ajudou a manter uma visão compartilhada sobre o projeto,
facilitando o melhor entendimento sobre o que é cada funcionalidade, de
acordo com a perspectiva do cliente [prs918].
Projetos Scrum
Nos projetos que fizeram uso do Scrum, nenhuma prática ágil ganhou destaque
sobre a outra. A cerimônia da Sprint Planning, segundo o estudo [prs918],
permitiu reduzir os mal-entendidos e confusões sobre o projeto.
A elaboração dos testes de aceitação, devido ao uso do TDD, forneceu
uma visão clara e suficiente para os desenvolvedores implementarem o código
[prs604]. As reuniões diárias, de acordo com um gerente de projeto
apresentado no estudo [prs1594], facilitaram o entendimento e alinhamento da
visão sobre o projeto.
88
estudos que justificam tal benefício.
89
A seguir, são apresentadas as práticas ágeis que mais foram
identificadas para o benefício em questão, e o mapeamento destas com alguns
estudos.
Projetos Scrum
Todas as reuniões do Scrum, desde o planejamento até a última reunião de
uma Sprint, foram identificadas por facilitarem a interação entre os membros da
equipe, como foi descrito pelo estudo [prs1525].
De acordo com o estudo [prs918] que apresentou os resultados de um
estudo de caso de projetos distribuídos, a Sprint Planning proporcionou uma
boa interação entre os participantes do projeto, ajudando a reduzir os
entendimentos equivocados.
Projetos XP
O estudo [prs1132] em que foi aplicado o XP afirmou que houve a forte
valorização dos indivíduos e a interação entre eles, o que facilitou o
entendimento das necessidades do projeto, e o gerenciamento do mesmo. Isso
foi perceptível também no estudo [prs1610], que afirmou que essa relação
aumentou a camaradagem entre os membros da equipe.
“The participants felt that since team had been together for
about eighteen months and because of the rich
communication among the team (daily calls, frequent
reviews and planning), the team had developed excellent
informal relationships which helped them handle the
disruption better.” – prs1525
70 59
60 54
50
40 28 31
30
20 9
10 1 1 3
0
91
4.2.2.1.2 Limitações
Foram identificadas 63 limitações nos estudos, cuja lista completa e o
mapeamento destas com os estudos encontram-se no APÊNDICE J. Nos
próximos tópicos desta seção, são discutidas as 15 limitações que mais foram
identificadas nos estudos (Tabela 7) e no final é apresentado um mapeamento
das limitações por Metodologia Ágil. As limitações receberam um identificador
único, para se diferenciarem uma das outras.
92
Tabela 8 – Descrição do foco das limitações empíricas
ID Categoria Foco das limitações empíricas
prs448 Arquitetura de software Arquitetura de software com metodologias
ágeis
prs535 Autogerenciamento Natureza do autogerenciamento e desafios
das equipes ágeis na prática industrial
prs688 DDS Desenvolvimento distribuído com
metodologias ágeis
prs689 DDS Desenvolvimento distribuído com
metodologias ágeis
prs767 DDS Desenvolvimento distribuído com
metodologias ágeis
prs597 DDS / Comunicação Comunicação em projetos ágeis distribuídos
prs608 DDS / Comunicação Comunicação em projetos ágeis distribuídos
prs687 DDS / Comunicação Comunicação em projetos ágeis distribuídos
prs1625 Eficácia Eficácia de práticas ágeis
prs129 Geral Fatores críticos de sucesso dos projetos ágeis
de software
prs1610 Geral Análise da aplicação das metodologias ágeis
em países emergentes
prs723 Geral Qualidade dos sites desenvolvidos com
metodologias ágeis
prs809 Geral Adoção das metodologias ágeis nos países
emergentes
prs322 Geral Aplicação prática das metodologias ágeis
93
prs1335 Geral / Projetos de larga Aplicação das metodologias ágeis em projetos
escala de larga escala
prs1112 Gerenciamento Gerenciamento de defeitos
prs123 Gerenciamento Gerenciamento de risco
prs452 Linhas de Produto de Metodologias ágeis e Linha de produto de
Software Software
prs462 MPS Resultados dos estudos com MPS e as
metodologias ágeis
prs1607 Organizações Aplicação das metodologias ágeis em
tradicionais organizações tradicionais
prs17 Refactoring / Impacto do refactoring na produtividade
Produtividade
prs700 Requisitos Priorização e re-priorização de requisitos em
projetos ágeis
prs610 Satisfação Satisfação de equipes ágeis e não ágeis
prs346 Satisfação Metodologias ágeis e a satisfação das partes
interessadas
prs1296 Scrum Eficácia de uma equipe Scrum
prs1301 Scrum Aplicação do Scrum em projetos de larga
escala
prs1583 Scrum Efeitos do Scrum sobre a qualidade do
software
prs703 TDD Melhoria de código com o TDD
prs1019 XP Vantagens do XP
prs1497 XP Efeitos do XP sobre a comunicação
94
comunicação em um ambiente ágil distribuído.
95
estavam dizendo. Poucos problemas foram discutidos nessas reuniões, pois os
desenvolvedores encaravam-os como problemas pessoais.
A especialização da equipe causou problemas para as reuniões de
planejamento da Sprint (Sprint Planning), de acordo com o estudo [prs1031],
onde uma especialista em um domínio se recusou em participar da reunião,
alegando que não queria saber como as atividades seriam estimadas pela
equipe, por possuir especialidade diferente de outros membros, dificulta o
entendimento sobre o que cada especialidade iria fazer.
O Scrum foi adotado pelo projeto do estudo [prs135], sendo utilizado o
autogerenciamento das equipes, onde cada membro tinha a liberdade de
escolher suas próprias atividades. Um desenvolvedor reconheceu isso não foi
bom para o projeto, pois houve menos interação entre a equipe.
“The daily scrum was held almost every day, but people did
often not listen to what others were talking about [...]” –
Developer, prs1296
96
L3. Aspectos culturais
As metodologias ágeis possuem princípios e valores que priorizam a satisfação
do cliente, a entrega frequente de software funcional, a colaboração entre a
equipe, a motivação da equipe, a comunicação face à face, entre tantos outros.
Por isso, para a adoção de tais metodologias, são necessárias mudanças
comportamentais dos indivíduos e das organizações, o que pode ocasionar em
resistências, ou diversas barreiras culturais para a sua adoção. A Figura 31
apresenta as principais limitações impostas por aspectos culturais identificados
nos estudos.
97
apresentado um estudo de caso de projetos distribuídos que utilizou o Scrum,
onde foram identificados problemas na comunicação durante as reuniões
diárias da equipe, pois descendentes da cultura asiática se comunicavam
pouco, dificultando saber o andamento e os impedimentos de suas tarefas.
98
da equipe em utilizá-las. As práticas identificadas foram: TDD, Simple Design,
User Stories, Daily Stand Up Meetings, sendo o TDD a prática mais
identificada, que estava associado aos projetos em que o XP foi utilizado, como
mostra a Figura 32.
99
good really experienced guy in the team that has worked
with TDD before. Otherwise you will take short cuts probably.”
– prs1002
100
L6. Falta de informações históricas, relatórios e métricas para
apoiar o gerenciamento
Os gestores dos projetos utilizam muitas vezes informações obtidas durante os
projetos para auxiliarem às tomadas de decisões. No entanto, em 07 estudos
identificou-se que as metodologias ágeis ainda carecem dessas informações.
O estudo [prs813] apresentou informações sobre um estudo de caso
de uma empresa multinacional de grande porte, que desenvolvia sistemas B2B
de maneira distribuída, onde foram utilizadas as metodologias Scrum e XP. No
entanto, em um dos projetos da empresa, um gerente foi relutante em adotar o
Scrum, pelo motivo de que o mesmo necessitava de dados históricos de
desempenho da equipe, para poder iniciar o projeto.
O estudo de caso apresentado em [prs1069] descreveu um projeto em
que foi utilizado o XP, e um gerente do projeto afirmou que a abordagem ágil
utilizada não permitiu a obtenção de dados para custos de análise e
estatísticas sobre o projeto. O mesmo foi identificado no estudo [prs135], onde
um desenvolvedor afirmou que a falta de informações sobre o progresso do
projeto como um todo tornou difícil monitorar o desempenho dos membros da
equipe.
Uma declaração de um gerente de projeto apresentado no estudo
[prs1607] afirmou que seus superiores estavam preocupados com a dificuldade
que teriam para elaborar relatórios e obter métricas em um ambiente de
trabalho ágil.
101
“Management was also used to a delivery date, costs
analysis and statistics on progress being presented however
this was also not available.” – Project manager, prs1069
“[...] However, the team did not manage to update the plan
[Task board] to adapt to the changing conditions. Subsequently,
it was unclear how much progress had been made, which
made it difficult to monitor team members’ performance.” –
Developer, prs135
102
“Distributed work across multiple teams and cultural
differences between agile and traditional teams hinder
communication and coordination among teams” – prs1019
103
estudos que justificam tal limitação.
“Team B also reported that they gave up trying to pair all day
every day because it became too intense and difficult to
sustain." – Developer, prs705
104
refatoração das tarefas, porque a equipe precisava entregar o que havia
prometido. Um problema semelhante foi percebido no estudo [prs448], onde
um arquiteto de software afirmou que essa abordagem reduziu a possibilidade
de escolha de uma melhor solução de design.
“It is like having a pistol against your neck. It’s good and bad.
You fix things now and not later. But there are also tasks you
should have done like code refactoring. I think we do not use
enough time on refactoring, because you need to deliver
what you promised, and what the team promised.” –
Developer, prs1583
105
orçamento, do que com as abordagens tradicionais. De acordo com o estudo
[prs1037], um desenvolvedor afirmou que essa pressão gera insatisfação dos
membros do projeto.
O mesmo foi percebido no estudo [prs813], que afirmou que o Scrum
sobrecarregou os membros da equipe de um projeto com mais demandas com
prazos curtos e constante pressão para a entrega.
106
existem custos adicionais que envolvem a necessidade de mudar os processos
atuais do projeto de acordo com o estudo [prs809].
108
mesmo causa uma sobrecarga de gerenciamento e coordenação.
Problemas com as reuniões de Revisão (Review) e diárias foram
percebidos em dois estudos. Em [prs1133] as reuniões diárias se tornaram
tediosas em função do grande tamanho da equipe, pois pontos abordados
durante a reunião por alguns desenvolvedores foram irrelevantes para outros.
Os mesmos problemas ocorreram nas reuniões de revisão, onde alguns
desenvolvedores sentiram que as mesmas eram um desperdício de tempo
[prs1037].
“This happened around the demo sessions that were held at the
end of Sprint [Review]. The number of participants and the
amount that should be demoed made this event grow to a size
so that many felt it was a waste of time.” – Developer,
prs1037
109
L14. Falta de planejamento de longo prazo
Quatro estudos apresentaram informações de que o uso das metodologias
ágeis desencadeou a falta de planejamento de longo prazo. Entre esses
estudos, 3 apresentaram resultados com o método Scrum, e um com o XP.
De acordo com os estudos ([prs1595], [prs652] e [prs910]),
desenvolvedores sentiram que estavam perdendo a visão total do projeto,
devido ao foco em módulos individuais e à falta de compreensão do sistema a
ser desenvolvido como um todo, o que dificultou fazer projeções de prazos dos
projetos.
“[...] during the planning phase, the original scrum method only
focuses on incremental sprints, therefore not allowing a
clear picture of the overall project schedule.” – prs652
110
tornando assim, a transição para o método ágil difícil.
Outro problema foi identificado no estudo [prs44], onde as decisões da
comunicação informal não foram documentadas e foram esquecidas por uma
das partes envolvidas.
Para o estudo [prs910], a redução da documentação limitou os
registros históricos do processo, e com relação ao código do projeto, limitou o
conhecimento dos desenvolvedores sobre o mesmo, e dificultou realizar
análises da causa raiz dos problemas.
111
individualmente, estando relacionada com 37 (58,73%) limitações identificadas
na literatura. Em segundo lugar vem o Scrum, relacionado com 22 (34,92%). A
abordagem híbrida do Scrum e do XP está associada a 14 (22,22%) limitações.
Nenhuma limitação foi identificada para metodologia ASSF e para a abordagem
híbrida do Scrum e Kanban.
40 37
35
30
25 22
20 14
15
10 5
5 0 1 1 0
0
112
chegar aos resultados apresentados e a relevância do estudo para a indústria e
a comunidade de pesquisa. Com base nesses critérios, os estudos primários
foram avaliados criticamente quanto à sua qualidade metodológica com base
em 10 questões que abordavam o rigor, a credibilidade e a relevância dos
estudos. Os 125 estudos primários incluídos na revisão possuíam sua
qualidade entre média, alta e muito alta.
Os métodos de pesquisa utilizados nos estudos primários em sua
maioria (97) apresentavam resultados a partir de estudos de caso, com coleta
de dados com base em entrevistas e observações. O que de acordo com o
Dybå e Dingsøyr (2008b), podem proporcionar melhores evidências na
Engenharia de Software.
Os estudos incluídos foram apenas de estudos de projetos reais
(acadêmicos ou da indústria) que utilizavam as metodologias ágeis, sendo
eliminados estudos que apresentavam resultados sobre o ensino dessas
metodologias. Contudo, os resultados em sua maioria apresentavam
evidências com base no uso do Scrum e XP nos projetos. Isso pode ser
justificado pelo motivo destas metodologias serem as mais utilizadas com base
em pesquisas apresentadas na Seção 2.1.2.
Com base nos métodos de pesquisa utilizados, nos critérios de inclusão
e exclusão dos estudos e na qualidade metodológica dos estudos primários,
pode-se concluir que existe uma forte de evidência para suportar os resultados
encontrados nesta revisão.
114
pelos estudos empíricos, que comprometem o uso das metodologias ágeis, e o
bom andamento dos projetos.
115
revisão de Dybå e Dingsøyr (2008), onde o XP foi o método mais investigado
(76%), seguido das abordagens em aspectos gerais (15%), e em terceiro lugar
o Scrum (3%).
Os resultados da pesquisa mostram a ascensão dos estudos empíricos
com o uso do Scrum, o que pode ter relação com a sua ascensão no mercado,
como é apresentado na Seção 2.1.2.
Avaliação da qualidade
Os resultados mostraram que os critérios 3, 4, 5 e 8 receberam uma baixa
pontuação na avaliação da qualidade. Analisando estes resultados e
comparando com a revisão de Dybå e Dingsøyr (2008), a média de ambas as
revisões para o critério 3 apresentou resultados bem diferentes. Para esta
revisão, a média da pontuação baixa foi em virtude de que a maioria dos
estudos informava os métodos utilizados, mas não apresentava justificativa
para o seu uso, de modo que o leitor pudesse entender o motivo de uso de tal
método, e não de outro.
Para o critério 4 desta revisão, assim como em Dybå e Dingsøyr
(2008), a minoria dos estudos incluídos em ambas as revisões descrevia como
a amostra apresentada foi selecionada, se o tamanho da amostra era
representativo, etc. Tais resultados mostram que os estudos empíricos sobre
as metodologias ágeis ainda carecem no fornecimento dessas informações,
diminuindo, assim, a confiabilidade para generalizar os resultados.
Os critérios 5 e 8 desta revisão também foram os que receberam as
mais baixas pontuações em Dybå e Dingsøyr (2008), mostrando que os
116
resultados apresentados com as metodologias ágeis pelos estudos não foram
comparados a outros métodos, e que os pesquisadores dos estudos incluídos
para as revisões não apresentam reflexões críticas de possíveis sobre a
própria pesquisa.
Benefícios
O principal benefício identificado por esta revisão foi que as metodologias ágeis
“Facilita o compartilhamento do conhecimento entre a equipe”, tal beneficio
também foi identificado por Petersen e Wohlin (2009). No entanto, Dybå e
Dingsøyr (2008) não fizeram menção a este benefício.
Ao fazer uma análise do método ágil de cada um dos estudos incluídos
nesta revisão que apresentaram benefícios com o uso das Metodologias Ágeis,
o XP e o Scrum foram os métodos mais utilizados, tendo desse modo uma
grande diferença com relação à revisão de Dybå e Dingsøyr (2008), pois na
pesquisa desses autores, o XP foi a metodologia mais utilizada, sendo
apresentado poucos estudos que apresentaram resultados sobre o uso do
Scrum.
O segundo benefício foi a “Melhora na comunicação da equipe” provido
tanto por estudos apresentando o uso do Scrum quanto do XP. Dybå e
Dingsøyr (2008), Begel e Nagappan (2007) e Petersen e Wohlin (2009)
também identificaram este benefício, atribuído principalmente às reuniões
diárias do Scrum.
O terceiro benefício mais identificado nos estudos foi que o uso das
metodologias ágeis “Facilita o acompanhamento e monitoramento do projeto”,
em sua maioria, decorrente de estudos que utilizaram o Scrum, provenientes
117
das reuniões (Daily Scrum Meetings, Sprint Review e Sprint Retrospective). O
benefício também foi identificado por Dybå e Dingsøyr (2008), Petersen e
Wohlin (2009) e também citado por Begel e Nagappan (2007), mas não
discutido.
Outros benefícios identificados por esta revisão foram identificados por
Laanti et al. (2011): “Aumento na satisfação da equipe”, “Melhora a qualidade
do projeto”, “Aumento na transparência do projeto”, “Aumenta a autonomia da
equipe” e “Permite a identificação rápida de defeitos/erros”.
Devido ao fato desta revisão sistemática ser uma extensão da revisão
conduzida por Dybå e Dingsøyr (2008), um mapeamento entre os resultados
destas revisões foi realizado. Dybå e Dingsøyr (2008) apresentaram 21
benefícios que estão listados e o mapeamento destes com os benefícios
correspondentes identificados nesta revisão são apresentados na Tabela 9.
118
Métodos ágeis são fáceis de serem adotados
Mudanças são incorporadas mais facilmente B18
Redução de defeitos B13
Valor de negócio é demonstrado de forma mais eficiente B9
XP é adequado para diversos tipos de ambientes
Limitações
A principal limitação identificada por esta revisão foi a Falta de estudos
empíricos com as metodologias ágeis (L1), principalmente com relação ao uso
destas metodologias no Desenvolvimento Distribuído de Software. Tal limitação
foi a principal razão de condução da revisão realizada por Dybå e Dingsøyr
(2008), o que nos leva a interpretar que este problema continuou a existir
mesmo depois da revisão desses autores.
Dybå e Dingsøyr (2008) identificaram que o XP é difícil de ser
introduzido em organizações complexas, afirmando de que é mais adequado
para equipes pequenas. Esta limitação também foi identificada por esta
revisão, sendo relatada por quatro estudos. Entre estes estudos, dois foram
utilizando uma abordagem híbrida de Scrum e XP, um individualmente com o
uso do XP e o outro com uma abordagem misturada de diversas metodologias
ágeis.
Outras limitações identificadas por esta revisão também foram
identificadas por Dybå e Dingsøyr (2008), como a Dificuldade de Programação
em Par (L8), o que para esta revisão, grande parte da dificuldade está
relacionada não a diferença de habilidades como informado por Dybå e
Dingsøyr (2008), mas, sim, devido aos conflitos de personalidade entre os
pares, estando intimamente relacionada a limitação identificada pela revisão,
que são os Aspectos Culturais (L3), sejam eles organizacionais ou pessoais.
Devido ao fato desta revisão sistemática ser uma extensão da revisão
conduzida por Dybå e Dingsøyr (2008), um mapeamento entre os resultados
destas revisões foi realizado. Dybå e Dingsøyr (2008) apresentaram 09
limitações, entre as quais 06 são correspondentes a esta revisão. A Tabela 10
apresenta as limitações correspondentes entre as pesquisas.
119
Tabela 10 – Mapeamento entre as limitações identificadas por Dybå e Dingsøyr (2008)
e esta revisão
Limitações identificadas por Dybå e Dingsøyr (2008) Mapeamento
com a SLR
deste trabalho
Dificuldade de implantar o XP em projetos complexos L39
Mais adequado para equipes menores do que projetos grandes L13
Lean não funcionou bem
Programação em par foi ineficiente
XP funciona melhor com equipes de desenvolvimento
L28
experientes
Falta de atenção a arquitetura do projeto L19
Participação constante do cliente por um longo período causa
L27
stress
Programação em Par se torna desgastante, pois exige
L8
concentração
Dificuldade de mudar os membros das equipes
120
4.3.1 Descrição dos estudos de caso
Esta seção apresenta as descrições e características dos estudos de caso
conduzidos em duas empresas de desenvolvimento de software do Porto
Digital de Pernambuco. Essas empresas foram selecionadas com base em
critérios definidos na Seção 3.2.1.3.
Ao total foram realizadas 22 entrevistas conduzidas durante o mês de
junho de 2012, totalizando 19 horas de áudio gravado; as entrevistas foram
transcritas, analisadas, categorizadas e sintetizadas de acordo com o objetivo
da pesquisa. Os entrevistados ocupavam os cargos de gerentes de projetos,
líderes técnicos, analistas, engenheiros de sistemas e de testes.
Por questões de confidencialidade, os nomes verdadeiros das
empresas, dos projetos e dos entrevistados serão omitidos, sendo utilizados
codinomes de empresa ALFA (menor tempo de uso de uma metodologia ágil) e
BETA (maior tempo de uso de uma metodologia ágil). A Tabela 11 apresenta
algumas características das empresas dos projetos investigados.
121
pertencem à área de desenvolvimento e manutenção de sistemas, distribuídos
entre os 18 projetos em que a empresa atua. Os membros da fábrica de
software estão divididos entre: gerentes de projetos, gerente de TI, um analista
da qualidade, analistas de sistemas, engenheiros de sistemas, engenheiros de
testes e um designer gráfico.
O Scrum foi implantado na empresa ALFA através de uma empresa de
consultoria, sendo realizados treinamentos e acompanhamento da execução
do Scrum nos projetos. Todos os projetos da empresa são gerenciados
utilizando o Scrum apenas em nível de fábrica, pois para os clientes isto não é
transparente. Desse modo, os analistas de requisitos que estavam em contato
com os clientes eram os responsáveis pelo papel de Product Owner dentro da
fábrica. As Sprints de todos os projetos possuíam duração de duas semanas.
As equipes dos projetos estão alocadas em um mesmo ambiente físico,
de modo que os membros das equipes fiquem todos juntos. Cada equipe
possui o seu quadro de tarefas, onde são colocadas as histórias e tarefas.
Além do quadro, as equipes utilizam uma ferramenta web de gerenciamento de
projetos, o Redmine4, que é observado pelo diretor da empresa e pelos clientes
para saberem o andamento dos projetos.
Ao projeto investigado no estudo de caso foi atribuído o nome
ALFA_P1. Este projeto estava sendo desenvolvido há pouco mais de um ano
utilizando a linguagem Java para plataforma Web, os frameworks JSF,
Demoiselle e os bancos de dados Oracle e SQL Server. Foi considerado de
complexidade média pelos envolvidos. O objetivo do projeto era desenvolver
um sistema de controle financeiro para acompanhar e monitorar despesas e
receitas governamentais.
O projeto ALFA_P1 possuía nove membros; destes, 07 foram
entrevistados. Algumas características dos membros entrevistados estão
descritas na Tabela 12.
4
www.redmine.org
122
Tabela 12 – Características dos entrevistados do projeto ALFA_P1
Experiência c/ Experiência c/
Entrevistado Função Idade desenvolviment Metodologias
o de software Ágeis
ALFA_P1_E1 Analista/Scrum Master 28 04 anos 1,5 anos
ALFA_P1_E2 Gerente de Projeto 27 06 anos 2,5 anos
ALFA_P1_E3 Analista/Product
26 05 anos 03 anos
Owner
ALFA_P1_E4 Engenheiro de Testes 22 03 anos 1,5 anos
ALFA_P1_E5 Engenheiro de
32 05 anos 04 anos
Sistemas
ALFA_P1_E6 Gerente de TI 26 06 anos 03 anos
ALFA_P1_E7 Engenheiro de 01 ano e 04
27 02 anos
Sistemas meses
124
e uma planilha.
O cliente do projeto atua na área de Tecnologia da Informação (TI) e
participava ativamente do projeto, estando sempre disponível, por email ou por
uma ferramenta de comunicação instantânea. O papel do Product Owner (PO)
estava dividido entre o PO interno, representado por uma engenheira de testes
do projeto e o externo sendo o próprio cliente.
O projeto possuía nove membros, dos quais 08 foram entrevistados.
Uma breve descrição dos entrevistados encontra-se na Tabela 14.
125
e da Meta-etnografia sobre a leitura e análise das transcrições das entrevistas.
Na Seção 0 são descritos os principais benefícios e na Seção 0 são
apresentadas as principais limitações das Metodologias Ágeis identificadas nos
estudos de caso.
4.3.2.1 Benefícios
Foram identificados 52 benefícios nos estudos de caso; a lista completa e o
mapeamento destes com cada caso encontram-se no APÊNDICE K. Nos
próximos tópicos desta seção, são discutidos os 10 benefícios que mais foram
identificados nos estudos de caso (Tabela 15). Os benefícios receberam um
identificador único, para se diferenciarem uns dos outros.
126
Figura 34 – B1_EC. Facilita o acompanhamento e monitoramento do projeto
Fonte: Elaboração própria
127
Task Board
O quadro de tarefas utilizado nos projetos (Task Board) foi mencionado por
dezessete entrevistados (engenheiro de sistemas, de testes, analista de
sistemas/Product Owner, líder de equipe/Scrum Master), sendo este o artefato
mais foi citado por prover o benefício de permitir acompanhar e monitorar os
projetos.
Na empresa ALFA, apenas duas pessoas afirmaram a utilidade do
quadro para este benefício. Uma delas foi o engenheiro de sistemas e também
Scrum Master [ALFA_P1_E5] do projeto; em sua opinião, a partir do quadro ele
consegue perceber se a equipe está indo bem ou mal na Sprint, o que permite
sinalizar ao gerente de projetos se está ocorrendo algum problema ou se está
tudo tranquilo. A mesma visão é compartilhada por um engenheiro de sistemas
do mesmo projeto, que alega que o fato de o quadro estar localizado na
mesma sala da equipe torna-o de fácil visualização.
O projeto P1 da empresa BETA realizou a experiência de retirar o
quadro de tarefas de sua equipe, devido à falta de espaço no ambiente de
trabalho para o qual haviam mudado recentemente. Substituíram-no por uma
ferramenta web, o Redmine. No entanto, de acordo com o engenheiro de
sistemas [BETA_P1_E1], o quadro dava uma visão geral do status do sistema,
enquanto para outro engenheiro de sistema do mesmo projeto [BETA_P1_E2],
o quadro permitia a visualização rápida do que cada membro da equipe estava
fazendo. Essas mesmas opiniões foram compartilhadas por ([BETA_P1_E5],
[BETA_P1_E6], [BETA_P1_E7], [BETA_P2_E4] e [BETA_P2_E6]).
Para o engenheiro de sistemas [BETA_P2_E1] o uso do quadro é
fundamental para determinados tipos de atividades, principalmente aquelas
que possuem atividades dependentes. O engenheiro afirmou que houve uma
situação em que estava desenvolvendo uma atividade de Script (shell) que
dependia de outra atividade. A partir do quadro, ele conseguiu facilmente
visualizar quem era o responsável pela atividade, ou seja, o uso do quadro
permitiu um retorno rápido e prático de informação.
O engenheiro de sistemas [BETA_P2_E5] alegou que o quadro é
importantíssimo para orientar tanto a equipe quanto o gerente do projeto em
relação ao status do projeto.
128
Transcrições das entrevistas
A seguir, seguem algumas transcrições extraídas durante a análise das
entrevistas que justificam o benefício em questão.
"... eu acho interessante, muito bom pra a gente ter uma noção
de como ta o andamento, se alguém ta com algum
problema, com algum impedimento, a gente compartilha.” –
Engenheiro de Sistemas, BETA_P1_E6
129
“O quadro dava uma visão... ele dava uma visão geral do
status do seu... do... do... do sistema que ta sendo feito.” –
Engenheiro de Sistemas, BETA_P1_E1
Pair Programming
A prática da programação em par foi relatada em diversas entrevistas,
principalmente entrevistas com engenheiros de sistemas.
Na empresa ALFA, o benefício foi relatado em três entrevistas. Um
engenheiro de sistemas que também exerce o papel de Scrum Master
[ALFA_P1_E5], ao ser perguntado sobre como funciona a programação em par
na equipe em que trabalha, respondeu que esta ocorre em algumas situações:
130
em atividades complexas ou quando há a necessidade de dependência de
outro desenvolvedor; quando se precisa terminar uma atividade o mais rápido
possível ou quando se precisa juntar dois desenvolvedores para que discutam
e assim juntem os conhecimentos a fim de escolherem a melhor solução para
um determinado problema.
Ainda na empresa ALFA, um analista/Scrum Master [ALFA_P1_E1]
afirmou que todos os dias membros da equipe sentam juntos para disseminar o
conhecimento sobre o que estão desenvolvendo. Sobre este acontecimento,
um Product Owner [ALFA_P1_E3] afirmou que sua equipe utiliza esta prática e
ao ser questionado quanto a sua visão sobre a prática, afirmou que acha
importante, tanto para nivelar o conhecimento da equipe quanto para a
resolução de problemas mais críticos.
Na empresa BETA, o benefício foi relatado em seis entrevistas, sendo
cinco relatos de engenheiros de sistemas e um do líder da equipe que também
atua como Scrum Master. Este último [BETA_P1_E3] afirmou que a prática
permite o compartilhamento do conhecimento e que normalmente ocorre entre
pessoas com níveis diferentes de experiência, o que permite uma revisão do
código, provendo uma melhor qualidade a este.
O engenheiro de software [BETA_P2_E1] afirmou que esta prática é
utilizada em atividades complexas ou quando se tem a necessidade de passar
o conhecimento para outra pessoa. Outro engenheiro [BETA_P1_E5] do
mesmo projeto afirma gostar da prática, pois aprende a implementar o código
de maneiras diferentes, além de ajudar a corrigir os erros que normalmente
uma única pessoa não perceberia.
Sprint Planning
A cerimônia de Sprint Planning do Scrum, realizada no início de toda Sprint, foi
relatada em dois projetos. No projeto P1 da empresa ALFA e no projeto P2 da
empresa BETA.
Na empresa ALFA o benefício foi relatado por três pessoas. Um
analista, que também atua como Scrum Master, [ALFA_P1_E1], afirmou que a
discussão da segunda etapa da Sprint Planning entre todos os membros da
equipe permite que cada um compartilhe a sua visão sobre uma determinada
história, unindo, assim, o conhecimento de todos para entender e subdividir a
131
história em tarefas. Para o Product Owner da equipe [ALFA_P1_E3], a
discussão desta reunião permite expor pontos de vista diferentes, dúvidas
diferentes e maneiras diferentes para uma determinada solução. Essa
discussão, de acordo com um engenheiro de sistemas [ALFA_P1_E5], nivela o
conhecimento na estimativa da história.
Na empresa BETA, o benefício proveniente das cerimônias de Sprint
Planning foi observado por quatro pessoas do projeto. O engenheiro de
sistemas [BETA_P2_E1] afirmou que no projeto P2, durante as reuniões, na
etapa que ocorre apenas com os membros da equipe, os que mais entendem
sobre o assunto da história explicam com detalhes o que deve ser feito e como
deve ser feita a história. Esta situação é compartilhada pelo engenheiro
[BETA_P2_E6], que afirmou que esta mistura de diferentes níveis de
experiência no planejamento acelera o conhecimento dos menos inexperientes,
pois há a troca do conhecimento, principalmente sobre sistemas mais antigos.
As cerimônias de Sprint Planning, de acordo com a Engenheira de
Testes [BETA_P2_E3], que também atua como Product Owner interno do
projeto (pois também existe um Product Owner do próprio cliente) afirmou que,
é bom que todos participem desta reunião, pois isto permite nivelar o
conhecimento de todos sobre as histórias, já que as dúvidas são tiradas na
hora com o cliente.
132
Transcrições das entrevistas
A seguir, seguem algumas transcrições extraídas durante a análise das
entrevistas que justificam o benefício em questão.
“[...] E é muito bom, porque o contato que você tem com outra
pessoa desenvolvendo, você vê ela fazendo coisas que:
[“_Poxa, isso é interessante. Eu nunca tinha atentado pra
isso!”], até pra ajudar na utilização da ferramenta em si, da
ferramenta, da IDE. Você vai fazer uma coisa: [“_Poxa, eu não
sabia, não conhecia esse atalho?]. Ou então, você vê a
pessoa utilizando o código de uma forma que você
utilizaria de outra: [“_Poxa, se for interessante ou não”].
Então, é muito bom. E você vai conversando e vai ajudando,
mesmo, né, corrigindo, se a pessoa errar alguma coisa.” –
Engenheiro de Sistemas, BETA_P1_E5
133
colocar, subdividir em tarefas e fazer com que o outro
enxergue...” – Analista/Scrum Master, ALFA_P1_E1
134
identificadas em menor grau. A Figura 36 apresenta todas as práticas
identificadas que permitiram o benefício.
Co-location team
A adoção da prática de colocar os membros da equipe juntos em um mesmo
local foi percebida como um benefício nos três projetos estudados. No projeto
da empresa ALFA três relatos foram identificados e na empresa BETA um
relato para cada projeto.
Na empresa ALFA foi perguntado ao gerente de projetos
[ALFA_P1_E2] quanto a sua visão sobre a comunicação e a interação entre os
membros da equipe; este afirmou que ambas funcionam bem, pelo motivo de
todos estarem juntos e próximos uns os outros. Essa mesma visão foi
apresentada pelo engenheiro de testes da empresa [ALFA_P1_E4].
Um engenheiro de sistemas do projeto P1 da empresa BETA
[BETA_P1_E1] afirmou que devido ao fato de estarem em um ambiente onde
todos da equipe estão muito próximos, a interação e a comunicação entre eles
acaba fluindo bem. Um engenheiro de teste também da empresa BETA, sendo
que do projeto P2 [BETA_P2_E7], afirmou que a interação entre a equipe de
teste e de desenvolvimento é boa devido à proximidade das equipes, alocadas
em uma mesma sala. O engenheiro ainda afirmou que esta proximidade ajuda
a resolver as dúvidas sobre os testes, pois a comunicação está mais próxima.
135
Daily Scrum Meetings
As reuniões diárias das equipes Scrum também foram percebidas em todos os
projetos estudados como uma prática que permite melhorar a interação entre
os membros da equipe.
Na empresa ALFA, um analista que também atua como Product Owner
do projeto [ALFA_P1_E3] afirmou que a prática da reunião diária tem um
impacto cultural positivo sobre os membros da equipe, de modo que uma
pessoa que não gosta de se comunicar acaba se comunicando mais com os
demais membros devido à reunião.
Na empresa BETA, um engenheiro de sistemas do projeto P1
[BETA_P1_E1] afirmou que as reuniões diárias aproximam os membros da
equipe, permitindo uma interação maior entre eles. Essa mesma visão foi
afirmada pelo líder técnico [BETA_P2_E2] do projeto P2.
136
É uma interação boa pela proximidade que a gente tem lá
no... ficamos bem próximos da equipe de desenvolvimento.
Uma diferença que eu notei também de outros projetos foi que
quando ta mais próximo, às vezes, assim, uma dúvida que eu
tenha sobre algum teste algum resultado esperado eu já posso
tirar do lado, não esperar ou mandar um e-mail ou pro cara do
outro lado que demora muito pra poder chegar nele.” –
Engenheiro de Testes, BETA_P2_E7
137
A seguir, são apresentadas as práticas ágeis que mais foram
identificadas para o benefício em questão e o mapeamento destas com
algumas entrevistas.
Sprint Planning
A cerimônia de Sprint Planning do Scrum, realizada no início de toda Sprint, foi
relatada em dois projetos. No projeto P1 da empresa ALFA e no projeto P2 da
empresa BETA.
Na empresa ALFA, a participação direta do Product Owner na Sprint
Planning, de acordo com o gerente de TI [ALFA_P1_E6], torna o entendimento
das histórias de usuário mais simples, pois nem sempre é possível entender
tudo o que está escrito na documentação. O gerente de projetos
[ALFA_P1_E2] afirmou que as reuniões são importantes para permitir que
todos os desenvolvedores entendam as histórias. Além disso, de acordo com
um Analista/Product Owner [ALFA_P1_E3], as dúvidas que vão surgindo
durante a reunião, são esclarecidas com base nas necessidades do cliente.
Na empresa BETA, um engenheiro de sistemas [BETA_P2_E4]
afirmou que essas reuniões são boas porque facilitam o entendimento e
permitem que o PO faça os devidos ajustes nas histórias. Outro engenheiro do
mesmo projeto [BETA_P2_E5] afirmou que às vezes abrem o código e quem já
trabalhou com algo parecido antes explica para todos.
Customer Involvement
Ter o cliente presente no projeto de forma presencial ou através da constante
comunicação, seja com o próprio ou com seu representante, facilitou o
entendimento das histórias de usuário nos três projetos.
Na empresa ALFA, um engenheiro de sistemas [ALFA_P1_E7] afirmou
que o Product Owner estava sempre presente nas reuniões de Sprint Planning
e Review. Estava ainda alocado bem próximo da equipe, o que facilitava para
tirar as dúvidas.
Na empresa BETA, um engenheiro de sistemas do projeto P1
[BETA_P1_E7] afirmou que o cliente participa ativamente do projeto, validando
até mesmo o código que foi desenvolvido pela equipe. Assim, a constante
presença do cliente no projeto facilitou a resolução das dúvidas. No projeto P2,
138
um engenheiro de sistemas [BETA_P2_E1] disse que o cliente estava sempre
próximo da equipe, inspecionando e validando sempre o que estava sendo
desenvolvido, fazendo com que a equipe não fugisse do escopo do projeto.
139
surgiram. Entre as principais práticas está, primeiramente, a programação em
par (Pair Programming), seguida das reuniões diárias (Daily Scrum Meetings) e
do papel de atuação do Scrum Master. Outras práticas foram identificadas em
menor grau. A Figura 38 apresenta todas as práticas identificadas que
permitiram o benefício.
Pair Programming
A prática da programação em par foi vista como benéfica para resolver alguns
problemas dos projetos, de acordo com cinco entrevistados, englobando todas
as empresas estudadas.
De acordo com o gerente de projetos [ALFA_P1_E2] da empresa
ALFA, a prática da programação em par é bem vista no projeto quando se tem
alguma atividade mais complexa em uma história, facilitando assim seu o
desenvolvimento. O analista/Product Owner do projeto [ALFA_P1_E3] acha
importante a prática; no entanto, ela só é utilizada para atividades realmente
complexas, pois como a empresa se trata de uma fábrica de software, a prática
acaba deslocando um recurso que poderia estar trabalhando em outra
funcionalidade.
Na empresa BETA, um engenheiro de sistemas [BETA_P1_E1]
afirmou que a prática é boa para as atividades que exigem mais atenção. Para
140
outro engenheiro de sistemas desse mesmo projeto [BETA_P1_E2], a prática
ajuda a resolver problemas, porque só o fato de ter uma pessoa ao lado
discutindo, analisando e criticando facilita a resolução do problema e melhora a
qualidade do código. Essa mesma opinião é compartilhada pelo engenheiro de
sistemas [BETA_P2_E4] do projeto P2.
141
B6_EC. Melhora a comunicação da equipe
As Metodologias Ágeis enfatizam a importância da comunicação entre todos os
envolvidos nos projetos, por isso o Scrum possui diversas práticas e cerimônias
que permitem que a comunicação flua nos projetos. Durante a investigação dos
estudos de caso, a melhoria da comunicação devido ao uso do Scrum e de
outras práticas foi identificada em todos os projetos investigados. As práticas
que mais permitiram esse benefício foram, em primeiro lugar, as reuniões
diárias (Daily Scrum Meetings), e em segundo a prática de dispor as equipes
colocalizadas. A Figura 39 apresenta todas as práticas identificadas que
permitiram o benefício.
142
voltada para a comunicação e a cooperação.
Nos projetos da empresa BETA, o benefício devido à prática das
reuniões diárias foi identificado por uma pessoa de cada projeto investigado.
Um engenheiro de sistemas do projeto P1 [BETA_P1_E4] afirmou que as
reuniões diárias tornam as pessoas mais comunicativas.
Co-location team
A adoção da prática de colocar os membros da equipe juntos em um mesmo
local foi percebida como um benefício em dois projetos estudados, sendo
relatada por quatro membros, dois da empresa ALFA e dois do projeto P2 da
empresa BETA.
Um analista/Product Owner do projeto da empresa ALFA
[ALFA_P1_E3] afirmou que a comunicação do time é muito direta, pois todos
os membros estão em um mesmo ambiente, o que facilita o esclarecimento de
dúvidas entre eles. Um engenheiro de sistemas do projeto P2 da empresa
BETA [BETA_P2_E4] também afirmou que a comunicação da equipe é boa,
pois estão todos sentados próximos uns aos outros. O mesmo benefício foi
identificado pelo líder técnico do projeto P2 [BETA_P2_E2].
143
maneira muito positiva.” – Analista/Product Owner,
ALFA_P1_E3
“Talvez por ter essa reunião diária, você vai criando esse
canal com as pessoas, e as pessoas terminam, através desse
canal, sendo mais comunicativas, digamos assim” –
Engenheiro de Sistemas, BETA_P1_E4
144
Figura 40 – B7_EC. Permite uma maior colaboração entre a equipe
Fonte: Elaboração própria
145
afirmou que o trabalho é colaborativo, sendo esta a meta das Sprints
compartilhadas. Por isso, quando algum membro da equipe está com alguma
dificuldade, outro membro para a sua atividade para ajudá-lo.
A visão colaborativa também é perceptível na entrevista de outro
engenheiro de sistemas [BETA_P1_E7], afirmando que a entrega da Sprint tem
que ser tudo o que foi planejado, e não apenas parte dela. Assim, estão
sempre ajudando uns aos outros para atingir a meta.
146
Engenheiro de Sistemas, BETA_P1_E4
147
Figura 41 – B8_EC. Melhora a comunicação entre o cliente (ou representante) e a
equipe
Fonte: Elaboração própria
Customer Involvement
A constante presença (ou o envolvimento do cliente) nos projetos foi vista como
benéfica para três entrevistados dos projetos P1 e P2 da empresa BETA.
De acordo com o engenheiro de sistemas [BETA_P1_E2] o cliente está
sempre que pode presente nas reuniões, considerando essa participação muito
benigna ao projeto. Para o engenheiro [BETA_P1_E1], o forte envolvimento do
cliente no processo, proveu abertura para que a equipe pudesse falar
diretamente com o mesmo. De acordo com o líder da equipe [BETA_P1_E3],
quando o cliente não pode estar presente em um planejamento da Sprint,
reúnem-se antes e discutem todas as questões.
No projeto P2, uma engenheira de testes que também atua como
Product Owner interno [BETA_P2_E3] afirmou que o cliente está sempre
presente e ajuda a manter o contato com a equipe, pois entende o
funcionamento do Scrum porque o utilizam em sua empresa.
Sprint Planning
O planejamento da Sprint do projeto da empresa ALFA sempre contou com a
presença do Product Owner, o que, de acordo com o analista/Scrum Master
[ALFA_P1_E1], é importante, pois permite um canal aberto de comunicação
148
entre o PO e a equipe.
No projeto P2 da empresa BETA, o cliente não estava presente
fisicamente, mas em constante comunicação com a equipe, o que facilitava a
execução do planejamento, pois de acordo com o líder técnico, o feedback do
cliente era instantâneo.
149
“E, aí, de repente, se eles quiserem fazer alguma alteração
antes, aí, eles dizem: [“_Tira essa, bota outra”]. Essa alteração
ocorre na hora, porque eles sabem o dia e hora do planning, aí
ficam sempre online. Isso é era ótimo, feedback
instantâneo...” – Líder técnico, BETA_P2_E2
150
B10_EC. Melhora a qualidade do código
Diversas são as práticas que permitem melhorar a qualidade de código de um
projeto ágil. Nos projetos investigados, a programação em par (Pair
Programming) foi a principal prática, por prover o benefício em questão.
Algumas práticas, tanto de XP quanto do Scrum foram identificadas. A
Figura 42 apresenta todas as práticas identificadas que permitiram o benefício.
4.3.2.2 Limitações
Foram identificadas 40 limitações nos estudos de caso; a lista completa e o
mapeamento destas com cada caso encontram-se no APÊNDICE L. Nos
próximos tópicos desta seção, são discutidas as 10 limitações que mais foram
identificados nos estudos de caso (Tabela 16). As limitações receberam um
identificador único, para se diferenciarem umas das outras.
152
L1_EC. Dificuldade para se trabalhar com equipes grandes
A principal limitação identificada foi a dificuldade em utilizar as metodologias
ágeis em equipes grandes (acima de oito integrantes), sendo relatada por dez
entrevistados, de todos os projetos. A reunião diária do Scrum (Daily Scrum
Meetings) foi a prática mais identificada como sendo prejudicada quando se
tem muitas pessoas na equipe. Em seguida foi a reunião de planejamento do
Scrum (Sprint Planning). Outras práticas também foram citadas, como
apresenta a Figura 43.
153
Sprint Planning
Na empresa ALFA, um gerente de projetos [ALFA_P1_E2] afirmou que em
reuniões de planejamento com uma equipe grande perde-se muito o foco. E
para o gerente de TI [ALFA_P1_E6] do mesmo projeto, além das reuniões de
planejamento, as reuniões diárias também são prejudicadas, pois com muitas
pessoas essas reuniões podem se tornar dispersas.
Na empresa BETA, um engenheiro de sistemas do projeto P2
[BETA_P1_E1] afirmou que trabalhar com muitas pessoas em uma reunião de
planejamento torna-se difícil, principalmente na hora de dividir as histórias em
tarefas, pois são muitas opiniões.
154
ideal é ser uma equipe pequena.” – Gerente de Projetos,
ALFA_P1_E2
155
pessoas que estão entrando com pouca experiência.
156
“Dando minha opinião pessoal, assim, eu to achando
desvantagem [estimar em pontos na Sprint Planning]. [...]
Porque o problema é que a gente ta mudado muito. Ta
entrando com frequência, assim, muita gente nova, sabe,
porque... devido... não sei se é coisa do [nome empresa], mas
ta saindo pessoas, entrando, então, assim, a gente tem
mudado a equipe um pouco constante, sabe? E pessoas cada
vez mais com menos experiência no projeto da gente ta
entrando e ta influenciando também, entendeu? Por exemplo,
na hora de pontuar e quebrar as atividades sempre gera muita
dúvida e tal, entendeu? [...]” – Engenheira de Testes/Product
Owner, BETA_P1_E5
Sprint Planning
Um analista de sistemas/Scrum Master [ALFA_P1_E1] alegou que devido ao
fato de o Product Owner possuir domínios técnicos, este fazia interferências na
estimativa da equipe, atrapalhando muitas vezes o planejamento da equipe,
que demorava mais do que o necessário.
No projeto P2 da empresa BETA, o cliente possuía conhecimentos
técnicos e tinha uma participação muito ativa no projeto, interferindo algumas
157
vezes na estimativa da equipe, de acordo com a Engenheira de Testes/Product
Owner [BETA_P2_E3].
158
não gostava de participar das reuniões. De acordo com o entrevistado, isso
atrapalhava os outros em relação a saberem sobre o andamento de suas
atividades. Um engenheiro de sistemas do mesmo projeto [BETA_P2_E5] falou
sobre essa mesma pessoa, afirmando que não se sentia à vontade para tirar
dúvida com ela, por ser muito fechada.
159
L5_EC. Dificuldade de se adaptar a constantes mudanças
O Manifesto Ágil (AGILE MANIFESTO, 2001), em um de seus princípios, afirma
que as mudanças de requisitos devem ser aceitas no projeto, até mesmo em
sua fase final. No entanto, de acordo com os relatos dos entrevistados,
observa-se que eles têm dificuldades em seus projetos para se adaptarem a
essas mudanças, principalmente quando são constantes ou quando envolvem
custos adicionais para algumas das partes.
Na empresa BETA, um engenheiro de sistemas [BETA_P1_E4]
afirmou que no início do projeto o cliente mudava muito o direcionamento
deste, refletindo no Backlog. Isso dificultou o inicio do desenvolvimento do
projeto. No projeto P2 da mesma empresa, um engenheiro de sistemas
[BETA_P2_E5] afirmou que as mudanças vindas do cliente ocorriam quando
eram feitas as reuniões de planejamento (Sprint Planning), tendo que refazer o
planejamento, tornando isso cansativo.
A empresa ALFA, de acordo com o engenheiro de sistemas
[ALFA_P1_E7], teve problemas devido às mudanças de requisitos, pois estas
alteraram praticamente toda a especificação inicial, acarretando em prejuízo
para a empresa.
160
gente fica três vezes na semana direto nessa agonia, aí se
torna o negócio maçante.” – Engenheiro de Sistemas,
BETA_P2_E5
162
projeto afirmou que o TDD é muito bom, mas apresenta problema de aumento
do tempo de desenvolvimento devido ao fato de seu uso ter sido identificado.
A prática de Refactoring também foi utilizada por um engenheiro de
sistemas [BETA_P1_E7]; no entanto, segundo o engenheiro, a prática estava
aumentando o tempo para desenvolver as histórias.
163
acordo com o gerente de TI [ALFA_P1_E6] e o gerente de projetos
[ALFA_P1_E2], fazendo com que algumas pessoas não trabalhem
adequadamente.
“É, de fato muita gente acha que: ah, não, eu vou... é aquela
história, planejou cinquenta pontos um time. Aí o time vai e
entrega trinta. Mas o Scrum prega o quê? O time falhou, o
time. Mas as vezes esses vinte pontos que não foram
entregues foi um escrotão que não fez, que não trabalhou bem,
e aí como é um time, o time é responsabilizado. A vista lá de
cima, da diretoria ou da gerência é dizer o quê? [“_O time não
entregou, o time vai ser punido_”], se fosse de fato punido, vai
ser cobrado.” – Gerente de TI, ALFA_P1_E6
165
nos projetos.
O gerente de projetos [ALFA_P1_E2] da empresa ALFA afirmou que é
difícil conseguir entregar sempre algo funcional ao cliente a cada Sprint, pois
nem sempre estão conseguindo entregar todas as funcionalidades planejadas.
Ele acredita que isso se deve ao fato de que muitas vezes as pessoas não
possuem o comprometimento e a maturidade suficientes, limitando assim o
autogerenciamento da equipe.
A necessidade de maturidade e comprometimento da equipe para o
Scrum funcionar corretamente e permitir o autogerenciamento foi bastante
enfatizada pelo gerente [ALFA_P1_E2] ao longo da entrevista. Ele acredita que
muitos de sua equipe ainda não os possuem. A mesma visão foi compartilhada
pelo gerente de TI desta mesma empresa [ALFA_P1_E6], afirmando que o
autogerenciamento não funciona 100% em todas as equipes, alegando que
muitas pessoas só trabalham sob pressão.
166
pressão. E o fato hoje é que a gente não tem, não vou mentir,
hoje a gente não tem um time, os times daqui não são
totalmente auto gerenciados.” – Gerente de TI, ALFA_P1_E6
Benefícios
Foram identificados 52 benefícios a partir das entrevistas e os vinte primeiros
foram citados por pelo menos um entrevistado de cada projeto.
Com base na análise das sete entrevistas conduzidas na empresa
ALFA, 34 dos 52 benefícios foram identificados pelos entrevistados. Para o
projeto P1 da empresa BETA esse número caiu para 31 e, para o projeto P2,
foram identificados 40 benefícios. Esse resultado pode ter sido reflexo da
experiência dos entrevistados com essas metodologias.
Diversos benefícios identificados com a condução dos estudos de caso
também foram identificados por Begel e Nagappan (2007), Dybå e Dingsøyr
167
(2008) e Petersen e Wohlin (2009).
O principal benefício relatado por 21/22 entrevistados (95,45%) foi a
facilidade de acompanhar e monitorar o projeto, principalmente devido ao uso
do quadro de tarefas (Task Board).
Limitações
Foram identificadas 40 limitações a partir das entrevistas e as cinco primeiras
foram citadas por pelo menos um entrevistado de cada projeto.
Com base na análise das entrevistas conduzidas na empresa ALFA, 27
das 40 limitações foram identificadas pelos entrevistados. Para o projeto P1 da
empresa BETA esse número caiu para 14 e para o projeto P2, foram
identificadas 18 limitações.
A principal limitação identificada nos estudos de caso foi a dificuldade
de utilizar as metodologias ágeis em projetos com equipes grandes. Este
também foi o principal problema relatado na pesquisa conduzida por Begel e
Nagappan (2007). A questão dos aspectos culturais dos indivíduos e da
organização também foi percebida como uma limitação.
Outras limitações identificadas também foram constatadas em outros
estudos, como o aumento no tempo das reuniões, identificada por Petersen e
Wohlin (2009).
168
Análise e discussão dos resultados – apresenta uma análise dos
principais resultados obtidos pela pesquisa.
169
B9_EC Melhora a qualidade do código B5
B10_EC Feedback rápido/frequente B4
B11_EC Melhora o processo de desenvolvimento B19
B12_EC Entrega frequente de software funcional B9
B13_EC Melhora o entendimento sobre o projeto B14
170
B35_EC Reduz a complexidade do código/projeto B12
B36_EC Permite a revisão contínua do código B36
B38_EC Metas e Problemas compartilhados B38
B40_EC Reduz os custos do projeto B45
B41_EC Reduz o impacto de riscos no projeto B71
B42_EC Aumenta a motivação da equipe B21
171
L10_EC Necessita de Maturidade, Comprometimento e Pro L30
atividade das pessoas
L11_EC Histórias e tarefas são poucas especificadas L26
L12_EC Pouca documentação L15
L14_EC Aumenta o tempo das reuniões L38
L15_EC Possuir mais de um interessado com poder de decisão L31
sobre os requisitos e prioridades
L18_EC Dificuldade de se concentrar com equipes L45
colocalizadas
L20_EC Aumenta os custos do projeto L11
L22_EC Dificuldade em lidar com os clientes que gostam de L48
documentação abrangente
L23_EC Pouco foco sobre a arquitetura de software L19
L25_EC Dificuldade em implementar a técnica de TDD L22
L27_EC Dificuldade de gerenciar requisitos dependentes L20
utilizando apenas o quadro
L28_EC Aumenta a pressão para entrega do trabalho L10
L32_EC Exige mudança de mentalidade/comportamento L18
L36_EC Dificuldade de programação em par L8
L37_EC Sobrecarga de gerenciamento (muitas reuniões) L63
L39_EC Muito formalismo nas reuniões pode inibir uma boa L59
comunicação
L40_EC Difícil de ser utilizado em projetos complexos L39
Benefícios
A quantidade de benefícios identificados na literatura foi maior devido à busca
ampla pelos estudos de qualquer tipo de metodologia ágil, ao contrário dos
estudos de caso que focaram especificamente em projetos que utilizavam o
Scrum. No entanto, dos 52 benefícios identificados nos estudos de caso, 45
172
também são similares aos da literatura. Os cinco principais benefícios da
literatura também estavam entre os principais dos estudos de caso.
Limitações
Os resultados apresentados mostram que houve semelhanças nos resultados
dos estudos, não com a mesma proporção dos benefícios, mas ainda assim,
62,5% dos resultados obtidos com os estudos de caso se assemelham aos
resultados da literatura.
4.5 Resumo
Este capítulo apresentou os resultados obtidos com a condução da pesquisa,
obtidos através dos métodos de coleta utilizados.
Um questionário foi aplicado com as empresas de desenvolvimento de
software do Porto Digital de Pernambuco, objetivando identificar as empresas
que utilizavam uma metodologia ágil. Foram obtidas 44 respostas válidas, entre
estas, 30 empresas utilizavam uma metodologia ágil, sendo o Scrum a
metodologia ágil utilizada por todas as trinta. A maioria das empresas utilizava
a metodologia ágil há menos de seis meses, seguido pelo uso de um a dois
anos.
Uma Revisão Sistemática da Literatura (SLR) foi conduzida,
objetivando identificar os estudos empíricos sobre as Metodologias Ágeis que
apresentam os benefícios e as limitações destas metodologias. A pesquisa
envolveu nove pesquisadores, sendo sete alunos da pós-graduação e dois
professores.
Na condução da SLR foram utilizadas diversas fontes de busca
automática e manual, sendo identificados 6.856 estudos. Entre estes, 125
foram selecionados para serem avaliados criticamente e seus dados serem
extraídos para responderem às questões de pesquisa. Foram identificados 79
benefícios e 63 limitações, providos principalmente de estudos que abordaram
o uso do XP ou do Scrum.
Os estudos de caso foram conduzidos em empresas do Porto Digital de
Pernambuco, sendo selecionadas duas: a que possuía menor e a que possuía
maior tempo de uso de uma Metodologia Ágil. Foram investigados três
173
projetos, sendo realizadas 22 entrevistas. Foram identificados 45 benefícios e
25 limitações a partir dos estudos de caso.
174
5 CONSIDERAÇÕES FINAIS
175
realizada pelos pesquisadores envolvidos, com base na definição dos métodos
de pesquisa utilizados.
Para evitar viés na seleção dos estudos, testes pilotos foram
conduzidos em cada etapa da pesquisa e estas foram conduzidas por mais de
um pesquisador. Quando houve divergências de opiniões entre os
pesquisadores, estas foram confrontadas e resolvidas com a participação de
terceiro pesquisador. A extração de dados foi a única etapa que foi conduzida
por um único pesquisador, e auxiliada pelos orientadores do trabalho. Essa
limitação é prevista por Kitchenham (2007) para alunos de PhD (nada foi dito
sobre alunos de mestrado). Segundo a autora, basta que o orientador da tese,
participe da revisão do protocolo e revise partes da execução da revisão, o que
ocorreu neste trabalho.
Estudos de caso
Apesar de alguns estudiosos afirmarem que estudos de caso com amostra
pequena da população não permitir a generalização dos resultados, essa
problemática foi debatida por Flyvbjerg (2006), apresentando diversos
argumentos contrariando essas afirmações.
Os objetivos dos estudos de caso e os critérios de seleção das
empresas foram bem definidos de modo que o resultado incluísse tipos de
empresas diferentes (tamanho da empresa, quantidade de projetos,
experiência com as Metodologias Ágeis e contexto dos projetos).
Para condução desta etapa, os entrevistados participaram
voluntariamente da pesquisa, sendo entregues termos de sigilosidade a cada
um, onde foi garantido o sigilo de suas informações, de modo a evitar que o
entrevistado sinta-se inibido em expressar seus pensamentos. A função
desempenhada por cada entrevistado foi bem diversificada, no entanto, ficou
faltando realizar entrevistas com os diretores das empresas e os clientes dos
projetos, de modo a obter resultados mais amplos.
Problemas na análise e interpretação dos dados podem ter ocorrido
devido ter sido realizada por um único pesquisador. No entanto, os resultados
são bastante consistentes com os resultados apresentado pela revisão
sistemática, e por outros estudos. Ainda, para evitar o viés do pesquisador na
análise e interpretação de cada uma das entrevistas, os resultados foram
176
encaminhados a cada entrevistado, para que o mesmo validasse ou corrigisse
as interpretações equivocadas.
177
Gerenciar o fluxo de dados obtidos e as atividades desenvolvidas pelo
grupo de pesquisadores foi fundamental para garantir o sucesso da
pesquisa;
Dividir o trabalho em ciclos iterativos foi importante devido ao tamanho
da pesquisa;
Utilizar uma única planilha para registrar as informações dos estudos
identificados na busca manual e automática da SLR e os resultados
identificados nas diversas etapas facilita a condução da revisão;
É importante incluir nos critérios de inclusão da SLR que os estudos
devem apresentar informações que respondam à questão principal de
pesquisa (Q1), evitando em etapas posteriores o trabalho de analisar
estudos que poderiam ter sido excluídos anteriormente;
Realizar testes pilotos em todas as etapas da SLR foi importante para
permitir um conhecimento padrão sobre a pesquisa e evitar possíveis
desacordos;
É importante que a coleta de dados para os estudos de casos sejam
agendadas em locais adequados (sem interrupção).
178
5.5 Conclusões
As Metodologias Ágeis estão sendo bastante utilizadas no mercado de acordo
com as pesquisas apresentadas no trabalho e com base nos resultados
apresentados pela Revisão Sistemática da Literatura, que mostrou um aumento
de publicações relacionadas a estas metodologias nos últimos cinco anos.
O objetivo principal desta pesquisa foi identificar de maneira
sistemática na literatura e em estudos de caso, os benefícios e as limitações
das Metodologias Ágeis no desenvolvimento de software. Para tanto, foi
realizada uma revisão sistemática da literatura que retornou 6.856 estudos,
destes, 125 foram incluídos na pesquisa. Uma pesquisa de campo também foi
realizada, aplicando-se questionários com empresas de desenvolvimento de
software do Porto Digital de Pernambuco. Foram obtidas 44 respostas válidas e
com base nestas, foi identificado que 30 empresas utilizam uma metodologia
ágil, sendo o Scrum adotado por todas, individualmente ou com uma
abordagem híbrida com outra metodologia. Duas empresas foram selecionadas
e foram conduzidos 03 estudos de caso, sendo os dados coletados com base
na realização de 23 entrevistas.
Na literatura foram identificados 79 benefícios e 63 limitações, providos
principalmente de estudos que abordaram o uso do XP ou do Scrum. Nos
estudos de caso, todos os projetos investigados utilizavam o Scrum e algumas
práticas de XP, sendo identificados 52 benefícios e 40 limitações. Um
mapeamento entre os resultados destas duas etapas da pesquisa foi realizado,
mostrando que 45 benefícios e 25 limitações obtidos nas pesquisas são
correspondentes.
Os resultados da pesquisa mostram que as Metodologias Ágeis estão
em ascensão no mercado e estas têm provido diversos benefícios para os
projetos, sendo os principais, a facilidade de compartilhamento do
conhecimento entre a equipe e a facilidade de acompanhamento e
monitoramento dos projetos. No entanto, diversas limitações também foram
identificadas, sendo a principal, a falta de estudos empíricos que apresentem
resultados sobre as mesmas e a dificuldade de utilizar estas metodologias em
equipes grandes.
179
REFERÊNCIAS
180
CARDOZO, E. S. D. F. Mapeamento Sistemático sobre o uso do
Autogerenciamento em Equipes de Desenvolvimento de Software. Dissertação
de Mestrado. Universidade Federal de Pernambuco. Recife, PE, Brasil. 2012.
CHOW, T.; CAO, D.-B. A survey study of critical success factors in agile
software projects. The Journal of Systems and Software, New York, NY, USA,
v. 81, n. 6, p. 961–971, June 2008.
DIGITAL FOCUS. Agile 2006 Survey: Results and Analysis, 2006. Digital Focus
was bought by Command Information.
181
GLASER, B. G.; STRAUSS, A. L. The Discovery of Grounded Theory:
Strategies for Qualitative Research. Chicago: Aldine Transaction, 1967.
182
MONTEIRO, C. V. F. Impacto do uso de ferramentas de software nas fases
iniciais do processo de inovação. Dissertação de Mestrado. Universidade
Federal de Pernambuco. Recife, PE, Brasil. 2010.
183
SHORE, J.; WARDEN, S. The Art of Agile Development. Sebastopol, CA:
O’Reilly Media, 2007.
184
VERSIONONE. 5th Annual Survey: "The State of Agile Development". The
State of Agile Development Survey Results, 2010. Disponivel em:
<http://www.versionone.com/state_of_agile_development_survey/10/>. Acesso
em: 10 jul. 2012.
185
APÊNDICE A – Questionário para mapeamento
das empresas do Porto Digital
Sobre o questionário
Esta pesquisa é direcionada as empresas de desenvolvimento de software
associadas ao Porto Digital de Pernambuco, cujo objetivo é identificar as
empresas que utilizam as Metodologias Ágeis no desenvolvimento de seus
projetos.
Quanto à finalidade
Esta pesquisa tem caráter acadêmico, onde os dados das empresas e dos
respondentes serão utilizados para dissertação de mestrado.
Envolvidos na pesquisa
Aluno do mestrado: Fernando Kenji Kamei.
Prof. Orientador: Alexandre Marcos Lins de Vasconcelos.
Prof. Coorientador: Fabio Queda Bueno da Silva
Informações de contato
Nome da Empresa:
186
Função ocupada na empresa
Questionário
Scrum
DSDM
Outras
187
5. Quais são as práticas das metodologias ágeis utilizadas na empresa?
Cliente sempre presente
Código Coletivo
Equipes Auto-gerenciáveis
Metáforas
Planning Poker
Reuniões diárias
Outras
188
8. Qual a quantidade de projetos que utilizam atualmente metodologias
ágeis?
189
APÊNDICE B – Protocolo da Revisão Sistemática
da Literatura
Pelo motivo desta revisão ser uma extensão de um trabalho escrito em inglês,
este protocolo e a condução da pesquisa foi conduzida nessa mesma língua,
com intuito de manter a similaridade entre os trabalhos.
190
FEDERAL UNIVERSITY OF PERNAMBUCO
COMPUTER SCIENCE GRADUATE PROGRAM
CENTER OF INFORMATICS
April 2011
Recife - PE
191
TEAM
192
1. Introduction
1.1 Context
Due to the fast growth of the global software industry, coupled with an
increasing demand for more robust solutions and also with changing
requirements, the quest for excellence and continuous improvement of software
quality has been improved over time (CHOW and CHAO, 2008).
Several methods, techniques and tools have been proposed and used,
aiming to increase the productivity in software development (TEIXEIRA and
DELAMARO, 2008). The search for better processes aiming to increase
software quality and customer satisfaction has brought about the Agile
Methodologies, with the dynamics of flexible and adaptive processes, adopting
changes as an inseparable part of their process.
According to Ferreira and Cohen (2008), the Agile Methodologies have
great support in the literature arguing that these methodologies reduce the
failure rate in software development. However, Strode et al. (2009) argue that a
rigorous empirical research study with agile methods is important in order to
assess their effectiveness.
1.2 Problem
Recently, many of the suggestions for improvement have come from
experienced practitioners who have labeled their methods agile software
development. This movement has had a huge impact on how software is
developed worldwide. However, although there are many agile methodologies,
little is known about how these methods are carried out in practice and what
their effects are (DYBÅ AND DINGSØYR, 2008).
1.3 Goals
This systematic review seeks to evaluate, synthesize and present the empirical
findings on agile software development between (and included) 2006 and 2010,
because this review is an extension of Dybå and Dingsøyr’s (2008) review,
performed until 2005. Then, provide an overview of topics researched, their
findings, strength of the findings and implications for research and practice.
193
2. Protocol
According to Kitchenham et al. (2007), a definition of protocol is important and
necessary in order to reduce the possible biases in research, because the
protocol specifies the methods that will be used to guide the systematic review.
This protocol must include all elements of review and some additional
information on planning. These elements are presented in the following
sections.
Differently from Dybå and Dingsøyr (2008), who developed the protocol
following the guideline named Cochrane Handbook for Systematic Reviews of
Interventions (HIGGINS and GREEN, 2008), our protocol was developed
following the guidelines and procedures suggested by Kitchenham et al. (2007)
because these are widely used in Software Engineering.
2.1 Background
2.1.1 Systematic Literature Review
A systematic literature review (often referred to as a systematic review) is a
means of identifying, evaluating and interpreting all available research relevant
to a particular research question, topic area or phenomenon of interest.
Individual studies contributing to a systematic review are called primary studies;
a systematic review is a form of secondary study (KITCHENHAM et al., 2007).
According to Biolchini et al. (2005), a Systematic Review should be developed
formally and systematically.
194
RQ3: What are the implications of these studies for the software
industry and the research community?
The RQ1 is the main question of this research, thus the others are
secondary, because they only answered for the studies that showed responses
for the first question.
Table 1 – Keywords
Keyword Synonym or Related Words
Search String:
196
search string and it was verified that all studies included by Dybå and Dingsøyr
(2008) were listed in our automatic search in electronic databases.
197
Citation Reports website5, sorted by “5-year Impact Factor” criteria and got the
five best ranked, after eliminating the ones that clearly are not about software
development, such as ACM Transactions on Graphics (the best ranked) and
IEEE Transactions on Dependable and Secure Computing. In addition, we
included the Empirical Software Engineering Journal, which is the best-ranked
journal focused on empirical data, and the Agile Journal, which according to
Racheva (2009) is the most popular practitioner-centric online publication venue
of the agile community, but during the analyzing this source, it was found that
your context don’t have scientific rigor to publication the articles.
Thus, the list of conference proceedings and journals that we have
hand searched is:
Conferences:
- Agile Development Conference;
- XP Conference;
Journals:
- ACM Transactions on Software Engineering and Methodology;
- Empirical Software Engineering;
- IEEE Software;
- IEEE Transactions on Software Engineering;
- Journal of the ACM;
5
http://admin-apps.isiknowledge.com/JCR/JCR?RQ=HOME
198
5. Qualitative and quantitative research studies;
6. Studies that present data in scientific format;
7. Only studies written in English;
8. Studies published between (and included) 2006 and 2010;
9. Full papers, published in a peer-reviewed journal or conference.
199
2.1.7 Study Selection Procedures
The selection of studies was conducted according to four stages, always
conducted by a pair of researchers to identify potential primary studies. Each
stage was explained as following and is presented in
200
Duplicated studies will be discarded. All studies identified at this stage should
be named by a unique ID and stored in a web repository shared with all
researchers.
Stage 2: Each selected study in prior stage should be analyzed by a
pair of researchers, based on analysis of the title and abstract, discarding
studies that are clearly irrelevant for the search. When the researchers were in
doubt whether to include a study or not, it should be included for consideration
at a later stage.
Stage 3: Once the studies are selected in the prior stage, they will be
reviewed by a pair of researchers, applying the inclusion and exclusion criteria
presented in Section 2.1.6. In case of disagreement over the inclusion /
exclusion of a certain paper, we stress again to discuss if the study should be
included or not. However, if they do not come to an agreement, the opinion of a
third researcher should be considered.
Stage 4: Thus, a list of primary papers was obtained for critical
appraise according to criteria defined in Section 2.1.8.
Stage 5: The data obtained from the studies were extracted to answer
the RQ1 and were synthesized.
201
8. Has the relationship between researcher and participants been
considered to an adequate degree?
9. Is there a clear statement of findings?
10. Is the study of value for research or practice?
The studies are divided into 03 groups; each group is composed by two
reviewers. Each reviewer should evaluate the quality of each study. In case of
disagreement regarding the assessment, a third reviewer will be convoked to
solve the conflict. The Quality Assessment Form would be used by each
researcher to evaluate the quality of each study.
The studies evaluated will be classified into 04 ranges of quality: low,
medium, high and very high. The table has been made as the score distribution
between the established ranges.
202
During the quality assessment, some studies may be excluded in two
situations: (1) only this decision was approved by two reviewers. Or in case of
disagreement, a third reviewer will be convoked to solve the conflict; (2) studies
in which the quality assessment score is classified in the low range.
The use of criteria exclusion according to quality assessment of study is
commented by Kitchenham (2007), where the quality data can be used to
construct detailed inclusion/exclusion criteria.
Screening questions
1. Is there a clear statement of the aims of the research?
Consider:
– Is there a rationale for why the study was undertaken?
–Is the study’s focus or main focus on Agile Software
Yes No
Development?
–Does the study present empirical data?
–Is there a clear statement of the study’s primary outcome (i.e.
time-to-market, cost, or product or process quality)?
2. Is there an adequate description of the context in which
the research was carried out?
Consider whether the researcher has identified:
–The industry in which products are used (e.g. banking,
telecommunications, consumer goods, travel, etc)
–The nature of the software development organization (e.g. in-
house department or independent software supplier)
Yes No
–The skills and experience of software staff (e.g. with a
language, a method, a tool, an application domain)
–The type of software products used (e.g. a design tool, a
compiler)
–The software processes being used (e.g. a company standard
process, the quality assurance procedures, the configuration
management process)
203
Research design
3. Was the research design appropriate to address the aims
of the research?
Yes No
Consider:
– Has the researcher justified the research design (e.g. have
they discussed how they decided which methods to use)?
Sampling
4. Was the recruitment strategy appropriate to the aims of the
research?
Consider:
–Has the researcher explained how the participants or cases
were identified and selected?
Yes No
–Are the cases defined and described precisely?
– Were the cases representative of a defined population?
–Have the researchers explained why the participants or cases
they selected were the most appropriate to provide access to
the type of knowledge sought by the study?
–Was the sample size sufficiently large?
Control group
5. Was there a control group with which to compare
treatments?
Consider:
–How were the controls selected? Yes No
–Were they representative of a defined population?
–Was there anything special about the controls?
–Was the no n-response high? Could non-respondents be
different in any way?
Data collection
6. Was the data collected in a way that addressed the
research issue?
Consider:
–Were all measures clearly defined (e.g. unit and counting Yes No
rules)?
–Is it clear how data was collected (e.g. semi-structured
interviews, focus group etc.)?
–Has the researcher justified the methods that were chosen?
204
–Has the researcher made the methods explicit (e.g. is there
an indication of how interviews were conducted, did they use
an interview guide)?
–If the methods were modified during the study, has the
researcher explained how and why?
–Whether the form of the data is clear (e.g. tape recording,
video material, notes etc.)
–Whether quality control methods were used to ensure
completeness and accuracy of data collection
Data analysis
7. Was the data analysis sufficiently rigorous?
Consider:
–Was there an in-depth description of the analysis process?
–If thematic analysis was used, is it clear how the categories/
themes were derived from the data? Yes No
–Has sufficient data been presented to support the findings?
–To what extent has contradictory data been taken into
account?
–Whether quality control methods were used to verify the
results
205
Findings
9. Is there a clear statement of findings?
Consider:
–Are the findings explicit (e.g. magnitude of effect)?
–Has an adequate discussion of the evidence, both for and
against the researcher’s arguments, been demonstrated?
–Has the researcher discussed the credibility of their findings Yes No
(e.g. triangulation, respondent validation, more than one
analyst)?
–Are limitations of the study discussed explicitly?
–Are the findings discussed in relation to the original research
questions?
–Are the conclusions justified by the results?
Value of the research
10. Is the study of value for research or practice?
Consider:
–Does the researcher discuss the contribution the study makes
to existing knowledge or understanding (e.g. do they consider
the findings in relation to current practice or relevant research-
Yes No
based literature)?
–Does the research identify new areas in which research is
necessary?
–Does the researcher discuss whether or how the findings can
be transferred to other populations, or consider other ways in
which the research can be used?
206
be recorded in two forms to collect the data: Studies description (Section 0) and
Findings of the studies (Section 0).
The method of extraction and synthesis will occur in parallel. The data
will be collected from open and axial coding were performed in parallel as data
were gathered, analyzed, and reanalyzed in light of the emerging theory or
concepts to answer our main research question (RQ1).
Data analysis will be guided the Grounded Theory (GT) method
according to Glaser and Strauss (1967). GT is exploratory and well suited for
situations where the researcher does not have pre-conceived ideas, and
instead is driven by the desire to capture all facets of the collected data and to
allow the theory to emerge from the data, using constant comparison from the
data already collected from previously studies (RACHEVA et al. 2010).
Note: the studies that do not present data to answer our main research
question (RQ1) will be deleted.
Items
1 Study identifier Unique id for the study
2 Date of data extraction
3 Bibliographic reference Title, year, author biography, source
4 Type of article Journal article, conference paper, book section
5 Study aims What were the aims of the study?
Qualitative, quantitative (experiment, survey,
6 Design of study case study, action research)
7 Agile method What kind of Agile Method is used in the study?
8 Agile practices
Size, students, professionals (age, education,
9 Sample description experience)
Industry, in-house/supplier, products and
10 Setting of study processes used
11 Control group Yes, no (number of groups, sample size)
207
How was the data obtained? (questionnaires,
12 Data collection interviews, forms)
How was the data analyzed? (qualitative,
13 Data analysis quantitative)
14 Findings and Conclusions What were the findings and conclusions?
Items
1 Study identifier Unique id for the study
2 Benefits Unique id for each benefits for each study
Role of person in the project that related the
3 Vision benefit
4 Agile Method Agile method in which the benefit was found
5 Agile practice Agile practice in which the benefit was found
6 Category of benefit Category of benefit reported
7 Subcategory of benefit Subcategory of benefit reported
8 Annotations General annotations about the benefit
9 Limitations Unique id for each limitation for each study
Role of person in the project that related the
10 Vision limitation
11 Agile Method Agile method in which the limitation was found
12 Agile practice Agile practice in which the limitation was found
13 Category of limitation Category of limitation reported
14 Subcategory of limitation Subcategory of limitation reported
15 Annotations General annotations about the limitation
208
study; data demographics; answers to the Research Questions; temporal
distribution; type of agile methodology; region of authors. Other kids of
information will be synthesized if necessary.
Meta-ethnographic methods were used to synthesize the data extracted
from the primary studies. This method is recommended to integrate concepts
only when the synthesis of data were conducted, therefore, considered an
interpretative synthesis from the data related of primary studies. This approach
is one form of systematic comparison; it involves the translation of studies into
each other. The collection of the translation constitutes a meta-ethnographic
synthesis (NOBLIT AND HARE, 1988). According to the authors, this approach
is better conducted in seven steps that overlap and repeat as the synthesis
proceeds. The Table 5 shows Noblit and Hare’s seven-step:
References of Protocol
BIOLCHINI, J.; MIAN, P. G.; NATALI, A. C. C.; Travassos, G. H. Systematic
review in software engineering, System Engineering and Computer Science
Department COPPE/UFRJ, Technical Report ES, vol. 679, 2005.
210
APÊNDICE C – Roteiro das Entrevistas
ROTEIRO
OBJETIVO
Identificar os Benefícios e as Limitações das Metodologias Ágeis
Apresentar o termo de sigilosidade
211
III. Ferramenta de Gestão
IV. Documentação
o Como é feita a documentação do projeto?
o O que você acha da maneira que estão documentando?
V. Sprint Planning
o Participação do Cliente:
O cliente ou o seu representante participa dessa etapa?
Como está a interação entre o cliente e a equipe nesta
etapa?
o Participação da Equipe
Qual a técnica de estimativa da equipe?
Se for Planning Poker
o O que você acha desta técnica
colaborativa?
o As estimativas estão ou não precisas com
a realidade?
Como está sendo a participação da equipe no Sprint
Planning?
C. EXECUÇÃO DO PROJETO
o Sprint
Qual o tempo de duração de um Sprint?
O tempo está ou não sendo adequado?
O que você acha de ao final de cada Sprint deve entregar
ao funcional?
o Papéis do Scrum
o Comunicação da Equipe
Interação entre a equipe
Reuniões diárias (tempo, eficácia)
o Comunicação com o Cliente ou representante
Como foi a comunicação com o cliente durante a Sprint?
Essa comunicação ajudou ou atrapalhou o andamento das
atividades?
212
o Quadro (Task Board)
Vocês utilizam o quadro com frequência para atualizarem
suas atividades?
Quais informações importantes o quadro traz para você e a
equipe?
Existe algo que você não gosta do quadro?
o Desenvolvimento das atividades
o Como funciona o trabalho da equipe?
O trabalho é mais colaborativo ou individual?
o Práticas de XP
Programação em Pares,
TDD
Refactoring
Código Coletivo
o Alguma prática ágil adotada no projeto tem ajudado a equipe na
sua visão?
o E ao contrário? Alguma prática de tem prejudicado?
D. ENCERRAMENTO DO PROJETO
o Sprint Review
Como ocorrem as Reviews?
O que você acha bom dessas reuniões de Revisão?
O que você acha que não está ou não foi bom que poderia
ser melhorado?
Como funciona a participação do Cliente/Representante
nessas reuniões?
Como estão as entregas das atividades planejadas?
o Sprint Retrospective
Como ocorrem as reuniões de Retrospectiva do projeto?
O que você acha bom dessas reuniões?
O que você acha que não está ou não foi bom que poderia
ou foi melhorado?
Influência sobre o processo
213
PARTE III – VISÃO GERAL DA EXPERIÊNCIA COM O SCRUM
A. Ambiente
o O que você acha do ambiente de trabalho com o Scrum?
B. Tamanho da equipe
o Qual o tamanho atual da equipe?
o Você acha que o Scrum foi ideal para o tamanho da equipe?
C. Complexidade do projeto
o Como você considera a complexidade do projeto?
Você acha o Scrum adequado para este grau de
complexidade?
H. Aprendizado
Como você poderia classificar o aprendizado no Scrum? Foi fácil ou
difícil de aprender?
o Se foi FÁCIL
O que facilitou esse aprendizado?
214
PARTE IV – BENEFÍCIOS DAS METODOLOGIAS ÁGEIS
A. Mencione por favor, os 05 maiores benefícios que ocorreram no projeto
em virtude do uso do Scrum.
FINAL
A. Você tem mais alguma coisa a falar? Complementar alguma resposta?
AGRADECIMENTO
215
APÊNDICE D – Termo de Sigilosidade da
Empresa
Nome da empresa:
Representante:
Entrevistador:
SOBRE A ENTREVISTA
Esta entrevista é direcionada aos profissionais envolvidos na área de
desenvolvimento de software. O seu objetivo é coletar de forma estruturada
informações sobre a opinião dos profissionais em relação a sua experiência
com o uso das diversas práticas e Metodologias Ágeis adotadas nos projetos
de desenvolvimento de software da empresa.
216
SIGILO DAS INFORMAÇÕES
As informações pessoais da identificação do entrevistado não serão reveladas
sem a autorização do mesmo. Os dados referentes aos projetos que
comprometam o planejamento estratégico da empresa não serão publicados.
As Informações das Partes II, III, IV, V e VI serão coletadas e analisadas como
parte da pesquisa intitulada "Benefícios e Limitações das Metodologias Ágeis"
e podem vir a ser publicadas em artigos científicos.
AGRADECIMENTOS
O orientador da pesquisa, Prof. Alexandre Marcos Lins de Vasconcelos, o
coorientador, Prof. Fabio Queda Bueno da Silva, e o aluno do mestrado
Fernando Kenji Kamei agradecem antecipadamente a disponibilidade, e
informam que os resultados desta atividade da pesquisa serão divulgados a
todos os entrevistados.
______________________________________________
Assinatura do representante da organização
______________________________________________
Assinatura do entrevistador
217
APÊNDICE E – Termo de Sigilosidade do
Entrevistado
Nome da empresa:
Entrevistado:
Entrevistador:
SOBRE A ENTREVISTA
Esta entrevista é direcionada aos profissionais envolvidos na área de
desenvolvimento de software. O seu objetivo é coletar de forma estruturada
informações sobre a opinião dos profissionais em relação a sua experiência
com o uso das diversas práticas e Metodologias Ágeis adotadas nos projetos
de desenvolvimento de software da empresa.
218
CITAÇÕES DOS ENTREVISTADOS
Os dados dos entrevistados não serão citados em nenhuma circunstância,
garantindo total confidencialidade sobre o seu nome e as respostas individuais
preenchidas nesta entrevista. Porém, a participação será devidamente
agradecida de forma conjunta em artigos científicos.
AGRADECIMENTOS
O orientador da pesquisa, Prof. Alexandre Marcos Lins de Vasconcelos, o
coorientador, Prof. Fabio Queda Bueno da Silva, e o aluno do mestrado
Fernando Kenji Kamei agradecem antecipadamente a disponibilidade, e
informam que os resultados desta atividade da pesquisa serão divulgados a
todos os entrevistados.
______________________________________________
Assinatura do representante da organização
______________________________________________
Assinatura do entrevistador
219
APÊNDICE F – Estudos primários da Revisão
Sistemática da Literatura
220
20, Issue 3, 377-399.
SHARP, H.; ROBINSON, H. A
Distributed Cognition Account of
El Compendex, XP Mature XP Teams.CLecture Notes In
prs44 2006
Conference Computer Science, 2006, Volume
4044, 1-10.
CAO, L.; MOHAN K.; XU, P.;
RAMESH, B. A Framework for
Adapting Agile Development
prs49 2009 ISI, Scopus Methodologies. European Journal of
Information Systems, 2009, Volume
18, No. 4, 332-343.
QUMER, A; HENDERSON-
SELLERS, B. A Framework to
Support the Evaluation, Adoption and
El Compendex, ISI, Improvement of Agile Methods in
prs56 2008
Science Direct, Scopus Practice. Journal of Systems and
Software, 2008, Volume 81, 1899-
1919.
221
SURESHCHANDRA, K.;
SHRINIVASAVADHANI, J. Adopting
El Compendex, IEEE, Agile in Distributed Development.
prs171 2008 IEEE International Conference Global
Scopus
Software Engineering. ICGSE, 2008,
217-221.
222
SCHINDLER, C. Agile Software
Development Methods and Practices
in Austrian IT-Industry: Results of an
El Compendex, IEEE, Empirical Study. International
prs322 2008
Scopus Conference on Computational
Intelligence for Modelling Control and
Automation. CIMCA, 2008, 321-326.
223
FRANÇA, A. C. C.; da SILVA, F. Q.
B.; de SOUZA MARIZ, L. M. R. An
Empirical Study on the Relationship
Between the use of Agile Practices
ACM, El Compendex, and the Success of Scrum Projects.
prs434 2010
ESEM, Scopus ACM-IEEE International Symposium
on Empirical Software Engineering
and Measurement. ESEM, 2010,
2010, Article No. 37.
224
LAVAZZA, L.; MORASCA, S.; TAIBI,
D.; DAVIDE, T. Applying SCRUM in
an OSS Development Process: An
Empirical Evaluation. Agile
SpringerLink, XP Processes in Software Engineering
prs490 2010
Conference and Extreme Programming. Lecture
Notes in Business Information
Processing, 2010, Volume 48, Part 1,
147-159.
HODA, R.; NOBLE, J.; MARSHALL,
ACM, El Compendex, S. Balancing Acts: Walking the Agile
prs535 2010
Scopus Tightrope. CHASE’10, p. 5-12.
225
PARK, S.; MAURER, F.
Communicating Domain Knowledge
in Executable Acceptance Test
El Compendex, Driven Development. Agile
prs604 2009 Scopus, SpringerLink, Processes in Software Engineering
XP Conference and Extreme Programming. Lecture
Notes in Business Information
Processing, 2009, 23-32.
226
CHENG, T-H; JANSEN, S.;
REMMERS, M. Controlling and
monitoring agile software
ACM, El Compendex, development in three dutch product
prs636 2009
IEEE, Scopus software companies. 2009 ICSE
Workshop on Software Development
Governance. SDG, 2009, 29-35.
FITZGERALD, B.; HARTNETT, G.;
CONBOY, K. Customising Agile
Methods to Software Practices at
prs651 2006 ISI, Scopus Intel Shannon. European Journal of
Information Systems, 2006, Volume
15, Issue 2, 200-213.
227
SUTHERLAND, J.; VIKTOROV, A.;
BLOUNT, J.; PUNTIKOV, N.
Distributed Scrum: Agile Project
prs694 2007 IEEE Management with Outsourced
Development Teams. Hawaii
International Conference on System
Sciences. HICSS, 2007. 247a.
228
WILLIAMS, L.; RUBIN, K,; COHN, M.
Driving Process Improvement via
El Compendex, IEEE, Comparative Agility Assessment.
prs710 2010
Scopus Agile Conference. AGILE, 2010, 3-
10.
AHMAD, E.; RAZA, B.; FELDT, R.;
NORDEBÄCK, T. ECSS Standard
Compliant Agile Software
prs716 2010 ACM Development - An Industrial Case
Study. National Conference for
Software Engineering. NSEC, 2010,
Article No. 6.
229
WHITWORTH, E. Experience Report:
El Compendex, IEEE, The Social Nature of Agile Teams.
prs793 2008 Agile Conference. AGIEL, 2008, 429-
Scopus
435.
WOJCIECHOWSKI, A.;
WESOLOWSKI, M.; COMPLAK, W.
Experimental Evaluation of ’On-Site
Customer’ XP Practice on Quality of
El Compendex, Software and Team Effectiveness.
prs804 2010
Scopus, SpringerLink On The Move To Meaningful Internet
Systems: OTM 2010 WORKSHOPS.
Lecture Notes in Computer Science,
2010, Volume 6428, 269-278.
MAHER, P.E.; KOURIK, J.L.;
CHOOKITTIKUL, W. Exploratory
Study of Agile Methods in the
prs809 2010 IEEE Vietnamese Software Industry.
International Multi-Conference on
Computing in the Global Information
Technology. ICCGI, 2010, 300-304.
230
LIVERMORE, J. A. Factors that
Impact Implementing an Agile
El Compendex, IEEE,
prs848 2007 Software Development Methodology.
Scopus
SoutheastCon, 2007, 82-86.
231
GIBLIN, M.; BRENNAN, P.; EXTON,
C. Introducing Agile Methods in a
Large Software Development Team:
The Impact on the Code. Agile
SpringerLink, XP Processes in Software Engineering
prs1002 2010
Conference and Extreme Programming. Lecture
Notes in Business Information
Processing, 2010, Volume 48, Part 1,
58-72.
HUSSAIN, Z.; WOLFGANG, S.;
HOLZINGER, A. Investigating Agile
El Compendex, User-Centered Design in Practice: A
prs1016 2009 Grounded Theory Perspective.
Scopus, SpringerLink
Lecture Notes in Computer Science,
2009, Volume 5889, 279-289.
232
JOHANNESSEN, L. K.; ELLINGSEN,
G. Lightweight Methods in
prs1075 2008 ACM Heavyweight Organizations.
Participatory Design Conference.
PDC, 2008, 11-20.
MARCHENKO, A.; ABRAHAMSSON,
P.; IHME, T. Long-Term Effects of
Test-Driven Development A Case
Scopus, El Study. Agile Processes in Software
prs1078 2009 Compendex, XP Engineering and Extreme
Conference Programming. Lecture Notes in
Business Information Processing,
2009, Volume 31, Part 2, Part 1, 13-
22.
KORHONEN, K. Migrating Defect
Management From Waterfall to Agile
Software Development in a Large-
scale Multi-site Organization: A Case
El Compendex,
Study. Agile Processes in Software
prs1112 2009 Scopus, SpringerLink,
Engineering and Extreme
XP Conference
Programming.Lecture Notes in
Business Information Processing,
2009, Volume 31, Part 2, 73-82.
233
MELNIK, G.; MAURER, F. Multiple
Perspectives on Executable
Acceptance Test-Driven
ACM, El Compendex, Development. Agile Processes in
prs1136 2006 Scopus, SpringerLink, Software Engineering and Extreme
XP Conference Programming. Lecture Notes in
Computer Science, 2007, Volume
4536, 245-249.
SRINIVASAN, J; LUNDQVIST, K.
Organizational Enablers for Agile
Adoption: Learning from
GameDevCo. Agile Processes in
El Compendex, XP
prs1166 2009 Software Engineering and Extreme
Conference
Programming. Lecture Notes in
Business Information Processing,
2009, Volume 31, Part 2, 63-72.
234
TAYLOR, P. S.; GREER, D.;
COLEMAN, G.; MCDAID, K.;
KEENAN, F. Preparing Small
El Compendex, Software Companies for Tailored
prs1212 2008 Agile Method Adoption: Minimally
Scopus, Wiley
Intrusive Risk Assessment. Software
Process: Improvement and Practice,
2008, Volume 13, Issue 5, 421-437.
235
HAYES, S.; RICHARDSON, I. Scrum
Implementation Using Kotter’s
Change Model. Agile Processes in
SpringerLink, XP Software Engineering and Extreme
prs1300 2008
Conference Programming. Lecture Notes in
Business Information Processing,
2008, Volume 9, Part 6, 161-171.
236
PIKKARAINEN, M.; HAIKARA, J.;
SALO, O.; ABRAHAMSSON, P.;
El Compendex, ISI, STILL, J. Empirical Software
prs1497 2008
Scopus, SpringerLink Engineering, 2008, Volume 13, No. 3,
303-337.
SYED-ABDULLAH S.; HOLCOMBE,
M.; GHEORGE, M. The Impact of an
El Compendex, ISI, Agile Methodology on the Well Being
prs1500 2006 of Development Teams. Empirical
Scopus, SpringerLink
Software Engineering, 2006, Volume
11, Issue 1, 143-167.
TOLFO, C.; WAZWICK, R. S. The
Influence of Organizational Culture
Scopus, ISI, Science, on the Adoption of Extreme
prs1510 2008 Programming. Journal of Systems
El Compendex
and Software, 2008, Volume 81,
Issue 11, 1955-1967.
237
LI, J.; MOE, N. B.; DYBÅ, T.
Transition from a Plan-Driven
Process to Scrum – A Longitudinal
ACM, El Compendex, Case Study on Software Quality.
prs1583 2010 ACM-IEEE International Symposium
ESEM, Scopus
on Empirical Software Engineering
and Measurement. ESEM, 2010,
Article No. 13.
238
COHN, M. L.; SIM, S. E.; LEE, C. P.
What Counts as Software Process?
Negotiating the Boundary of Software
El Compendex, ISI, Work Through Artifacts and
prs1665 2009
Scopus, SpringerLink Conversation. Computer Supported
Cooperative Work, 2009, Volume 18,
Issue 5-6, 401-443.
239
APÊNDICE G – Características dos estudos primários
240
P1: Agile
Software
prs56 Indústria Estudo de caso - - 02 projetos investigados Solution
Framework
P2: XP
Entrevistas
prs123 Indústria Estudo de caso - - DSDM
semiestruturadas
XP
408 respondentes de 109 Scrum
prs129 Indústria Survey Questionário - projetos ágeis de 25 Feature driven
países development
Crystal
60 observações e 17
Documentos, entrevistas (quatorze
prs135 Indústria Estudo de caso entrevistas e - desenvolvedores, dois Scrum
observações Scrum Masters e um
Product Owner)
Métricas de
avaliação de
02 experimentos com 22
prs162 Acadêmico Experimento, survey Código fonte OO, análise XP
participantes
qualitativa dos
dados
Dados históricos do
prs171 Indústria Estudo de caso Quantitativa - Scrum
projeto
prs182 Indústria Pesquisa-ação Observações Qualitativa - Scrum
Entrevistas,
prs230 Acadêmico Pesquisa-ação Qualitativa - XP
observações
Qualitativa,
prs236 Indústria Estudo de caso Entrevistas 18 projetos comerciais Scrum
quantitativa
241
03 projetos:
Questionários, Qualitativa,
prs258 Indústria Estudo de caso desenvolvedores e Scrum, XP
entrevistas quantitativa
gerentes
Aplicação de 376 desenvolvedores
prs275 Indústria Survey Qualitativa General
questionários respondentes
P1: XP (3
Estudo de caso, meses)
prs322 Indústria Questionários - -
survey P2: XP (3
meses)
prs331 Indústria Survey Questionário online Quantitativa - General
59 respondentes: 10
analistas, 11
desenvolvedores, 09
gerentes de projetos, 09
prs346 Indústria Survey Questionário online - gerentes de TI, 06 General
arquitetos de software, 11
clientes, 03 diversos
(testadores, especialistas,
etc.)
Dados históricos do
prs371 Indústria Estudo de caso Qualitativa - Scrum
projeto
Qualitativo,
prs428 Indústria Estudo de caso Observações - XP
Quantitativo
Qualitativo,
prs430 Indústria Estudo de caso Observação - XP
Quantitativo
10 diferentes empresas de
Aplicação de
prs434 Indústria Survey Quantitativa desenvolvimento de Scrum
questionário
software
242
02 grupos focais: (1)
Grupos focais,
quatro arquitetos de
prs448 Indústria Estudo de caso entrevistas Qualitativa Scrum
software e (2) três
semiestruturadas
gerentes de projetos
05 projetos
Dados históricos do Qualitativo,
prs462 Indústria Estudo de caso XP
projeto Quantitativo 19 sessões de workshop
após as iterações
P1: arquiteto sênior,
desenvolvedor
243
Observações e
prs487 Indústria Estudo de caso Qualitativa - XP
entrevistas
prs490 Indústria Estudo de caso Código fonte Quantitativa - Scrum
P1-P7: Scrum
P8: Scrum e XP
P9-P15: Scrum
e XP
P16: Scrum e
XP
P17: Scrum e
XP
P18: Scrum
P19: Scrum e
XP
p20: Scrum e
XP
Entrevistas P21-P27:
Estudo de caso Teoria 40 praticantes ágeis de 16
prs535 Indústria semiestruturadas e Scrum e XP
exploratório Fundamentada organizações de software
observações P28-P31:
Scrum e XP
P32: Scrum e
XP
P33-P36:
Scrum e XP
P37: Scrum e
XP
P38: Scrum e
XP
P39: Scrum e
XP
P40: Scrum e
XP
244
10 membros da equipe e
Entrevistas e
prs564 Acadêmico Estudo de caso Qualitativa 02 representantes do Scrum, Kanban
observações
cliente
prs571 Indústria Estudo de caso - - - XP
Entrevistas 02 equipes
semiestruturadas e P1: XP
prs591 Indústria Estudo de caso Qualitativa
análise de P1: 10 entrevistados P2: tradicional
documentos P2: 04 entrevistados
P1: 23 desenvolvedores
P2: 08 desenvolvedores,
01 designer e 01
Observações,
responsável pela
Estudo de caso anotações, fotos do
prs593 Indústria Etnografia infraestrutura XP
exploratório ambiente e artefatos
do trabalho
P3: 05 desenvolvedores,
um gerente de projetos,
dois analistas de negócios
e um DBA
prs597 Indústria Estudo de caso Entrevistas - 02 organizações Scrum, XP
Entrevistas e 03 desenvolvedores e 01
prs604 Indústria Estudo de caso - Scrum
observações gerente de projeto
Entrevistas, análise de
documentação e Qualitativo e
prs606 Indústria Estudo de caso - Scrum
dados históricos dos Quantitativo
projetos
245
P1: um desenvolvedor, e
Entrevistas três estudantes
prs608 Indústria Estudo de caso semiestruturadas e - Mobile-D
observações P2: duas equipes (4-7
desenvolvedores)
prs610 Indústria Survey Questionário web Quantitativa - Scrum
03 empresas E1: não ágil
E2: XP
Estudo de caso
prs612 Indústria Observação - P1: 03 pessoas E3: se
múltiplo
P2: 7 pessoas consideram
P3: 4 pessoas ágeis
Agile Software
Entrevistas e
prs628 Indústria Estudo de caso - - Solution
observações
Framework
P1: Scrum
P2: Scrum
Entrevistas e análise
prs636 Indústria Estudo de caso - - P3: métodos
de documentos
ágeis
misturados
Entrevistas formais e
prs651 Indústria Estudo de caso - - Scrum, XP
informais
Dados do projeto e
Estudo de caso, Qualitativa,
prs652 Indústria aplicação de 18 respondentes Scrum
survey quantitativa
questionários
Entrevistas e
prs670 Indústria Estudo de caso - - XP
observações
Entrevistas 02 unidades
prs687 Indústria Estudo de caso - Scrum
semiestruturadas organizacionais
246
Entrevistas 07 entrevistas: P1 - 4
prs688 Indústria Estudo de caso - Scrum
semiestruturadas pessoas, P2 - 3 pessoas
E1: Entrevistas
semiestruturadas E1: 09 desenvolvedores
E2: todas as
tradicionais
prs705 Indústria Estudo de caso - equipes usam
E2: observações,
XP
anotações, fotos, e E2: 05 equipes ágeis
gravações de áudio
247
Ckmetrics,
análise da
complexidade
Acadêmico, ciclomática, e o
prs706 Estudo de caso Código fonte 04 desenvolvedores XP
Indústria uso da métrica
para avaliar o
acoplamento
das classes
1235 respondentes do
Survey (equipes ágeis e
desejam ser ágeis)
---------------
Análise do
resultado do 119 entrevistados de 04
survey com a equipes da empresa
aplicação do USbase Empresa:
Questionário,
prs710 Indústria Survey Comparative Scrum
entrevistas
Agility (CA), e Equipe 1: 09 pessoas (adaptado)
com a
aplicação e Equipe 2: (1) 12 pessoas
observação survey; (2) 63 pessoas
Equipe 3: 20 pessoas
Equipe 4: 27 pessoas
248
Documentos,
18 respondentes do
entrevistas
prs716 Indústria Estudo de caso - questionário e 09 Scrum
semiestruturadas e
entrevistados
questionários online
15 respondentes do
prs719 Indústria Estudo de caso Questionários - questionário de 02 XP
equipes de pequeno porte
250 profissionais de
Aplicação de software, divididos entre:
prs723 Indústria Survey questionários e - 33% de engenheiros de General
entrevistas software, 38% de
gerentes.
Acadêmico, Dados históricos dos
prs726 Estudo de caso - - XP
Indústria projetos
Questionário, Teoria
entrevistas, Fundamentada,
prs767 Indústria Estudo de caso - XP
observações e código qualitativa e
fonte do projeto quantitativa
Questionário e dados
Estudo de caso,
prs779 Indústria históricos sobre os - - Scrum, XP
survey
defeitos dos projetos
249
Entrevistas
semiestruturadas,
prs796 Indústria Estudo de caso questionários, dados - 04 desenvolvedores General
histórico do projeto e
observações
7 projetos: 5 acadêmicos,
2 de instituições
Acadêmico, Entrevistas, Código
prs797 Survey - governamentais XP
Governo fonte e questionários
Total de respostas: 48
Análise do código e
prs804 Acadêmico Experimento Qualitativa 13 equipes de software XP
observações
Menos de 30
desenvolvedores e
Estudo de caso Entrevistas
prs809 Indústria - gerentes General
exploratório estruturadas
10 empresas
Entrevistas face a
face, por telefone,
observações das Teoria
prs813 Indústria Estudo de caso 25 funcionários Scrum, XP
conversas informais e Fundamentada
análise de
documentos
Estatística de defeitos
78 respondentes
dos projetos e Qualitativa e
prs814 Indústria Survey Scrum
aplicação de Quantitativa
3 projetos
questionários
250
prs848 Indústria Survey Questionários online Quantitativa 112 respondentes General
Dados históricos do
prs879 Indústria Estudo de caso - - Scrum
projeto
Entrevistas Teoria 35 participantes de 10
prs909 Indústria Estudo de caso General
semiestruturadas Fundamentada empresas
Entrevistas
semiestruturadas e
estruturadas, Análise
prs910 Indústria Estudo de caso - Scrum
observações Hermenêutica
participante e análise
de documentos
Entrevistas
semiestruturadas,
prs918 Indústria Estudo de Caso documentação do Qualitativa - Scrum, XP
projeto e conversas
informais
02 projetos: 09
entrevistados
251
Entrevistas Teoria
prs1001 Indústria Estudo de caso 18 entrevistados Scrum, XP
semiestruturadas Fundamentada
Métricas de
Entrevistas
avaliação de
semiestruturadas e
prs1002 Indústria Estudo de caso OO, análise - Scrum, XP
código fonte dos
qualitativa dos
projetos
dados
P1: XP
252
Entrevistas
semiestruturadas, 12 entrevistas: 11
Governo,
prs1039 Estudo de caso entrevistas abertas e Qualitativa entrevistados (o gerente XP
Indústria
análise de foi entrevistado 02 vezes)
documentos
55 pessoas: arquitetos,
desenvolvedores,
prs1069 Indústria Estudo de caso Questionários Qualitativa XP
gerentes de projeto,
gerentes de produto
Entrevistas
semiestruturadas, 03 desenvolvedores
prs1075 Indústria Estudo de caso - Scrum, XP
observações e entrevistados
conversas informais.
253
Documentos,
prs1133 Indústria Estudo de caso questionários e Qualitativa 02 equipes XP
observações
Entrevistas 03 entrevistados: cliente,
prs1136 Indústria Estudo de caso Qualitativa XP
estruturadas desenvolvedor, testador
22 pessoas de quatro
empresas: três gerentes
de negócio, um arquiteto
de software, um líder de
Entrevistas,
teste, cinco Scrum
prs1166 Acadêmico Estudo de caso observações, dados Qualitativa Scrum
Masters, dois designers,
históricos dos projetos
um Product Owner, quatro
desenvolvedores, dois
avaliadores da qualidade e
dois designers gráficos.
10 entrevistados: quatro
consultores, dois
prs1170 Indústria Estudo de caso Entrevistas Qualitativa desenvolvedores, Scrum, XP
dois Scrum Master, um
Product Owner e um CEO
Empresa A1: 12
entrevistados, 75
observações
Empresa A2: 12
Entrevistas,
entrevistados, 45
observações e
prs1173 Indústria Estudo de caso Meta-etnografia observações Scrum
documentos do
Empresa B: 13
projeto
entrevistados, 09
observações
Empresa C1: 11
entrevistados, 10
254
observações
Empresa C2: 10
entrevistados, 10
observações
Aplicação de
prs1193 Indústria Survey Qualitativa 62 empresas General
Questionários online
Aplicação de
questionários,
prs1260 Indústria Survey entrevistas pelo - 72 entrevistas General
telefone e dados
histórico dos projetos
56 projetos de software:
prs1271 Indústria Survey Questionário - XP
509 desenvolvedores
255
60 observações (Daily
meetings, Sprint Planning,
Review, Retrospective) e
Entrevistas,
prs1296 Indústria Estudo de caso Etnografia 22 entrevistas (vinte Scrum
Observações
desenvolvedores, um
Scrum Master e um
Product Owner)
Entrevistas
semiestruturadas,
observações
prs1300 Indústria Estudo de caso - - Scrum
participantes,
questionários e dados
históricos do projeto
Observações e
prs1301 Indústria Estudo de caso Etnografia - Scrum
registro diário
05 equipes co-alocadas,
Estudo de caso, Entrevistas e Extensão do
prs1335 Indústria - com a média de 09
pesquisa-ação observações Scrum
integrantes por equipe
Questionário e dados
prs1352 Acadêmico Estudo de caso histórico sobre dos - - XP
projetos
Observações e coleta
Estudo de caso Teoria
prs1363 Indústria de dados histórico dos - Scrum
exploratório Fundamentada
projetos
Entrevistas e 10 desenvolvedores de
prs1371 Indústria Estudo de caso - Scrum
observações software
03 entrevistas (analista de
prs1398 Indústria Estudo de caso Entrevistas - XP
sistemas)
256
Survey: 25 respostas de
18 empresas
Questionários
prs1491 Indústria Survey - Scrum
entrevistas Entrevistas: 03 Scrum
Masters/desenvolvedores
e 03 testadores
Entrevistas,
Acadêmico, Quantitativa e 17 equipes de
prs1500 Experimento observações e XP
Indústria Qualitativa desenvolvimento
questionários
06 empresas de
Entrevistas, desenvolvimento de
Estudo de caso
prs1510 Indústria observações e - software XP
exploratório
questionários
E1: 10 desenvolvedores
prs1525 Indústria Estudo de caso Observação Qualitativa - Scrum
prs1530 Indústria Estudo de caso Observações Qualitativa - XP
Observações, 14 observações, 10
prs1562 Indústria Estudo de Caso Qualitativa Scrum, XP
entrevistas entrevistas
Entrevistas,
documentação do
prs1564 Indústria Estudo de caso Qualitativa - Scrum
projeto e conversas
informais
257
09 entrevistas: quatro
Entrevistas
vezes com o mesmo
semiestruturadas,
Quantitativa e gerente de projeto e cinco
prs1583 Indústria Estudo de caso observações Scrum
Qualitativa entrevistas com cada um
participante e análise
dos desenvolvedores da
de documentos
equipe
Observação
Estudo de caso participante e
prs1594 Indústria Qualitativa 02 empresas Scrum
múltiplo entrevistas
semiestruturadas
258
02 empresas
15 entrevistas: presidente
Entrevistas e da empresa,
prs1665 Indústria Estudo de caso Qualitativa Scrum
observações administrador, treinador,
pessoal de marketing,
desenvolvedores, Product
Owners e Scrum Masters
259
APÊNDICE H – Resultado da Avaliação da Qualidade dos Estudos Primários
260
prs371 1 1 0 0 0 0 1 0 0 1 4 Média
prs428 1 1 1 0 0 1 1 0 0 1 6 Alta
prs430 1 1 0 0 1 0 1 0 1 1 6 Alta
prs434 1 1 0 1 0 1 1 0 1 1 7 Alta
prs448 1 1 1 0 0 1 1 0 1 1 7 Alta
prs462 1 0 1 0 1 1 1 0 1 1 7 Alta
prs466 1 1 0 0 0 1 0 0 1 1 5 Média
prs469 1 0 0 0 0 1 0 0 1 1 4 Média
prs487 1 1 0 0 0 0 0 0 0 1 3 Média
prs490 1 1 0 0 1 1 0 0 0 1 5 Média
prs535 1 1 1 1 0 1 1 1 1 1 9 Muito Alta
prs564 1 1 0 0 0 1 0 0 1 0 4 Média
prs571 1 1 0 0 0 0 0 0 0 1 3 Média
prs591 1 1 1 1 1 1 1 0 1 1 9 Muito Alta
prs593 1 1 1 0 0 1 1 0 0 1 6 Alta
prs597 1 1 0 1 0 1 1 0 1 0 6 Alta
prs604 1 1 1 0 0 1 1 0 1 1 7 Alta
prs606 1 1 0 1 0 1 1 0 1 0 6 Alta
prs608 1 1 0 0 0 1 1 0 1 1 6 Alta
prs610 1 1 0 1 1 1 1 1 1 1 9 Muito Alta
prs612 1 1 0 0 1 1 1 0 1 1 7 Alta
prs628 1 1 0 0 0 1 1 0 0 1 5 Média
prs636 1 0 0 0 1 1 0 0 1 1 5 Média
prs651 1 1 1 1 0 1 1 0 1 1 8 Alta
prs652 1 1 0 0 0 0 1 0 0 1 4 Média
prs670 1 0 0 0 0 1 0 0 0 1 3 Média
prs687 1 1 0 0 0 1 1 0 1 1 6 Alta
261
prs688 1 1 0 0 0 1 1 0 1 1 6 Alta
prs689 1 1 0 0 1 1 1 0 0 1 6 Alta
prs694 1 1 0 0 0 0 1 0 0 1 4 Média
prs700 1 1 0 1 0 1 1 1 1 1 8 Alta
prs702 1 1 1 1 1 1 1 0 1 1 9 Muito Alta
prs703 1 1 1 0 1 1 1 0 1 1 8 Alta
prs705 1 0 0 0 1 1 1 0 1 1 6 Alta
prs706 1 1 0 0 0 1 1 0 1 1 6 Alta
prs710 1 1 0 0 0 1 1 0 0 1 5 Média
prs716 1 1 0 0 0 1 1 0 0 1 5 Média
prs719 1 1 0 0 0 1 1 0 0 1 5 Média
prs723 1 0 1 0 0 1 1 0 1 1 6 Alta
prs726 1 1 0 0 0 1 1 0 1 1 6 Alta
prs767 1 1 1 0 0 1 1 0 1 1 7 Alta
prs779 1 1 0 0 1 1 1 0 1 1 7 Alta
prs793 1 0 0 0 0 0 1 0 0 1 3 Média
prs796 1 1 0 1 0 1 1 1 1 1 8 Alta
prs797 1 1 0 0 0 1 1 0 0 1 5 Média
prs804 1 1 1 1 1 1 0 0 1 0 7 Alta
prs809 1 1 1 0 0 1 0 0 1 1 6 Alta
prs813 1 1 1 0 0 1 1 0 1 1 7 Alta
prs814 1 1 0 1 1 1 1 0 0 1 7 Alta
prs848 1 1 0 1 0 1 0 0 0 1 5 Média
prs879 1 1 0 0 0 0 0 0 1 0 3 Média
prs909 1 1 0 0 0 1 1 0 1 1 6 Alta
prs910 1 1 0 0 1 1 1 0 0 1 6 Alta
prs918 1 1 1 0 0 1 0 0 1 1 6 Alta
262
prs980 1 1 1 0 0 1 1 1 1 1 8 Alta
prs1001 1 1 1 0 0 1 1 0 1 0 6 Alta
prs1002 1 1 0 0 1 1 1 0 1 0 6 Alta
prs1016 1 1 1 1 0 1 1 0 1 1 8 Alta
prs1019 1 1 1 0 0 1 1 0 1 1 7 Alta
prs1023 1 1 1 1 0 1 1 0 1 1 8 Alta
prs1037 1 1 0 0 0 1 1 0 1 1 6 Alta
prs1039 1 1 0 1 0 1 1 0 0 0 5 Média
prs1069 1 1 0 0 0 1 0 0 1 0 4 Média
prs1075 1 1 0 0 0 1 0 0 1 0 4 Média
prs1078 1 1 1 1 0 1 1 1 1 1 9 Muito Alta
prs1112 1 1 0 0 0 1 1 0 0 1 5 Média
prs1114 1 1 0 0 0 1 1 0 1 1 6 Alta
prs1132 1 0 1 1 0 1 1 0 1 1 7 Alta
prs1133 1 1 1 1 0 1 1 0 1 1 8 Alta
prs1136 1 1 0 0 0 1 0 0 0 0 3 Média
prs1166 1 1 0 0 0 1 1 0 1 1 6 Alta
prs1170 1 1 0 0 0 1 0 0 1 0 4 Média
prs1173 1 1 1 0 0 1 1 0 1 1 7 Alta
prs1193 1 1 1 0 0 1 1 0 1 1 7 Alta
prs1208 1 1 0 0 0 0 1 0 1 1 5 Média
prs1212 1 1 1 0 0 0 1 0 1 1 6 Alta
prs1238 1 1 0 0 0 1 0 0 1 1 5 Média
prs1256 1 1 1 0 0 1 1 0 1 0 6 Alta
prs1260 1 1 0 0 0 1 1 0 1 1 6 Alta
prs1271 1 1 0 0 0 1 1 0 1 1 6 Alta
prs1296 1 1 0 0 0 1 1 0 1 1 6 Alta
263
prs1300 1 1 1 0 0 1 0 0 1 1 6 Alta
prs1301 1 1 0 0 0 1 1 1 1 1 7 Alta
prs1335 1 1 1 1 0 1 0 0 1 1 7 Alta
prs1352 1 1 0 0 1 0 1 0 0 1 5 Média
prs1363 1 1 1 0 0 0 0 0 1 1 5 Média
prs1371 1 1 0 0 0 1 0 0 1 1 5 Média
prs1398 1 0 0 0 1 1 1 0 1 0 5 Média
prs1491 1 1 1 0 1 1 0 0 1 0 6 Alta
prs1497 1 1 1 0 0 1 1 1 1 1 8 Alta
prs1500 1 1 0 0 1 1 1 0 1 1 7 Alta
prs1510 1 1 0 0 0 1 1 0 1 1 6 Alta
prs1525 1 1 0 0 0 0 1 0 1 1 5 Média
prs1530 1 1 0 0 0 1 1 0 1 1 6 Alta
prs1562 1 1 1 1 0 1 1 0 1 1 8 Alta
prs1564 1 1 1 1 0 1 1 0 1 1 8 Alta
prs1583 1 1 1 1 1 1 1 0 1 1 9 Muito Alta
prs1594 1 1 1 1 0 1 1 0 1 1 8 Alta
prs1595 1 1 0 0 0 1 1 0 1 1 6 Alta
prs1596 1 0 0 0 0 1 1 0 1 1 5 Média
prs1607 1 1 0 0 1 1 0 1 1 1 7 Alta
prs1610 1 1 0 0 0 1 1 0 1 1 6 Alta
prs1625 1 0 0 0 0 0 1 0 1 0 3 Média
prs1665 1 1 0 1 0 1 1 0 1 1 7 Alta
264
APÊNDICE I – Benefícios identificados nos
estudos primários
Quanti
dade %
ID Descrição Benefício Estudos primários
estudo Total
s
prs27, prs44, prs49, prs56,
prs182, prs322, prs331, prs466,
prs535, prs564, prs571, prs591,
Facilita o
prs593, prs604, prs606, prs651,
compartilhamento do
B1 prs670, prs689, prs694, prs705, 32 25,60%
conhecimento entre a
prs710, prs719, prs796, prs879,
equipe
prs1001, prs1019, prs1039,
prs1075, prs1497, prs1530,
prs1583, prs1610
prs27, prs44, prs135, prs236,
prs428, prs448, prs469, prs490,
prs591, prs608, prs612, prs651,
prs652, prs688, prs694, prs719,
Melhora a comunicação
B2 prs796, prs910, prs918, prs980, 31 24,80%
da equipe
prs1001, prs1019, prs1037,
prs1136, prs1296, prs1491,
prs1497, prs1525, prs1583,
prs1607, prs1665
prs466, prs564, prs591, prs593,
prs636, prs651, prs652, prs705,
Facilita o prs710, prs716, prs719, prs767,
acompanhamento e prs793, prs797, prs879, prs910,
B3 26 20,80%
monitoramento do prs918, prs980, prs1019,
projeto prs1039, prs1133, prs1300,
prs1371, prs1497, prs1530,
prs1607
prs27, prs80, prs466, prs469,
prs591, prs670, prs689, prs793,
prs879, prs980, prs1001,
Feedback
B4 prs1016, prs1019, prs1023, 23 18,40%
rápido/frequente
prs1037, prs1038, prs1039,
prs1133, prs1136, prs1256,
prs1583, prs1607, prs1610
prs17, prs27, prs162, prs322,
prs331, prs448, prs466, prs571,
Melhora a qualidade do
B5 prs651, prs702, prs703, prs706, 22 17,60%
código
prs796, prs1001, prs1002,
prs1019, prs1037, prs1038,
265
prs1075, prs1078, prs1136,
prs1607
266
prs44, prs466, prs636, prs652,
Facilita a resolução de
B16 prs689, prs716, prs1132, 10 8,00%
problemas
prs1371, prs1497, prs1525
prs182, prs331, prs535, prs716,
Aumenta o envolvimento
B17 prs793, prs1038, prs1132, 10 8,00%
da equipe no projeto
prs1398, prs1594, prs1665
Torna eficiente a prs56, prs428, prs490, prs628,
B18 resposta às mudanças prs910, prs1078, prs1491, 9 7,20%
de requisitos prs1607, prs1665
prs462, prs535, prs564, prs716,
Melhora o processo de
B19 prs793, prs797, prs1023, 9 7,20%
desenvolvimento
prs1363, prs1564
prs27, prs171, prs879, prs910,
Permite uma maior
B20 prs918, prs1136, prs1497, 8 6,40%
transparência do projeto
prs1530
prs129, prs135, prs628, prs651,
Aumenta a motivação da
B21 prs688, prs1038, prs1132, 8 6,40%
equipe
prs1500
prs182, prs466, prs636, prs716,
Problemas são
B22 prs918, prs980, prs1594, 8 6,40%
descobertos mais cedo
prs1607
prs135, prs462, prs610, prs652,
Aumenta a satisfação da
B23 prs1038, prs1132, prs1500, 8 6,40%
equipe
prs1594
Melhora o planejamento prs27, prs591, prs670, prs689,
B24 e gerenciamento do prs793, prs918, prs1019, 8 6,40%
projeto prs1594
prs129, prs434, prs710, prs910,
Melhora a priorização
B25 prs1016, prs1114, prs1594, 8 6,40%
dos requisitos
prs1607
267
Melhora a cobertura de prs1001, prs1002, prs1136,
B33 5 4,00%
testes prs1491, prs1607
Reduz a interferência prs135, prs1491, prs1583,
B34 5 4,00%
externa prs1594, prs1595
Permite a correção prs688, prs779, prs814,
B35 5 4,00%
rápida dos defeitos/erros prs1078, prs1583
Permite a revisão prs322, prs1001, prs1019,
B36 4 3,20%
contínua do código prs1497
Melhora as habilidades prs980, prs1019, prs1023,
B37 4 3,20%
técnicas prs1037
Metas e Problemas
B38 prs44, prs135, prs710, prs1491 4 3,20%
compartilhados
Aplicável a diferentes
B39 prs56, prs236, prs628, prs688 4 3,20%
contextos de projetos
Permite a identificação prs779, prs1133, prs1136,
B40 4 3,20%
rápida de defeitos/erros prs1583
Aumenta a moral da prs651, prs716, prs1491,
B41 4 3,20%
equipe prs1607
Aumenta a visibilidade
B42 prs535, prs564, prs716, prs918 4 3,20%
do projeto
Aumenta a autonomia
B43 prs49, prs564, prs1037, prs1038 4 3,20%
da equipe
B44 Reduz o retrabalho prs18, prs27, prs466 3 2,40%
Reduz os custos do
B45 prs56, prs1019, prs1607 3 2,40%
projeto
Permite uma maior
B46 discussão sobre o prs688, prs716, prs1530 3 2,40%
projeto
B47 Processo menos formal prs652, prs1001, prs1607 3 2,40%
Aumenta a
B48 prs716, prs723, prs1078 3 2,40%
confiabilidade do projeto
Facilita a estimativa das
B49 prs27, prs591, prs1497 3 2,40%
tarefas
Melhora a capacidade
B50 de coordenação da prs719, prs1594, prs1607 3 2,40%
equipe
Melhora a sinergia entre
B51 prs1019, prs1398, prs1564 3 2,40%
os envolvidos no projeto
Permite a padronização
B52 prs466, prs918 2 1,60%
do código
Enfatiza informações
B53 importantes sobre o prs564, prs705 2 1,60%
projeto
Facilita o
B54 desenvolvimento das prs628, prs1497 2 1,60%
atividades
Melhora a identificação
B55 prs123, prs1352 2 1,60%
e gerenciamento dos
268
riscos
Melhora a compreensão
B56 prs171, prs797 2 1,60%
sobre o processo
Melhora a estimativa de
B57 prs430, prs726 2 1,60%
esforço do projeto
Entrega de software no
B58 prs651, prs652 2 1,60%
prazo
Aumenta a pró-atividade
B59 prs793, prs1525 2 1,60%
da equipe
Aumenta o
B60 comprometimento da prs56, prs535 2 1,60%
equipe com o projeto
Torna as reuniões
B61 prs44, prs651 2 1,60%
produtivas
Facilita a entrada de
B62 novos membros no prs571, prs651 2 1,60%
projeto
Permite uma maior
B63 prs716, prs1665 2 1,60%
adaptabilidade
Aumenta a
B64 responsabilidade da prs135, prs628 2 1,60%
equipe
Simplicidade em manter
B65 prs1019 1 0,80%
histórias de usuários
B66 Flexibilidade do Design prs1607 1 0,80%
B67 Estimula a criatividade prs1023 1 0,80%
Facilita a definição das
B68 prs462 1 0,80%
tarefas
Facilita o
B69 desenvolvimento de prs796 1 0,80%
atividades complexas
Reduz a volatilidade dos
B70 prs27 1 0,80%
requisitos
Reduz o impacto de
B71 prs652 1 0,80%
riscos no projeto
B72 Foco sobre o produto prs1023 1 0,80%
Reduz o nível de
B73 prs1500 1 0,80%
ansiedade
Boas práticas de
B74 prs1023 1 0,80%
gerenciamento
Melhora o retorno sobre
B75 prs236 1 0,80%
o investimento
Alto nível de controle de
B76 prs428 1 0,80%
complexidade
Provê melhorias nas
B77 tomadas de decisões do prs612 1 0,80%
projeto
269
Reduz os custos das
B78 prs469 1 0,80%
mudanças
Reduz o desperdício de
B79 prs27 1 0,80%
trabalho não utilizado
270
APÊNDICE J – Limitações identificadas nos
estudos primários
271
programação em par prs1001, prs1019
Dificuldade em trabalhar prs12, prs448, prs1301,
L9 5 3,94%
com limite de tempo prs1497, prs1583
Aumenta a pressão para prs710, prs813, prs1037,
L10 4 3,15%
entrega do trabalho prs1583
Aumenta os custos do prs571, prs809, prs1001,
L11 4 3,15%
projeto prs1625
Dificuldade de se adaptar prs35, prs135, prs1238,
L12 4 3,15%
a constantes mudanças prs1260
Dificuldade para se
prs27, prs1037, prs1133,
L13 trabalhar com equipes 4 3,15%
prs1607
grandes
Falta de planejamento de prs652, prs910, prs980,
L14 4 3,15%
longo prazo prs1595
prs44, prs371, prs910,
L15 Pouca documentação 3 2,36%
prs1665
Aumenta o tempo de
L16 desenvolvimento das prs322, prs1002, prs1078 3 2,36%
atividades
Encontrar apoio da gestão
L17 para utilizar as práticas prs371, prs809, prs980 3 2,36%
ágeis
Exige mudança de
L18 prs1001, prs322, prs809 3 2,36%
mentalidade
Pouco foco sobre a
L19 prs27, prs716, prs910 3 2,36%
arquitetura de software
Dificuldade de gerenciar
L20 requisitos dependentes prs1363, prs1497 2 1,57%
utilizando apenas o quadro
Dificuldade de trabalhar
L21 prs1607, prs1665 2 1,57%
com código legado
Dificuldade em
L22 implementar a técnica de prs1019, prs1078 2 1,57%
TDD
Dificuldade em reduzir a
L23 Documentação com o uso prs1114, prs1610 2 1,57%
de Modelos de Maturidade
Dificuldade para definir
L24 prs1596, prs371 2 1,57%
uma tarefa como Pronta
Falta de planejamento
L25 mais abrangente no início prs1607, prs462 2 1,57%
do projeto/iteração
Histórias e tarefas são
L26 prs1166, prs1363 2 1,57%
poucas especificadas
Insatisfação do cliente com
L27 o constante envolvimento prs236, prs346 2 1,57%
dele no projeto
Necessidade de
L28 experiência e habilidade prs1019, prs1078 2 1,57%
técnica
Necessidade de maior
L29 performance nos prs1001, prs371 2 1,57%
computadores
Necessita de Maturidade e
L30 prs535, prs705 2 1,57%
pro-atividade
272
Possuir mais de um
interessado com poder de
L31 prs1075, prs910 2 1,57%
decisão sobre os requisitos
e prioridades
Adaptar os métodos ágeis
para projetos em tempo
real, softwares
L32 prs371 1 0,79%
embarcados, ou que
envolvam
hardware/firmware
Aumenta o esforço da
L33 prs27 1 0,79%
gerência de configuração
Aumenta o acoplamento
L34 prs703 1 0,79%
entre as classes
Aumenta o erro de
L35 estimativa em tarefas prs430 1 0,79%
maiores
Aumenta o número de
L36 prs1002 1 0,79%
classes
Aumenta o número de
L37 prs428 1 0,79%
linhas de código
Aumenta o tempo das
L38 prs12 1 0,79%
reuniões
Difícil de ser utilizado em
L39 prs49 1 0,79%
projetos complexos
Dificuldade de adoção da
L40 programação em par para prs1019 1 0,79%
empresas pequenas
Dificuldade de adoção de
L41 prs1133 1 0,79%
Testes Unitários
Dificuldade de apresentar
algo funcional em projetos
L42 prs1238 1 0,79%
que não possuem interface
gráfica
Dificuldade de estimar
L43 atividades de domínio prs767 1 0,79%
desconhecido
Dificuldade de estimar
L44 histórias que possuem prs448 1 0,79%
dependências
Dificuldade de se
L45 concentrar com equipes prs1497 1 0,79%
colocalizadas
Dificuldade em apresentar
a review com enormes
L46 prs1497 1 0,79%
quantidades de
funcionalidades prontas
Dificuldade em escrever
L47 prs135 1 0,79%
histórias de usuário
Dificuldade em lidar com
L48 os clientes que gostam de prs1665 1 0,79%
documentação abrangente
Dificuldade em realizar
L49 constantes commit's em prs1301 1 0,79%
iterações curtas
273
Dificuldade em trabalhar
L50 em domínios prs448 1 0,79%
desconhecidos
Falta a definição do que é
L51 o Valor de Negócio em prs700 1 0,79%
projetos Ágeis
Falta de ferramentas
L52 eficazes (TDD, prs1019 1 0,79%
refatoração)
Falta de Gerenciamento de
L53 prs1170 1 0,79%
Riscos
Falta de identificação das
L54 prs705 1 0,79%
contribuições individuais
Falta de um guia detalhado
explicando com detalhes
L55 prs1019 1 0,79%
uma refatoração de
sucesso
Falta ênfase na
L56 prs1625 1 0,79%
comunicação com o cliente
Fazer o mais simples pode
L57 levar a códigos de difícil prs705 1 0,79%
leitura
Ineficiente para corrigir
L58 erros que são difíceis de prs1078 1 0,79%
reproduzir
Muito formalismo nas
L59 reuniões pode inibir uma prs1166 1 0,79%
boa comunicação
Necessidade de apoio do
cliente para apoiar a
L60 prs1208 1 0,79%
implantação do método
ágil
Necessita de muito esforço
L61 para realizar a integração prs27 1 0,79%
contínua
Necessita de um ambiente
L62 bastante adequado para o prs1069 1 0,79%
time
Sobrecarga de
L63 gerenciamento (muitas prs27 1 0,79%
reuniões)
274
APÊNDICE K – Benefícios identificados nos
estudos de caso
Qtd
Descrição do %
ID Entrevistado / Projeto entrevistad
Benefício Total
os
ALFA_P1_E1, ALFA_P1_E2,
ALFA_P1_E3, ALFA_P1_E4,
ALFA_P1_E5, ALFA_P1_E7,
BETA_P1_E1, BETA_P1_E2,
Facilita o
BETA_P1_E3, BETA_P1_E4,
acompanhamento e
B1_EC BETA_P1_E5, BETA_P1_E6, 21 95,45%
monitoramento do
BETA_P1_E7, BETA_P2_E1,
projeto
BETA_P2_E2, BETA_P2_E3,
BETA_P2_E4, BETA_P2_E5,
BETA_P2_E6, BETA_P2_E7,
BETA_P2_E8
ALFA_P1_E1, ALFA_P1_E2,
ALFA_P1_E3, ALFA_P1_E4,
Facilita o ALFA_P1_E5, BETA_P1_E1,
compartilhamento do BETA_P1_E3, BETA_P1_E4,
B2_EC 15 68,18%
conhecimento entre BETA_P1_E5, BETA_P1_E6,
a equipe BETA_P1_E7, BETA_P2_E4,
BETA_P2_E5, BETA_P2_E6,
BETA_P2_E7
ALFA_P1_E1, ALFA_P1_E2,
ALFA_P1_E3, ALFA_P1_E5,
Melhora o ALFA_P1_E6, BETA_P1_E6,
B3_EC entendimento das BETA_P1_E7, BETA_P2_E1, 14 63,64%
histórias de usuários BETA_P2_E2, BETA_P2_E3,
BETA_P2_E4, BETA_P2_E5,
BETA_P2_E7, BETA_P2_E8
ALFA_P1_E1, ALFA_P1_E3,
ALFA_P1_E4, ALFA_P1_E5,
ALFA_P1_E7, BETA_P1_E3,
Facilita a interação
B4_EC BETA_P1_E4, BETA_P1_E5, 14 63,64%
entre a equipe
BETA_P2_E1, BETA_P2_E2,
BETA_P2_E3, BETA_P2_E4,
BETA_P2_E5, BETA_P2_E6
275
ALFA_P1_E1, ALFA_P1_E2,
ALFA_P1_E3, ALFA_P1_E7,
BETA_P1_E1, BETA_P1_E2,
Facilita a resolução
B5_EC BETA_P1_E3, BETA_P1_E4, 13 59,09%
de problemas
BETA_P1_E6, BETA_P1_E7,
BETA_P2_E2, BETA_P2_E4,
BETA_P2_E6
ALFA_P1_E1, ALFA_P1_E3,
Melhora a ALFA_P1_E4, ALFA_P1_E7,
B6_EC comunicação da BETA_P1_E4, BETA_P2_E2, 10 45,45%
equipe BETA_P2_E3, BETA_P2_E4,
BETA_P2_E5, BETA_P2_E8
ALFA_P1_E1, ALFA_P1_E7,
Permite uma maior BETA_P1_E3, BETA_P1_E4,
B7_EC colaboração entre a BETA_P1_E5, BETA_P1_E6, 10 45,45%
equipe BETA_P1_E7, BETA_P2_E1,
BETA_P2_E4, BETA_P2_E7
Melhora a ALFA_P1_E1, ALFA_P1_E5,
comunicação entre o ALFA_P1_E6, BETA_P1_E1,
B8_EC cliente (ou BETA_P1_E2, BETA_P1_E3, 9 40,91%
representante) e a BETA_P2_E2, BETA_P2_E3,
equipe BETA_P2_E6
ALFA_P1_E1, ALFA_P1_E3,
BETA_P1_E1, BETA_P1_E2,
Melhora a qualidade
B9_EC BETA_P1_E3, BETA_P1_E4, 9 40,91%
do código
BETA_P1_E5, BETA_P1_E6,
BETA_P2_E5
ALFA_P1_E5, ALFA_P1_E7,
BETA_P1_E2, BETA_P1_E3,
Feedback
B10_EC BETA_P1_E4, BETA_P1_E5, 9 40,91%
rápido/frequente
BETA_P1_E6, BETA_P1_E7,
BETA_P2_E1
ALFA_P1_E1, ALFA_P1_E7,
Melhora o processo BETA_P1_E1, BETA_P1_E2,
B11_EC 8 36,36%
de desenvolvimento BETA_P1_E6, BETA_P2_E2,
BETA_P2_E5, BETA_P2_E8
ALFA_P1_E3, ALFA_P1_E7,
Entrega frequente de BETA_P1_E3, BETA_P1_E6,
B12_EC 7 31,82%
software funcional BETA_P2_E1, BETA_P2_E2,
BETA_P2_E4
Melhora o ALFA_P1_E1, ALFA_P1_E4,
B13_EC entendimento sobre ALFA_P1_E6, BETA_P2_E1, 6 27,27%
o projeto BETA_P2_E4, BETA_P2_E8
ALFA_P1_E5, ALFA_P1_E7,
Aumenta a
B14_EC BETA_P1_E2, BETA_P2_E1, 6 27,27%
autonomia da equipe
BETA_P2_E2, BETA_P2_E7
276
Facilita o ALFA_P1_E1, ALFA_P1_E3,
B15_EC desenvolvimento de ALFA_P1_E7, BETA_P2_E1, 6 27,27%
atividades complexas BETA_P2_E2, BETA_P2_E3
Permite uma maior ALFA_P1_E3, ALFA_P1_E7,
B16_EC discussão sobre o BETA_P1_E1, BETA_P1_E7, 6 27,27%
projeto BETA_P2_E3, BETA_P2_E4
Reduz a quantidade ALFA_P1_E5, BETA_P1_E5,
B17_EC de defeitos/erros no BETA_P1_E6, BETA_P1_E7, 6 27,27%
projeto BETA_P2_E4, BETA_P2_E6
Problemas são ALFA_P1_E3, ALFA_P1_E5,
B18_EC descobertos mais BETA_P1_E1, BETA_P1_E6, 6 27,27%
cedo BETA_P1_E7, BETA_P2_E3
Permite a ALFA_P1_E1, ALFA_P1_E7,
B19_EC identificação rápida BETA_P2_E2, BETA_P2_E3, 6 27,27%
de defeitos/erros BETA_P2_E4, BETA_P2_E7
ALFA_P1_E1, ALFA_P1_E7,
Torna o ambiente
B20_EC BETA_P2_E2, BETA_P2_E3, 6 27,27%
mais agradável
BETA_P2_E4, BETA_P2_E7
Melhora a BETA_P1_E7, BETA_P2_E1,
B21_EC priorização dos BETA_P2_E3, BETA_P2_E4, 5 22,73%
requisitos BETA_P2_E5
Aumenta o ALFA_P1_E7, BETA_P1_E4,
B22_EC envolvimento da BETA_P2_E2, BETA_P2_E5, 5 22,73%
equipe no projeto BETA_P2_E8
ALFA_P1_E1, BETA_P1_E2,
Melhora a estimativa
B23_EC BETA_P1_E5, BETA_P2_E1, 5 22,73%
de esforço do projeto
BETA_P2_E2
Melhora a qualidade ALFA_P1_E5, ALFA_P1_E7,
B24_EC 4 18,18%
do projeto BETA_P2_E1, BETA_P2_E2
Permite a correção
BETA_P1_E1, BETA_P2_E5,
B25_EC rápida dos 4 18,18%
BETA_P2_E6, BETA_P2_E7
defeitos/erros
Aumenta a ALFA_P1_E1, ALFA_P1_E7,
B26_EC 4 18,18%
satisfação do cliente BETA_P2_E2, BETA_P2_E6
ALFA_P1_E1, BETA_P1_E2,
B27_EC Reduz o retrabalho 4 18,18%
BETA_P1_E3, BETA_P2_E4
Reduz a interferência ALFA_P1_E1, BETA_P2_E2,
B28_EC 3 13,64%
externa BETA_P2_E8
Reduz a ALFA_P1_E4, ALFA_P1_E7,
B29_EC 3 13,64%
documentação BETA_P2_E2
Entrega de software ALFA_P1_E1, BETA_P2_E1,
B30_EC 3 13,64%
no prazo BETA_P2_E3
Melhora o
planejamento e
B31_EC BETA_P1_E1, BETA_P1_E6 2 9,09%
gerenciamento do
projeto
B32_EC Permite uma maior ALFA_P1_E5, ALFA_P1_E6 2 9,09%
277
interação entre a
equipe e o cliente
Aumenta a coesão
B33_EC ALFA_P1_E1, BETA_P2_E6 2 9,09%
da equipe
Aumenta a
B34_EC produtividade da BETA_P1_E4, BETA_P2_E5 2 9,09%
equipe
Reduz a
B35_EC complexidade do ALFA_P1_E1, ALFA_P1_E3 2 9,09%
código/projeto
Permite a revisão
B36_EC BETA_P1_E3, BETA_P2_E2 2 9,09%
contínua do código
Aumenta a
B37_EC participação do BETA_P1_E3, BETA_P2_E1 2 9,09%
cliente no projeto
Metas e Problemas
B38_EC BETA_P2_E6 1 4,55%
compartilhados
Adequado para
B39_EC ALFA_P1_E1 1 4,55%
projetos complexos
Reduz os custos do
B40_EC BETA_P2_E2 1 4,55%
projeto
Reduz o impacto de
B41_EC BETA_P1_E1 1 4,55%
riscos no projeto
Aumenta a
B42_EC BETA_P1_E6 1 4,55%
motivação da equipe
Facilita a
B43_EC manutenção do BETA_P2_E4 1 4,55%
projeto
Facilita o
B44_EC entendimento do BETA_P1_E5 1 4,55%
código
Facilita a estimativa
B45_EC BETA_P2_E4 1 4,55%
das tarefas
Facilita o
B46_EC desenvolvimento das ALFA_P1_E7 1 4,55%
atividades
Aumenta as chances
B47_EC de sucesso do BETA_P1_E1 1 4,55%
projeto
Aumenta o
B48_EC comprometimento da BETA_P1_E1 1 4,55%
equipe com o projeto
Torna eficiente a
resposta às
B49_EC BETA_P2_E4 1 4,55%
mudanças de
requisitos
B50_EC Metodologia flexível ALFA_P1_E1 1 4,55%
Não necessita de
B51_EC BETA_P1_E3 1 4,55%
formalismo das
278
reuniões
Permite uma maior
B52_EC BETA_P2_E3 1 4,55%
adaptabilidade
279
APÊNDICE L – Limitações identificadas nos
estudos de caso
280
contribuições individuais ALFA_P1_E6
Necessita de Maturidade,
ALFA_P1_E2,
L10_EC Comprometimento e Pro 2 9,09%
ALFA_P1_E6
atividade das pessoas
Histórias e tarefas são ALFA_P1_E7,
L11_EC 2 9,09%
poucas especificadas BETA_P2_E7
BETA_P2_E3,
L12_EC Pouca documentação 2 9,09%
BETA_P2_E6
Dificuldade de trabalhar ALFA_P1_E1,
L13_EC 2 9,09%
com clientes tradicionais ALFA_P1_E7
Aumenta o tempo das ALFA_P1_E4,
L14_EC 2 9,09%
reuniões BETA_P2_E4
Possuir mais de um
interessado com poder ALFA_P1_E7,
L15_EC 2 9,09%
de decisão sobre os BETA_P2_E2
requisitos e prioridades
ALFA_P1_E2,
L16_EC Multitarefa 2 9,09%
BETA_P2_E3
Dificuldade de identificar
ALFA_P1_E2,
L17_EC as contribuições 2 9,09%
ALFA_P1_E5
individuais dos membros
Dificuldade de se
ALFA_P1_E3,
L18_EC concentrar com equipes 2 9,09%
BETA_P1_E5
colocalizadas
Dificuldade de dividir as BETA_P1_E6,
L19_EC 2 9,09%
histórias em tarefas BETA_P2_E4
Aumenta os custos do ALFA_P1_E2,
L20_EC 2 9,09%
projeto BETA_P2_E6
Dificuldade de trabalhar
ALFA_P1_E5,
L21_EC com Contrato de Escopo 2 9,09%
ALFA_P1_E6
Aberto
Dificuldade em lidar com
os clientes que gostam
L22_EC ALFA_P1_E6 1 4,55%
de documentação
abrangente
Pouco foco sobre a
L23_EC BETA_P2_E6 1 4,55%
arquitetura de software
Dificuldade de adaptação
L24_EC ALFA_P1_E3 1 4,55%
da metodologia
Dificuldade em
L25_EC implementar a técnica de ALFA_P1_E3 1 4,55%
TDD
L26_EC Difícil de ser aplicado ALFA_P1_E1 1 4,55%
Dificuldade de gerenciar
requisitos dependentes
L27_EC BETA_P2_E3 1 4,55%
utilizando apenas o
quadro
Aumenta a pressão para
L28_EC BETA_P2_E2 1 4,55%
entrega do trabalho
Dificuldade de trabalhar
L29_EC ALFA_P1_E1 1 4,55%
com pessoas não ágeis
Dispersão durante as
L30_EC ALFA_P1_E2 1 4,55%
reuniões
Não permite
L31_EC BETA_P1_E4 1 4,55%
acompanhamento para
281
projetos distribuídos
Exige mudança de
L32_EC mentalidade/comportame BETA_P1_E6 1 4,55%
nto
Autogerenciamento pode
L33_EC formar ilhas de BETA_P1_E1 1 4,55%
conhecimento
Dificuldade de adaptar a
L34_EC metodologia ágil para ALFA_P1_E2 1 4,55%
equipes ágeis
Aumento o tempo das
L35_EC ALFA_P1_E1 1 4,55%
reuniões
Dificuldade de
L36_EC BETA_P1_E4 1 4,55%
programação em par
Sobrecarga de
L37_EC gerenciamento (muitas BETA_P2_E1 1 4,55%
reuniões)
Aumenta a
especialização dos
L38_EC BETA_P2_E3 1 4,55%
membros em atividades
específicas
Muito formalismo nas
L39_EC reuniões pode inibir uma ALFA_P1_E7 1 4,55%
boa comunicação
Difícil de ser utilizado em
L40_EC ALFA_P1_E2 1 4,55%
projetos complexos
282