Marco Antônio Amaral Féris Doutorando pela Research School of Management ANU College of Business and Economics LF Crisp Building 26 The Australian National University Canberra ACT 0200 Australia [email protected] 1 MELHORANDO A QUALIDADE DO PLANEJAMENTO DE DESENVOLVIMENTO DE PROJETOS DE SOFTWARE Sumário Esta pesquisa aplicada descreve o projeto e desenvolvimento de uma system thinking tool, denominada QPLAN, que visa avaliar a qualidade dos processos de planejamento de projetos de desenvolvimento do software e sugerir melhorias de forma a aumentar a taxa de sucesso de projetos, que geralmente é baixa. QPLAN é um artefato efetivo que a) permite que o gerente de projeto melhore seu planejamento; b) provê maiores informações sobre o projeto de forma a suportar decisões, tais como se o projeto deve seguir para a fase de execução, se deve continuar na fase de planejamento até atingir melhores resultados, ou mesmo encerrá-lo antes de se investir mais recursos; e c) provê evidências de forma a melhorar os processos da organização. Para atingir estes objetivos de pesquisa, este artefato avalia a qualidade dos produtos do planejamento definidos pelo PMBOK através do modelo Project Management Planning Quality (PMPQ) e avalia os fatores que os afetam através de mapas cognitivos. Resultados dos dois instrumentos são contrastados e os pontos fortes e fracos, bem como sugestões de melhorias, são apresentados através de um mapa de Karnaugh estendido. Esta pesquisa está em andamento e conta com dados de 57 projetos, de 12 organizações localizadas em 06 países, que adotaram diversas metodologias de desenvolvimento e linguagens de programação. Os resultados apresentados até o presente momento claramente mostram que QPLAN tem contribuído significativamente para aumentar a taxa de sucesso através da avaliação do planejamento e da adoção de melhores práticas, incluindo gerenciamento de uma forma apropriada ao projeto e aprendendo com as lições de projetos anteriores. Abstract This design science research describes the design and development of a system thinking tool, named QPLAN, which aims to evaluate the quality of planning processes of software development projects and suggest improvements in order to increase the success rate, which is generally low. QPLAN is an effective artifact that a) allows project managers to improve their current planning; b) provides more information about the project in order to support a decision, whether to allow the project to the next phase, continue in the planning phase until better results are achieved, or even terminate the project before investing more resources; and c) improve the organization’s planning processes for future projects. To achieve research objectives, this artifact evaluates the quality of planning products though Project Management Planning Quality (PMPQ) model, and evaluates software development planning factors through cognitive maps. Results from both PMPQ model and cognitive maps are contrasted and strengths, weakness and opportunities to improve software development project planning are presented to the project manager through an extended Karnaugh map. This study is in progress and already collected 57 project data, from 12 organizations located in 06 countries, which adopted several types of methodologies and programming languages. The current results clearly show that QPLAN is contributing significantly to increase the success rate by evaluating the quality of planning and by adopting best practices, such as managing in an appropriate way, and learning from historical data. Palavras chaves: Planejamento, Qualidade, Desenvolvimento de Softwares, Sucesso 1 I. Introdução De acordo com o grupo Gartner (2012), uma empresa de consultoria que desenvolve pesquisas voltadas à área de tecnologia da informação (TI), a previsão de gastos mundiais em TI é de 3.8 trilhões de dólares, o que representa um aumento de 5.6% em relação ao ano anterior. Entretanto, o desenvolvimento de softwares não é um processo perfeito. Apesar dos esforços contínuos no emprego de metodologias de desenvolvimento, a taxa de sucesso é geralmente baixa (Chow e Cao, 2008). Estudos recentes demonstram que as metas de custos e de cronograma não são atingidas em mais de 60% dos projetos (Moløkken-Østvold e Jørgensen, 2009). Na área de TI, por exemplo, somente 28% dos projetos podem ser considerados como bem sucedidos, 18% foram cancelados e os demais tiveram atrasos de cronogramas e custos acima do estimado (Tesch et al., 2007). Resumindo, existe um desafio enorme no sentido de diminuir a ineficiência da indústria de software (Chow e Cao, 2008). Um dos caminhos é procurar entender as características de um projeto, tais como inerente complexidade, expectativas dos envolvidos, perfil do gerente de projeto (PM), comunicação efetiva, entre tantas outras (Bechor et al., 2010). Para complicar ainda mais esta questão, não é óbvio como estas características interagem o que faz com que muitos esforços adotados não sejam efetivos. Esta pesquisa visa endereçar esta questão propondo um modelo para a literatura de gerência de projetos que mede a qualidade do planejamento de um projeto de desenvolvimento de software, e disponibilizando uma ferramenta voltada aos gerentes de projetos e organizações que visa permitir aumentar as chances de se atingirem o sucesso de um projeto. II. Metodologia Utilizada Design Science Research (DSR) foi adotado como metodologia para o desenvolvimento e validação desta pesquisa, em função de ser largamente utilizada na comunidade de sistemas de informação, por ser voltada não só para mundo acadêmico, mas para profissionais da área, por ser um processo interativo e por visar criar um artefato para solucionar um problema real (Baskerville, 2008). Para construção e validação deste artefato, foram utilizados os métodos descritos por Hevner (2004) e Wang e Wang (2010) em três etapas: a) Execução de estudo piloto, que validou os instrumentos de coleta de dados (Kezar, 2000); b) Execução de testes de software, que verificou se o artefato desenvolvido funciona de acordo com o esperado; c) Execução de casos de estudos em organizações que desenvolvem projetos de softwares, de forma a validar o modelo e o artefato. Estes casos de estudos incluíram entrevistas com a alta gerência (para identificar qual é o significado de sucesso para a organização e quais as barreiras normalmente enfrentadas), a coleta de dados de projetos passados (para formar a base histórica), a coleta de dados de projetos atuais (para avaliar a qualidade do planejamento e introduzir melhores práticas no processo), métodos qualitativos (as discussões de resultados com os participantes) e quantitativos (testes de hipóteses). Além disto, de forma a tornar a análise de dados o mais rica possível, buscou-se organizações pertencentes a diversos tipos de indústrias, em diferentes países e que usam diversas metodologias, mas que têm em comum o desenvolvimento de softwares. 2 III. Modelo Proposto O modelo proposto foi planejado para avaliar a qualidade do planejamento e utiliza dois instrumentos para a aumentar a confiabilidade dos resultados. O primeiro instrumento, denominado QPM, visa avaliar a qualidade dos produtos do planejamento. Desenvolvido por Zwikael e Globerson (2004), este instrumento baseia-se em 16 processos de planejamento definidos pelo PMBOK (PMI, 2008). O segundo instrumento, denominado CM, visa avaliar os fatores que afetam o desempenho e os resultados de projetos de software, tais como recursos humanos, riscos, nível de comunicação, de confiança e suporte, ambiente que cerca a equipe de desenvolvimento, entre outros. A partir de um estudo profundo das literaturas de gerência de projetos e da ciência da computação, foram selecionados conjuntos de fatores que levam ao sucesso ou insucesso de projetos, sendo que 22 relacionados ao início da fase de planejamento e 67 relacionados ao final desta fase. Além disto, foram selecionados mais 10 fatores relacionados à fase de encerramento que servem para comparar os resultados atingidos com os planejados. Baseado num estudo publicado por Stach (2005), estes fatores foram agrupados em mapas cognitivos relacionados aos 16 processos de planejamento utilizado pelo QPM, de modo a poder contrastar os resultados dos dois instrumentos. Cabe salientar que a qualidade do gerente de projetos e do conhecimento técnico, do nível de suporte da alta gerência, do ambiente para se desenvolver o projeto e os métodos e ferramentas utilizadas pela organização também foram considerados. A figura 1 mostra o modelo proposto que avalia a qualidade do planejamento de projetos. Project Manager 4. Project Integration Management 5. Project Scope Management Technological Expertise 6. Project Time Management 7. Project Cost Management Top Management Support 8. Project Quality Management CM QPM 9. Project HR Management Enterprise Environment Factors 10. Project Communications Management 11. Project Risk Management Quality of Methods and Tools Used Organisation Quality Index 12. Project Procurement Management Figura 1: Modelo proposto que avalia a qualidade do planejamento 3 IV. Descrição do Artefato O artefato que implementa o modelo proposto denomina-se QPLAN e foi desenvolvido na linguagem de programação C#. Além de avaliar a qualidade do planejamento, este artefato promove práticas (independentemente da metodologia utilizada pela organização) que visam aumentar as chances de se atingir os objetivos do projeto, incluindo um gerenciamento apropriado, foco nos processos de planejamento que apresentam problemas de planejamento, e aprendizado contínuo através de lições aprendizas e dados históricos. Veja na figura 2 a tela principal deste artefato. Figura 2: Tela principal de QPLAN com um exemplo de projeto Observe que no lado esquerdo superior, existe a informação da organização e do nome do projeto. Logo abaixo, está a indicação de sucesso (ou não), em termos de eficácia, eficiência, resultado para o negócio e satisfação do cliente, que foi uma abordagem utilizada no estudo feito por Lechler e Dvir (2010). A figura no lado esquerdo implementa a teoria one size does not fit all projects (Shenhar, 2001), que defende que um projeto deve ser gerenciado de acordo com suas características, através do modelo NTCP, acrônimo de (Novelty, Technology, Complexity e Pace). Desenvolvido por Shenhar e Dvir (2007), este modelo tem como objetivo classificar o projeto, o que é feito durante a fase de planejamento e de encerramento, para fins de comparação e aprendizado. Os botões localizados abaixo permitem carregar e salvar a base de dados, exportar os dados de forma a utilizá-los numa ferramenta estatística, ter acesso aos mapas cognitivos (que são mostrados graficamente e contém a comparação entre as respostas dadas e a média da organização) e gerar três tipos de relatórios, com informações para que o PM projeto possa melhorar seu planejamento, outro 4 para a organização poder comparar o desempenho dos projetos que está desenvolvendo e identificar oportunidades de melhorias em seus processos organizacionais, e outro que analisa a base de dados. Na parte central da tela, está uma figura adaptada do PMBOK (PMI, 2008), e visa mostrar que o planejamento tem uma correlação positiva com o sucesso (Zwikael e Globerson, 2004), e as incertezas, nível de esforço e o custo das mudanças ao longo das fases de projeto em conjunto. Também são mostrados os níveis de risco e os índices de qualidade calculados durante o planejamento e ao final, de forma a promover a comparação entre o planejado e realizado. Logo abaixo, está a bandeira do país de onde os dados vieram e botões que dão acesso à entrevista, às informações demográficas e aos questionários, incluindo lições aprendidas, de forma a diminuir as incertezas e melhorar estimativas (Jørgensen e Gruschke, 2009). No lado direito, existe uma tabela com os 16 processos de planejamento selecionados por Zwikael e Globerson (2004) e definidos pelo PMBOK (PMI, 2008), com as medidas efetuadas pelos dois instrumentos (QPM e CM) e a média da organização para fins de comparação. Em seguida, existe a comparação das avaliações feitas por estes dois instrumentos, que servem para que o PM foque nos processos que irão trazer mais retorno, no sentido de melhorar a qualidade do planejamento. Esta é uma técnica desenvolvida por Sedoglavich (2008), que usa um mapa de Karnaugh estendido para identificar os pontos fortes, fracos do planejamento e fornecer sugestões para melhoria desta fase de projeto. Finalmente, o artefato calcula a média de todas as respostas dos projetos dentro de uma mesma organização, que servem para permitir a comparação com a o desempenho dos projetos e identificação de oportunidades contínua de melhoria de processos (Iversen, 2004). V. Coleta e Análise de Dados A fase de coleta de dados está sendo concluída e até o presente momento conta com 57 projetos, oriundos de 12 organizações localizadas em seis países (Brasil, Austrália, Estados Unidos, Itália, Israel e Alemanha), pertencentes a diversos tipos indústrias (de automação, IT, P&D, governo, serviços, defesa, farmacêutica, logística e bancaria), que adotaram diversas linguagens de programação (entre outras, C, C#, PL/SQL, Java, Cobol, Python e Matlab/Simulink), e diferentes metodologias de desenvolvimentos (tais como PMI, Agile, XP, Scrum, Seis Sigma e Stage Gate). A partir dos dados recebidos são obtidas informações sobre os projetos e sobre as organizações. O desafio da análise dos dados fornecidos pelos respondentes é procurar entender a realidade do projeto sem estar envolvido com o projeto, de forma a não influenciar a coleta, e sem coletar nenhum dado sensitivo, o que, em função das políticas de segurança de cada organização, poderia inviabilizar este processo. A coleta de dados foi estruturada da seguinte forma: uma entrevista com a alta gerência, no sentido entender o que significa sucesso para a organização e as principais barreiras que normalmente as equipes de desenvolvimento enfrentam; questionários para o gerente de projeto a serem preenchidos no início do planejamento, ao final do planejamento e ao final do projeto, de forma a abranger o ciclo de vida do desenvolvimento; e um questionário para o supervisor de modo a verificar se o projeto foi considerado sucesso. Informações demográficas também são coletadas, de forma a definir um perfil dos respondentes e das organizações. 5 A próxima etapa desta pesquisa será a de análise de dados, incluindo o teste das seguintes hipóteses: H1. Qualidade do planejamento possui uma correlação positiva com o sucesso de um projeto H2. Qualidade do planejamento possui uma correlação positiva com o sucesso do gerenciamento do projeto H3. Qualidade do planejamento da organização possui uma correlação positiva com a qualidade do planejamento De acordo com os comentários dados pelos participantes, a pesquisa está atingindo seu objetivo. Alguns exemplos: “Os resultados fazem bastante sentido”, “Mesmo não estando envolvido parece mesmo que estás mesmo falando do meu projeto”, “Acho que os questionários estão bem abrangentes”, “Diria que o questionário por si só já serve como uma boa base para avaliação de um projeto do ponto de vista de um gerente.”, “Os questionamentos feitos, mesmo sem o resultado da pesquisa, já deixa diversas perguntas no ar, do estilo estamos gerenciando corretamente este tópico?”. VI. Conclusão Embora haja muitas iniciativas de aperfeiçoar o processo de desenvolvimento de projetos de softwares, a taxa de sucesso em geral é baixa e o desafio de se mudar esta realidade não é trivial. As tecnologias mudam a toda hora, as expectativas aumentam a cada dia, características dos projetos cada vez ficam mais complexas e a interação entre elas não é óbvia, o que complica ainda mais esta situação. Esta pesquisa visa endereçar esta questão propondo um modelo para a literatura de gerência de projetos que mede a qualidade do planejamento de um projeto de desenvolvimento de software, e disponibilizando uma ferramenta voltada aos gerentes de projetos e organizações, que implementa este modelo e promove melhores praticas de forma a aumentar as chances de se atingirem os objetivos de um projeto. Com este artefato, os gerentes de projetos podem atuar de forma proativa, através da identificação das características do projeto, da realidade que o cerca, dos pontos fortes e fracos do planejamento, das sugestões de melhorias e da comparação do desempenho de seu projeto com os outros desenvolvidos pela mesma organização. As organizações beneficiam-se através da monitoração e controle sobre o andamento de seus projetos, de seu desempenho médio e da identificação de oportunidades de melhorias em seus processos, incluindo a possibilidade de uso de metodologias que usam estatísticas, como por exemplo, Seis Sigma. Esta pesquisa está encerrando a fase de coleta e análise de dados e conta atualmente com uma rica e significativa quantidade de projetos de empresas que atuam em diversos tipos de indústrias, em diferentes países e que adotaram diversos tipos de linguagens de programação e metodologias. 6 Como esperado, de acordo com os comentários recebidos até o presente momento, os resultados apresentados estão atingindo os objetivos deste estudo. Este estudo abre oportunidades para futuros estudos, de modo a melhorar a qualidade das informações fornecidas: implementação de machine learning para calcular os dados históricos de acordo com a abordagem feita por Stach (2005), ao invés da média das respostas adotada; verificação do impacto dos dois instrumentos que avaliam a qualidade do planejamento, que hoje são iguais por definição; e implementação logica fuzzy nos mapa de Karnaugh, para identificar os pontos fortes e fracos do planejamento, de acordo com a abordagem feita por Sedoglavich (2008). Este estudo também abre oportunidades para outras aplicações, de modo a aumentar a abrangência de QPLAN: substituição das variáveis específicas de software por variáveis de projetos de hardware ou de construção civil, por exemplo, de modo a avaliar qualidade do planejamento de outros tipos de projetos, visto que o mecanismo utilizado é genérico; treinamento de gerentes de projetos, através da analise de cenários gerados a partir de dados artificiais; e identificação do perfil de desenvolvimento de projetos por tipo de indústria, através da formação de uma base de dados extensa, o que permite elevar o padrão de desenvolvimento de projetos de uma empresa através de melhores praticas utilizada em cada tipo industria. Referências Baskerville, R. (2008). What design science is not. European Journal of Information Systems, suppl. Special Issue on Design Science Research. Vol. 17, Iss. 5; p.441-443 Bechor, T., Neumann, S., Zviran, M., Glezer, C. (2010). A contingency model for estimating success of strategic information systems planning. Information and Management. Vol.47; p.17–29 Chow, T., Cao, D. (2008). A survey study of critical success factors in agile software projects. Journal of Systems and Software. Vol.81; p.961–971. Gartner, (2012). Gartner Says Worldwide IT Spending to Grow 3.7 Percent in 2012. Disponível em http://www.gartner.com/it/page.jsp?id=1888514. Accessado em 16 de junho de 2012. Hevner, A. R. H., March, S. T., Park, J., Ram, S. (2004). Design Science in Information Systems Research. MIS Quarterly. Vol. 28, Iss. 1, p. 75 Iversen, J. H, Mathiassen, L., Nielsen, P. A. (2004). Managing Risk in Software Process Improvement: an Action Research Approach. MIS Quarterly Vol. 28, Iss. 3; p.395-433. Jørgensen, M., Gruschke, T. M. (2009). The Impact of Lessons-Learned Sessions on Effort Estimation and Uncertainty Assessments. IEEE Transactions on Software Engineering. Vol. 35, Iss. 3; p.368 Kezar, A. (2000). The Importance of Pilot Studies: Beginning the Hermeneutic Circle. Research in Higher Education. Vol. 41, Iss. 3; p.385-400 Lechler, T. G., Dvir, D. (2010). An Alternative Taxonomy of Project Management Structures: Linking Project Management Structures and Project Success. IEEE Transactions on Engineering Management. Vol. 57, Iss. 2; p.198 7 Moløkken-Østvold, K., and Jørgensen, M. (2009). A Comparison of Software Project Overruns Flexible versus Sequential Development Models. IEEE Transactions on Software Engineering. Vol. 35, Iss. 1; p.109 PMI Standards Committee (2008). A Guide to the Project Management Body of Knowledge: PMBOK Guide. – 4th ed. Project Management Institute. Sauser, B., Reilly, R., Shenhar, A. J. (2009). Why projects fail? How contingency theory can provide new insights – A comparative analysis of NASA’s Mars Climate Orbiter loss. International Journal of Project Management. Vol.27; p.665–679.. Sedoglavich, V. (2008). Absorptive Capacity and Internalization of New Zealand High-tech SMEs in the Agro-technology Sector. The University of Waikato. Shepperd, M., Cartwright, M. (2001). Predicting with sparse data. IEEE Transactions on Software Engineering. Vol. 27, Iss. 11; p.987 Shenhar, A. J. (2001). One size does not fit all projects: Exploring classical contingency domains. Management Science. Linthicum: Vol. 47, Iss. 3; p.394. Shenhar, A., Dvir D. (2007). Reinventing project management: the diamond approach to successful growth and innovation. Harvard Business School Press. Boston, MA. Stach, W., Kurgan, L., Pedrycz, W., Reformat, M. (2005). Genetic learning off fuzzy cognitive maps. Fuzzy Sets and Systems. Vol.153; p.371–401. Tesch, D., Kloppenburg, T, J. Frolic, M. N. (2007). IT Project Risk Factors: The Project Management Professional Perspective. The Journal of Computer Information Systems. Vol. 47, Iss. 4; p.61 Wang, S., Wang, H. (2010). Towards Innovative Design Research in Information systems. The Journal of Computer Information Systems. Vol. 51, Iss.1; p.11-18 Zwikael, O., Globerson S. (2004). Evaluating the quality of project planning: a model and field results. International Journal of Production Research. Vol. 42, Iss. 8, p1545–1556. 8