Estudo Exploratório para Avaliação de uma Ferramenta de Gerência de Projetos Juliana Alves Pereira, Eduardo Figueiredo Depto de Ciências da Computação, Universidade Federal de Minas Gerais (UFMG) Belo Horizonte – MG – Brasil [email protected], [email protected] Resumo. O desenvolvimento de software necessita de ferramentas para apoiar a gerência de projetos específicos. Existem dezenas de ferramentas para gerência de projetos no mercado. Entretanto, profissionais têm dificuldades em escolher a ferramenta mais apropriada devido à ausência de estudos que avaliem os fatores positivos e negativos destas ferramentas. Este artigo apresenta a avaliação de uma ferramenta de gerência de projetos chamada iTeamwork. A ferramenta iTeamwork é gratuita e disponível online via uma interface Web. Além disso, ela inclui funcionalidades típicas para gerência de projetos encontradas em outras ferramentas, como alocação de pessoas aos projetos, criação e alocação tarefas. Para avaliação da ferramenta, foi projetado e executado um estudo exploratório nos quais 29 alunos de graduação usaram a ferramenta. Os resultados dos estudos indicam os pontos positivos e negativos da ferramenta. Abstract. Software development tools support the management of specific software projects. There are many tools for project management available. However, it is hard to choose the most appropriate tool due to lack of studies that assess the positive and negative effects of these tools. This paper presents an evaluation of a project management tool called iTeamwork. iTeamwork is free and available online via a Web interface. It also includes typical functionalities of many other project management tools, such as hiring people to projects, creating and allocating tasks. For evaluation, we designed and executed an exploratory study in which 29 undergraduate students used the tool. The study results indicate the positive and negative factors of the tool. 1. Introdução Gerenciamento de projetos é crucial para que todas as atividades planejadas sejam efetivamente executadas [Lientz and Swanson 1980]. Existem inúmeras ferramentas para apoiar a gerência de sistemas de software [Chatfield and Johnson 2010] [iTeamwork 2012]. Entretanto, ainda são escassos os trabalhos com enfoque na avaliação destas ferramentas para apoiar a tarefa de escolha da ferramenta mais apropriada por parte de um gerente de projeto. Assim, este trabalho aborda conceitos de gerência de projeto e tem como objetivo a avaliação da ferramenta iTeamwork. Esta ferramenta é uma ferramenta gratuita e online que apóia o trabalho colaborativo no qual o gerente pode definir projetos e tarefas, atribuir pessoal, rastrear e ver listas de afazeres, entre outras funções. Ela mantém a gestão de tarefas simples, proporcionando uma visão global do status do projeto e apoiado cada atividade realizada por um sistema de notificação de e-mail. Para avaliar a ferramenta, foi projetado e executado um estudo exploratório para obter informação sobre potencias cenários para adoção ou não da ferramenta iTeamwork em projetos de software. O objetivo do estudo foi investigar a satisfação dos usuários de iTeamwork. No total, 29 pessoas em duas turmas participaram deste estudo. Os participantes são estudantes de graduação com diferentes históricos e variados níveis de experiência em desenvolvimento de software. Neste estudo, os participantes tiveram que responder a um questionário que nos permitiu levantar pontos positivos e negativos da ferramenta iTeamwork em tarefas de gerência de projetos [iTeamwork 2012]. Por exemplo, como ponto positivo, uma grande parte dos participantes indicou a interface amigável e intuitiva. Uma limitação da ferramenta iTeamwork observada no estudo é que o cliente não consegue acompanhar o andamento das atividades. Este tipo de informação oferecem sugestões de melhorias aos proprietários da ferramenta. O restante deste artigo está organizado da seguinte forma. A Seção 2 discute ferramentas para gerência de projetos, inclusive a ferramenta iTeamwork objetivo deste estudo. A Seção 3 reporta os resultados do estudo exploratório para avaliar a ferramenta. Finalmente, a Seção 4 conclui este trabalho e aponta direções para trabalhos futuros. 2. Gerência de Projetos com iTeamwork Esta seção apresenta uma revisão de conceitos embutidos em ferramentas para gerência de projetos de software e a ferramenta iTeamwork utilizada para realização deste estudo. Existem diversas ferramentas [Chatfield and Johnson 2010] [iTeamwork 2012] [JxProject 2012]0 para apoiar a gerência de projetos de software, tanto no desenvolvimento tradicional quando em métodos ágeis [Cohn 2004]. Por exemplo, o iTeamwork [iTeamwork 2012] é uma ferramenta para gerência de projetos baseados em processos tradicionais (não ágeis) de desenvolvimento de software. Como exemplos de ferramentas semelhantes, podemos citar: MS Project [Chatfield and Johnson 2010], JxProject [JxProject 2012], GanttProject [GanttProject 2012], entre outras. O MS Project [Chatfield and Johnson 2010] é um software para gestão de projetos. A interface da ferramenta MS Project é mostrada na Figura 1. Esta ferramenta é utilizada para planejar, programar e representar graficamente as informações sobre projetos. São vários os focos do MS Project: tempo (datas, duração do projeto, calendário de trabalho), modelo probabilístico (para cálculos relacionados ao planejamento), diagrama da rede, Gráfico de Gantt, custos e uma gama de relatórios. O jxProject mostrado na Figura 2 [JxProject 2012] é uma ferramenta de código fonte aberto. Ela provê funcionalidades simples e eficientes para o gerenciamento de projetos de software. São várias as atividades disponíveis na ferramenta, tais como inserção de tarefas, definição da porcentagem já concluída do projeto, horas trabalhadas, dias totais de duração. Além disto, a ferramenta permite vincular seus projetos, deixando-os atualizados de maneira simultânea. Através do jxProject você pode imprimir mapas e tabelas com ajustes de escalas, facilitando ainda mais a análise sobre o projeto realizado. Figura 1 Interface MS Project Figura 2 Interface jxProject O GanttProject [GanttProject 2012] oferece suporte ao idioma português do Brasil. A Figura 3 ilustra a interface da ferramenta GanttProject. Como pode ser observado nesta figura, a interface desta ferramenta é bem organizada e limpa. Além disso, a ferramenta permite a adição de tarefas com suas respectivas datas, cadastro de pessoas envolvidas no desenvolvimento das tarefas, além de possuir a capacidade de gerar gráficos de Gantt de tal forma a facilitar a compreensão da evolução de seu projeto. Figura 3 Interface GanttProject O iTeamwork [iTeamwork 2012] foi escolhido para ser avaliado neste artigo como representante de ferramentas para gerência de projetos. Várias razões motivaram a escolha desta ferramenta. Primeiro, iTeamwork é um ferramenta gratuita muito utilizada para gerência de pequenos projetos de software. Além disso, ela possui uma interface Web simples e intuitiva. Ademais, o iTeamwork é uma ferramenta bem mais madura que outras ferramentas gratuitas avaliadas para pequenos projetos de software como Scrumming [Scrumming 2012]. A Figura 4 mostra uma das telas da ferramenta iTeamwork. A ferramenta disponibiliza uma interface Web com opções para criar projetos e tarefas de forma simples, i.e., sem necessidade muitas interações. Com esta ferramenta, o usuário pode criar pequenos projetos de software e tarefas ilimitadas. Por ser online, a ferramenta iTeamwork não requer a instalação de nenhum software na máquina do usuário (exceto um navegador Web padrão). Por outro lado, uma limitação da ferramenta é a de não possuir controle de acesso através de perfis, tais como, gerentes, desenvolvedores e clientes. Desta forma, todos os usuários da ferramenta têm acesso a todas as funcionalidades disponíveis. 3. Estudo de Avaliação da Ferramenta Esta seção apresenta resultados de um estudo com 29 participantes, todos alunos de Graduação em Sistemas de Informação e Ciência da Computação. O objetivo do estudo é avaliar a ferramenta iTeamwork. A Seção 3.1 descreve detalhes do estudo e dos participantes. A Seção 3.2 reporta e discute os resultados do estudo. A Seção 3.3 discute algumas limitações e ameaças à validade do estudo. 3.1. Configuração do Estudo Este estudo foi primariamente qualitativo no qual 29 alunos de graduação em Sistemas de Informação e Ciência da Computação utilizaram a ferramentas iTeamwork. Os participantes desempenharam uma tarefa que simula o gerenciamento de um projeto de software. Após completarem a tarefa, cada participante emitiu sua opinião sobre o que gostou e o que não gostou na ferramenta utilizada (uma quantidade livre de opiniões poderia ser citada por cada um dos alunos). A ferramenta iTeamwork foi escolhida por ser gratuita e bastante adotada por profissionais em pequenos projetos de software. Além disso, sua interface Web é simples o que facilita a utilização por usuários que não estão familiarizados com a ferramenta. Figura 4 Tela da ferramenta iTeamwork. A utilização da ferramenta iTeamwork foi no escopo de uma disciplina de graduação de Engenharia de Software, oferecida para alunos do 6º ao 8º períodos dos cursos de Sistemas de Informação e Ciências da Computação. Portanto, os participantes são estudantes mais maduros que compreendem razoavelmente bem os conceitos e processos relacionados a gerência de projetos. Eles utilizaram a ferramenta após assistirem a quatro horas-aulas sobre processos de software. Em tais aulas, foram apresentados vários modelos de ciclo de vida utilizados durante o processo de desenvolvimento (por exemplo, Modelo Cascata [Sommerville 2011] e Modelo Incremental [Sommerville 2011]), assim como métodos ágeis (por exemplo, Programação Extrema [Beck 2004] e Scrum [Cockburn 2006]). Neste caso, os alunos tiveram a liberdade para simular um dos processos de sua preferência, apresentados na disciplina, usando os recursos da ferramenta iTeamwork. Foram elaborados e distribuídos roteiros explicativos sobre as tarefas que eles iriam desempenhar. Além disso, para auxiliar os participantes na navegação pela ferramenta, foi dado um tutorial de 15 minutos sobre as funcionalidades básicas que cada participante iria utilizar. Todos os participantes efetuaram individualmente sua tarefa e responderam a duas perguntas em um intervalo de 85 minutos. Ou seja, o tempo total do experimento foi de 100 minutos (15+85). Após receberem as instruções, os participantes criaram um projeto de software fictício usando a ferramenta em questão. O tema do projeto foi único a todos os participantes – Sistema Bancário – e teve o objetivo de motivar o uso das diversas funcionalidades da ferramenta. Ao final da atividade, os participantes foram solicitados a responder as duas perguntas: (i) O que você mais gostou na ferramenta iTeamwork? e (ii) O que você menos gostou na ferramenta iTeamwork? 3.2. Resultados e Discussões Esta seção reporta e discute as experiências dos 29 participantes que utilizaram a ferramenta iTeamwork neste estudo. A Figura 5 mostra dois gráficos com a distribuição das impressões positivas (esquerda) e negativas (direita) dos participantes. Em ambos os gráficos, o eixo Y indica o número de pessoas que citaram um determinado item como positivo ou negativo. Por exemplo, mais da metade dos participantes do estudo (15 de 29) citaram a “interface amigável e intuitiva” da ferramenta iTeamwork como um ponto positivo. Respostas deste grupo de pessoas podem ser representadas pelo participante que afirmou o seguinte: “o iTeamwork permite a criação de tarefas, inserção de usuários e monitoração de tarefas de uma maneira fácil e intuitiva”. Outros pontos bastante citados (6 pessoas) como positivos no iTeamwork foram (i) ambiente colaborativo, (ii) visão global do projeto e (iii) notificações via e-mail. Pontos Positivos (iTeamwork) 20 Pontos Negativos (iTeamwork) 20 Interface simples e intuitiva 15 15 10 10 5 5 0 1 0 Uma tarefa não pode ser associada a mais de uma pessoa 1 Figura 5 Distribuição de pontos positivos e pontos negativos do iTeamwork. Em relação aos pontos negativos da ferramenta iTeamwork, a Figura 5 (lado direito) mostra que 18 dos 29 participantes não gostaram do fato da ferramenta não permitir que uma tarefa possa ser associada a mais de uma pessoa. Por exemplo, um participante que observou esta deficiência do iTeamwork afirmou que “um ponto negativo é a impossibilidade (ou, se possível, é pouco intuitivo) de alocar mais de um membro da equipe a uma tarefa”. Este problema deve ser considerado e analisado pelos mantenedores do iTeamwork, podendo ser corrigido em futuras versões da ferramenta. Entretanto, apesar de observarem o problema, muitos participantes conseguiram contorná-lo duplicando uma tarefa de tal forma que as cópias sejam associadas a diferentes membros da equipe do projeto. Outros pontos negativos frequentemente citados pelos participantes foram: interface pobre e confusa em alguns pontos (indicado por 12 pessoas) e inconsistência das datas permitidas pela ferramenta (indicado por 8 pessoas). Por exemplo, um participante reportou que “a interface gráfica poderia ser melhorada e que, em alguns casos, tarefas aparecem duplicadas para um desenvolvedor”. Em relação ao problema com as datas, os participantes identificaram que (i) não é possível especificar a data de início das tarefas, (ii) a ferramenta permite datas inválidas (e.g., 31 de setembro), (iii) o calendário só permite alocar tarefas até o ano seguinte (2013). Os participantes também observaram que faltam recursos importantes na ferramenta iTeamwork para efetiva gerência de projetos, tal como um diagrama de Gantt e a incorporação de conceitos do método ágil Scrum [Cockburn 2006]. Este método ágil vem sendo muito utilizado e aceito para a gerência de pequenos projetos de software. 3.3. Limitações e Ameaças à Validade Esta seção discute algumas possíveis limitações e ameaças à validade do estudo. Para cada problema identificado, são relatadas as ações tomadas para minimizar seu impacto nos resultados do estudo. Uma possível ameaça é a randômica heterogeneidade dos participantes (validade de conclusão [Wohlin 2000]), pois não seguimos nenhuma metodologia rigorosa para selecioná-los. Os participantes do estudo foram alunos de graduação de uma disciplina de Engenharia de Software. Os dados de todos os participantes disponíveis foram usados e, portanto, pode-se considerar uma escolha randômica. Reconhecemos que existem inúmeras ferramentas para gerência de projetos de software (validade externa [Wohlin 2000]). Entretanto, a escolha pela ferramenta iTeamwork foi motivada por ser gratuita e bastante adotada por profissionais em pequenos projetos de software, como discutido na Seção 2. Em relação à validade de construção [Wohlin 2000], pode-se considerar como possível ameaça (i) explicação inadequada dos procedimentos do estudo e (ii) baixa confiabilidade estatística. Participantes podem não ter entendido completamente as instruções de uso da ferramenta, causando ruído nos resultados. Por exemplo, eles podem ter apontado como ponto negativo da ferramenta alguma funcionalidade que eles não conseguiram usar por falta de treinamento. Para minimizar este problema, revisamos em pares as respostas dos participantes e ignoramos tais ruídos. Quanto à confiabilidade estatística, não aplicamos nenhum método estatístico rigoroso na análise dos dados. De fato, não é nosso objetivo fazer um estudo quantitativo dos dados. Este primeiro estudo exploratório tem o objetivo de levantar possíveis pontos de comparação entre a ferramenta avaliada com outras ferramentas de gerência de projetos. 4. Conclusões e Trabalhos Futuros Uma característica necessária aos profissionais de desenvolvimento de software é a capacidade de lidar com múltiplas tarefas. Entretanto, organizar datas e conteúdo de diversos projetos simultaneamente é bem complicado. Para tentar resolver este problema, surgem diversas ferramentas que oferecem recursos para a organização das tarefas, ou seja, para o gerenciamento adequado dos projetos, estipulando metas e acompanhando o atendimento aos requisitos. Contudo, os profissionais têm dificuldades em escolher a ferramenta mais apropriada devido à ausência de estudos que avaliem fatores positivos e negativos destas ferramentas. Como meio de orientar os profissionais durante a escolha de uma ferramenta que satisfaça suas expectativas, este trabalho fez uma avaliação da ferramenta iTeamwork para gerenciamento de projetos. Neste estudo, foram obtidas respostas de 29 participantes quanto aos pontos positivos e negativos da ferramenta. Os resultados indicaram que a maioria dos participantes achou a interface da ferramenta intuitiva e amigável. iTeamwork mantém a gestão de tarefas simples, proporcionando uma visão global do andamento do projeto e apoiando cada passo realizado nos projetos por um sistema de notificação por e-mail. Por outro lado, os participantes criticaram negativamente o fato de a ferramenta não permitir alocar mais de um membro da equipe a uma tarefa. Os pontos negativos levantados pelos participantes indicam oportunidades para futuras melhorias na ferramenta iTeamwork. Como trabalho futuro, pretende-se realizar um experimento controlado (ou semi-controlado) para avaliar outras facetas desta e de outras ferramenta para gerência de projetos de software. Agradecimentos Este trabalho recebeu apoio financeiro da FAPEMIG, processos APQ-02932-10 e APQ-02376-11, e do CNPq processo 485235/2011-0. Referências Beck, K. (2004) Extreme Programming Explained: Embrace Change, 2 ed. Addison Wesley. Buschman, F.; Meunier, R.; Rohnert, H.; Sommerland, P.; Stal, M. (1996) PatternOriented Software Architecture: A System of Patterns, John Wiley & Sons. Chatfield, C.; Johnson, T. (2010) Microsoft Project 2010 Step by Step, 1 ed. Microsoft Press. Cockburn, A. (2006) Agile Software Development: The Cooperative Game, 2 ed. Addison-Wesley Professional. Cohn, M. (2004) User Stories Applied: For Agile Software Development, 1 ed. Addison-Wesley. GanttProject. (2012) http://www.ganttproject.biz/. Acessado 14/08/2012. iTeamwork. (2012) http://iteamwork.com/. Acessado 02/01/2012. JxProject. (2012) http://www.jxproject.com/. Acessado 14/08/2012. Lientz, B.; Swanson, E. (1980) Software Maintenance Management. Addison Wesley Reading. Pressman, R. S. (2006) Engenharia de Software, 6 ed. McGraw Hill. Scrumming. (2012) http://www.inf.pucrs.br/~rafael/scrumming/. Acessado 02/01/2012. Sommerville, Ian. (2011) Engenharia de Software, 9ª Edição. Pearson Education. Wohlin, C. et al. (2000) Experimentation in Software Engineering - An Introduction. Kluwer Academic Publishers.