Adoção das práticas ágeis: Uma verificação de realidade em
Transcrição
Adoção das práticas ágeis: Uma verificação de realidade em
Agile practices adoption: A reality check in small and medium software development enterprises Agile Practices Adoption: A reality check in small and medium software development enterprises Abstract This article intended to analyze what are the main techniques (either classic or agile) used in software development in small and medium-sized companies, ranking them on a use-level scale and delving into the agile practices and their level of use inside these companies. For this research, an online questionnaire was applied, focusing on software development professionals, evaluating the degree of knowledge and use of the main techniques of project management. Through the analysis of the results, it was concluded that there is a balance between the use of agile and traditional techniques among the respondents, showing that there is a significant use of agile tools although there was not a departure from the use of the classical ones. Keywords: Agile Software Development; Project Management; Practices Adoção das práticas ágeis: Uma verificação de realidade em empresas de pequeno e médio porte de desenvolvimento de software Resumo O artigo possui como objetivo analisar quais são as principais técnicas (tradicionais e ágeis) utilizadas na gestão de projetos de desenvolvimento de softwares em empresas de pequeno e médio porte, ranqueando-as em uma escala gradual de utilização e passando por uma investigação das práticas ágeis e o seu nível de utilização dentro dessas empresas. Para tal pesquisa, foi aplicado um questionário web, voltado para profissionais da área de desenvolvimento de softwares, que analisa o grau de conhecimento e uso por esses respondentes quanto às principais técnicas de gestão de projetos. Através da análise dos resultados, foi possível concluir que há um equilíbrio no uso de técnicas ágeis e tradicionais por parte dos respondentes, o que comprova que há um uso significativo de ferramentas ágeis, embora não ocorra um abandono das técnicas tradicionais. Palavras-chaves: Desenvolvimento de software ágil; Gerenciamento de projetos; Práticas. 1 Agile practices adoption: A reality check in small and medium software development enterprises Introdução Muitos estudos destacam a utilização das práticas ágeis, mas existem poucos apresentando os efeitos que essas mudanças realizam de modo global nas organizações (Laanti, Salo, & Abrahamsson, 2011), (Schwaber, K.; Laganza, G.; D'Silva, D., 2007) e (Dyba & Dingsoyr, 2008). Atualmente, muitas empresas se declaram ágeis ou reportam que possuem interesse em adotar os métodos ágeis. De acordo com o relatório da Forester (Schwaber, K.; Laganza, G.; D'Silva, D., 2007), aproximadamente 17% das empresas de TI já adotam métodos ágeis enquanto 50% das restantes apresentaram interesse em adotá-los. Isso implica que os benefícios dos métodos ágeis já são reconhecidos pela indústria de TI e pode ser verificado um aumento das publicações científicas tanto nos meios acadêmicos quanto nos não acadêmicos (Laanti, Salo, & Abrahamsson, 2011). Besner e Hobbs (2008b) apresentam uma hipótese de que se o gerenciamento de projetos inovadores é realizado de forma mais flexível do que os projetos nos quais resultados padronizados e bem conhecidos, novas práticas e processos são requeridos para o gerenciamento de tais projetos. Segundo Highsmith (2004), para serem bem sucedidas tais práticas necessitam ser de gestão mais simplificada. Enquanto os benefícios da adoção dos métodos ágeis têm sido altamente disseminados, a necessidade de evidências empíricas ainda é imprescindível (Schwaber, K.; Laganza, G.; D'Silva, D., 2007). Outros autores buscam em seus trabalhos expandir a quantidades de pesquisas científicas sobre as evidências dos métodos ágeis (Laanti, Salo, & Abrahamsson, 2011), (Besner & Hobbs, 2008b) e (Eder, 2012). Portando, com o mesmo objetivo, será realizada, para este trabalho, uma pesquisa para coletar evidências das práticas existentes em organizações e identificar as abordagens de gerenciamento de projetos utilizadas: clássicas ou ágeis. Assim, avaliação do uso das ferramentas e técnicas pelos praticantes e suas percepções pode ser vista como um meio de estudar o estado atual das práticas de gerenciamento de projeto (Besner & Hobbs, 2008a). Segundo o mesmo autor, os resultados deste estudo podem prover informações importantes do estado presente e futuros desenvolvimentos para o campo. Com vista a essas informações, o presente trabalho endereça as seguintes questões: Quais são as principais práticas de gerenciamento de projetos são utilizadas em empresas de desenvolvimento de software de pequeno e médio porte? Para o contexto do estudo, as práticas ágeis já estão altamente difundidas? Revisão Bibliográfica O Gerenciamento Clássico de Projetos O gerenciamento de projetos, com início por volta de 1950, resultou em um conjunto de significativas técnicas, ferramentas e conceitos (Kerzner, 2003) e após meio século, no final da década de 1990, surgiram os “corpos de conhecimento” (BOKs – Body of Knowledge) (Amaral, Conforto, Benassi, & Araujo, 2011). Segundo o Guia PMBOK (PMI, 2008, p. 8), o gerenciamento de projetos é definido como “[...] a aplicação de conhecimentos, habilidades, ferramentas e técnicas às atividades do projeto a fim de atender aos seus requisitos”. Para alguns autores, o gerenciamento clássico de projetos possui um enfoque em processos (Kerzner, 2003, pp. 4-5; Verzuh, 1999, p. 19; Maximiano, 2002, p. 40; PMI, 2004, pp. 36-37). Assim Verzuh (1999, p. 25) propõe uma estruturação de projetos por meio de processos “definição, planejamento, execução e encerramento” e que estes processos se repitam ao longo do ciclo de vida de um projeto ou produto. O Gerenciamento Ágil de Projetos (GAP) Novos valores e princípios para o gerenciamento de projetos foram apresentados, primeiramente, no manifesto ágil para desenvolvimento de software em 2001 (Agile Manifesto) que definem a inspiração de agilidade. Amaral et al. (2011) acreditam que o GAP não é uma teoria alternativa a clássica. Ao contrário, apresentam que ela seria uma adição ao conjunto de métodos e práticas do corpo clássico de gerenciamento de projetos. Assim os autores utilizam a seguinte proposta para o GAP: “O gerenciamento ágil de projetos é uma abordagem fundamentada em um conjunto de princípios, cujo objetivo é tornar o processo de gerenciamento de projetos mais simples, flexível e iterativo, de forma a obter melhores resultados em desempenho (tempo, custo e qualidade), menor esforço em gerenciamento e maiores níveis de inovação e agregação de valor ao cliente” (Amaral et al., 2011, p. 21). Metodologia de Pesquisa A metodologia aplicada pode ser dividida em quatro etapas: na primeira, foi definida a lista inicial de práticas, ações, técnicas e ferramentas. Na segunda, dentro do conjunto definido anteriormente, foi escolhido apenas um grupo menor para objeto de análise. A terceira caracteriza-se pela confecção e aplicação do questionário, e a quarta, consistem na análise das respostas obtidas e apresentação das conclusões da pesquisa. Detalhamento das etapas Definição das práticas a serem avaliadas (Etapa 1) A listagem inicial utilizada nesse trabalho, referente às práticas de gerenciamento de projetos, encontra-se na obra de Eder (2012), que as divide em três grupos distintos: ações, técnicas e ferramentas Deve-se ressaltar que este autor se limitou às práticas voltadas para escopo e tempo, dado que, para ele, a maior parte das 2 Agile practices adoption: A reality check in small and medium software development enterprises mudanças propostas pela teoria de gerenciamento ágil de projeto encontra-se nessas áreas. Nesta etapa, partiu-se de um total de 98 práticas, sendo elas 23 ações, 54 técnicas e 21 ferramentas. Seleção do tipo de prática a ser avaliado (Etapa 2) A segunda etapa visou reduzir o escopo do artigo, definindo, dentre os grupos de práticas apontados anteriormente qual destes seria o objeto deste estudo. Para Besner e Hobbs (2008), a análise do uso de ferramentas e técnicas pelos seus praticantes pode ser visto como meio de se estudar o estado atual da prática profissional. Sendo assim, partiu-se da premissa que o estudo das técnicas e ferramentas será suficiente para avaliar o uso das práticas de gerenciamento de projeto. A tabela 1 apresenta a distribuição das ferramentas e técnicas definidas por Eder (2012), pelo tipo de metodologia a que se referem (clássica, ágil ou ambas). Tabela 1 Quantidade dos termos por teoria Metodologia Técnicas Ferramentas Clássica 31 4 Ágil 17 1 Ambas 6 16 Total 54 21 Fonte: Eder (2012) Como existe o objetivo de comparar o uso de práticas clássicas e ágeis, e a maior parte das ferramentas (76%) são citadas em ambas as literaturas, tanto clássica quanto ágil, o que diferencia uma empresa que adote gestão clássica de outra que adote ágil será a utilização da técnica, pois a maioria delas (88%) pertence a apenas uma metodologia. Para fins da análise proposta nesse artigo, somente as técnicas, que são exclusivas de cada metodologia, serão explicitadas no questionário. Definição e aplicação do questionário (Etapa 3) A terceira etapa desse estudo consiste na definição e aplicação do questionário. A metodologia aplicada neste artigo é a mesma que a utilizada por Besner e Hobbs (2008a), na qual os autores declaram ser consistente com as abordagens utilizadas por quem já investigou empiricamente o uso de ferramentas de gerenciamento de projetos. O questionário primeiramente visa obter algumas informações para caracterização dos respondentes. Posteriormente cada uma das técnicas de gerenciamento de projeto, que são objeto desse estudo, deve ser avaliada de acordo com o nível de utilização, em uma escala de quatro pontos, com os valores “não utiliza”, “utiliza pouco”, “utiliza” e “utiliza muito”. Além disso, para cada técnica existe a opção de “desconhece”, com objetivo de segregar na análise a não utilização de técnicas conhecidas e o desconhecimento das mesmas. O questionário foi aplicado via web, tendo sido o link com a pesquisa enviado por e-mail para pessoas que trabalham diretamente com o desenvolvimento de softwares ou o gerenciamento desse tipo de projeto. Estratégia de análise de dados (Etapa 4) Para verificação das técnicas mais utilizadas, foi realizado um ranking no qual se considera que a quantidade de respondentes que classificaram a técnica como “utiliza muito” é a primeira no critério de ordenação, seguida de “utiliza”, “utiliza pouco” e “não utiliza”, por final. O cruzamento das variáveis do perfil “tempo de experiência” e “cargo” com o tipo de técnica mais utilizado foi realizado através de estatísticas descritivas simples, com a média das classes comparada através da aplicação do teste t de Welch bicaudal (Welch, 1947), onde a hipótese nula é de que as médias das duas classes são iguais. O objetivo desse teste é verificar se existem diferenças significativas entre as médias dos dois grupos. Para efeito de consistência dos dados, foram desconsiderados os respondentes que desconhecem mais do que 70% das técnicas em questão, pois se entende que são pessoas que não têm conhecimento suficiente do assunto para fazer parte da amostra. Foram avaliadas as relações de uso entre ferramentas ágeis e clássicas para cada participante, assumindo que se o respondente marcou que usa a ferramenta como “utiliza pouco”, “utiliza muito” ou “utiliza”, é atribuído o valor de 1 (um) ao uso de ágeis: ∑ ∑ ∑ Equação 1- Estimador “razão A/AT”, de proporção de uso de ágeis para clássicas. Limitações do Estudo Com relação às limitações desse artigo, as principais são: Com o tipo e o tamanho da amostra não é possível definir o tamanho da população e foi utilizada uma amostragem não probabilística pelo método Bola de Neve (Goodman, 1961); A falta de conhecimento do respondente sobre a nomenclatura das técnicas, apesar da abrangência de uso na literatura e na prática; O objetivo deste trabalho é avaliar quais as técnicas mais utilizadas, entre as ágeis e as tradicionais, não sendo o objeto de estudo explicar o porquê desta maior utilização; O tipo de 3 Agile practices adoption: A reality check in small and medium software development enterprises projeto, a empresa e os resultados esperados do projeto não foram objeto de pesquisa, não sendo possível, portanto, estabelecermos uma relação entre essas variáveis e a maior ou menor utilização dessas técnicas. Resultados Análise demográfica dos respondentes Foram obtidas 56 respostas durante o período de coleta de dados da pesquisa, e é possível identificar certas características amostrais. No entanto, o estudo não contempla inferir estas características da população da qual a amostra foi retirada. Dos respondentes, 3,6% possuem até dois anos de tempo de experiência em projetos; 17,9% têm entre 3 e 5 anos; 32,1% têm entre 5 e 10 anos; e 46,4% têm no mínimo 10 anos de experiência em projetos. Em análises posteriores deste artigo, os respondentes serão agrupados em duas classes: até cinco anos, com 21,4%, e acima de cinco anos, com 78,6%. Em relação aos cargos dos respondentes, após uma análise dos padrões de respostas e adequação categórica, foi identificado que 53,6% dos respondentes têm posições de membros de projetos (analistas, arquitetos, desenvolvedores etc.) e 46,4% assumem posições de gestores de projetos (gerentes, diretores, etc.). Apenas 16,1% dos dados têm certificação PMP, o que mostra que, pelo menos no público estudado, ter esta certificação não parece ser um fator de influência para exercer o cargo de gestão de projetos, com coeficiente de correlação de Pearson de 0,1593, que é considerado não correlacionado. Dos respondentes, 78,6% disseram que já trabalharam com metodologias ágeis em algum momento, e 21,4%, que nunca trabalharam. Cruzando esta informação com as respostas e a classificação de quais das ferramentas são ágeis, é possível identificar que, destes 21,4%, 91,7% marcaram que usam pelo menos uma ferramenta ágil, corroborando a limitação do artigo que reconhece o desconhecimento da nomenclatura das ferramentas pelo público-alvo da pesquisa. As ferramentas mais utilizadas e menos utilizadas Através do agrupamento dos diversos níveis de utilização em apenas uma classificação de uso/não uso para a elaboração do ranking das técnicas mais utilizadas, a Tabela 2 apresenta o resultado das 10 técnicas mais utilizadas e menos utilizadas. Pode-se observar que existe um equilíbrio na utilização (ou não utilização) das técnicas clássicas e ágeis em ambos os casos: 6 técnicas clássicas que, comparadas ao total de 31 técnicas com características clássicas, correspondem a 19,35% e 4 técnicas ágeis que, comparadas ao total de 17 técnicas com características ágeis, correspondem a 23,53% com características ágeis. Pode-se observar, também, que as quatro últimas técnicas clássicas encontradas na Tabela 3 não correspondem a técnicas provenientes do Guia PMBOK (PMI, 2008). Tabela 2 Tabela 3 As dez técnicas mais utilizadas As dez técnicas menos utilizadas Técnica Categoria Técnica Categoria 1.Modelo / Template Clássica 39.Featurecards Ágil 2.Reunião de Revisão do Sprint Ágil 40.Product Vision Box Ágil 3.Estimar por comparação Ágil 41.Análise de reservas Clássica 4.Entrevista Clássica 42.Intervalos de medidas Ágil 5.ProductBacklog Ágil 43.Método da corrente crítica Clássica 6.Estimar por analogia Clássica 44.Estimativa dos Três Pontos Clássica 7.Análise de desempenho Clássica 45.Bill of Material Ágil 8.Dinâmica de grupo Clássica 46.StoplightReports Clássica 9.Sprint Backlog Ágil 47.Delphi Technique Clássica 10.Análise de alternativas Clássica 48.Chartering Clássica Comparativo entre a utilização individual de cada categoria de projeto A Figura 1 apresenta o resultado do percentual que quantifica a utilização das técnicas ágeis por cada respondente. Este gráfico foi criado a partir da distribuição do Estimador A/AT da Equação 1. Desta forma, o fato de o ponto do gráfico estar mais à direita do gráfico significa que o respondente utiliza mais técnicas ágeis e, inversamente, quanto mais à esquerda significa que o respondente utiliza mais técnicas clássicas. Pode-se observar que, pela concentração dos respondentes no centro do gráfico, a maioria dos participantes dos projetos opta equilibradamente pelos dois tipos de práticas, sejam elas ágeis ou clássicas. Em função da limitação desta pesquisa para viabilização das respostas aos questionários, não foi possível identificar quais tipos de projetos cada respondente utilizou para as técnicas que assinalou como "utilizo muito", "utilizo" ou "utilizo pouco". Ou seja, é possível que o respondente utilize mais técnicas clássicas em determinadas categorias de projetos e mais técnicas ágeis em outras categorias, existindo uma correlação entre a utilização e as características de cada projeto individualmente. Por outro lado, também é provável que os respondentes estejam utilizando os dois tipos de metodologias para um mesmo projeto, selecionando-as conforme as necessidades específicas de cada etapa do projeto correspondente. 4 Agile practices adoption: A reality check in small and medium software development enterprises + Clássica + Ágil Figura 1. % Ágil dos participantes da pesquisa (os autores) Analisando os resultados provenientes Tabela 2 e da Figura 1, pode-se confirmar que, dentro das limitações deste estudo, em empresas de desenvolvimento de software de pequeno e médio porte existe uma cultura de utilização de técnicas ágeis para a gestão dos diversos projetos, embora isso não signifique o abandono das técnicas clássicas que são derivadas de fontes como o Guia PMBOK (PMI, 2008). Em contrapartida, ainda está pendente a verificação de se existe tendência de transição entre o total uso de metodologias clássicas para o total uso de metodologias ágeis neste tipo de empresa ou se os participantes / gerentes / diretores optam por utilizar cada categoria de técnicas conforme suas necessidades de acordo com os diversos tipos de projetos, ou com as etapas do projeto, contexto, escopo, etc. Conclusões Este artigo teve como principal objetivo apontar as principais práticas utilizadas em empresas de desenvolvimento de software de pequeno e médio porte, ao mesmo tempo em que buscou responder se as práticas ágeis já são altamente utilizadas pelas empresas do universo da análise em questão. Através da aplicação de um questionário destinado aos profissionais ligados ao ramo de desenvolvimento de softwares, sejam eles, membros da equipe do projeto (desenvolvedores, analistas,...), gerentes ou ainda stakeholders (diretores, gestores) a pesquisa revelou-se satisfatória no sentido de que respondeu às questões propostas. As tabelas 2 e 3 apontam os resultados das práticas mais e menos utilizadas em gestão de projetos dentro do escopo desses estud. Como apresentado anteriormente, os resultados apontam para uma utilização pelos profissionais de desenvolvimento de software de pequeno e médio das técnicas ágeis, posto que mesmo com um percentual de apenas 35,4% sobre o total das 48 técnicas analisadas, as técnicas ágeis correspondem a 40% das dez técnicas mais utilizadas. Pode-se afirmar, ainda, que existe um uso equilibrado entre ambos os tipos de técnicas, resultantes da concentração do gráfico da Figura 1 no espaço central, indicando que os respondentes optam equilibradamente por ambas as práticas: clássicas e ágeis. Embora o estudo aponte por uma significativa utilização de técnicas ágeis por parte das empresas dentro deste escopo, não se pode afirmar que as técnicas ágeis estão entrando em substituição às tradicionais, pois não se tem uma análise histórica destes dados. Quanto à aplicabilidade nos projetos, também não é possível identificar, também, se ambas as técnicas são utilizadas para um mesmo projeto ou para projetos distintos. Sugestões de estudo O artigo em questão não trata, mas levanta alguns questionamentos que podem surgir como consequência da leitura do mesmo. Um exemplo seria a investigação de quais tipos de projetos utilizam-se mais ou menos de técnicas ágeis e tradicionais. Também seria relevante realizar uma análise objetiva do movimento de transição da utilização das técnicas de gestão de projetos. Coerentemente alinhado com o tema, um questionamento possível provém do resultado observado de que o fato de as pessoas utilizarem, em geral, 50% de técnicas ágeis e 50% de técnicas tradicionais significa que elas estão escolhendo conforme o contexto do projeto ou significa que há uma transição de uma utilização completa de técnicas tradicionais para uma utilização completa de técnicas ágeis. Seguindo a mesma linha do artigo apresentado, algumas questões relevantes e ainda não respondidas poderiam se tornar objeto de análise por pesquisadores no campo da gestão de projetos. Perguntas como “quais são os critérios para avaliar se uma empresa é realmente ágil?” ou “para empresas serem consideradas ágeis, basta que seus funcionários se utilizem de técnicas de gestão de projetos consideradas ágeis?” ou “projetos que utilizam abordagens ágeis possuem maior sucesso que os tradicionais?” poderiam ser investigadas e respondidas em futuros estudos neste campo. 5 Agile practices adoption: A reality check in small and medium software development enterprises Bibliografia Agile Manifesto. (s.d.). Fonte: http://agilemanifesto.org/ Amaral, D. C., Conforto, E. C., Benassi, J. L., & Araujo, C. d. (2011). Gerenciamento ágil de projetos: Aplicação em produtos inovadores. São Paulo: Saraiva. Besner, C., & Hobbs, B. (Março de 2008a). Project Management Practice , Generic or Contextual : A Reality Check. Project Management Journal, pp. 16-33. Besner, C., & Hobbs, B. (Julho de 2008b). Discriminating Contexts and Project Management Best Practices on Innovative and Noninnovative Projects. Project Management Journal, pp. 123-134. Chin, G. (2004). Agile Project Management: how to succeed in the face of changing project requirements. New York: Amacom. Cohn, M. (2005). Agile Estimating and Planning. New York: Prentice Hall PTR. Dyba, T., & Dingsoyr, T. (2008). Empirical studies of agile software development: a systematic review. Information and Software Technology, 50, pp. 833-859. Eder, S. (2012). Práticas de gerenciamento de projetos de escopo e tempo nas perspectivas das abordagens ágil e tradicional (Dissertação de mestrado). Universidade de São Paulo, São Paulo, SP, Brasil. Goodman, L. A. (1961). Snowball Sampling. Annals of Mathematical Statistics, 32, pp. 148-170. Highsmith, J. (2004). Agile Project Management: Creating Innovative Products . Boston: Addison-Wesley. Kerzner, H. (2003). Project Management: A Systems Approach To Planning, Scheduling, And Controlling (8 ed.). John Wiley & Sons. Laanti, M., Salo, O., & Abrahamsson, P. (2011). Agile methods rapidly replacing traditional methods at Nokia: A survey of opinions on agile transformation. Information and Software Technology, 53, pp. 276-290. Maximiano, A. C. (2002). Administração de projetos: como transformar idéias em resultados. São Paulo: Atlas. Petersen, K., & Wohlin, C. (2010). The effect of moving from a plan-driven to an incremental software development approach with agile practices. Empirical Software Engineering, pp. 654-693. PMI. (2008). Guia PMBOK: Um guia do conjunto de conhecimentos do gerenciamento de projetos (4 ed.). Pennsylvania: Project Management Institute, Inc. Project Management Institute Chapters. (2012). PMSURVEY.ORG 2012 Edition. Acesso em 09 de Junho de 2013, disponível em pmsurvey: http://www.pmsurvey.org/ Schwaber, K. (2004). Agile Project Management with SCRUM. Washington: Microsoft Press. Schwaber, K.; Laganza, G.; D'Silva, D. (2007). The Truth About Agile Processes: Frank Answers to Frequently Asked Questions. Forrester Report. Verzuh, E. (1999). The fast foward in MBA in project management. John Wiley & Sons, Inc. Welch, B. L. (Jan de 1947). The generalization of "Student's" problem when several different population variances are involved. Biometrika, 34, pp. 28-35. Wysocki, R., & McGary, R. (2007). Effective Project Management: traditional, adaptative, extreme. Indiana: Wiley Publishing. 6