UMA ABORDAGEM PARA A GERÊNCIA DE PROJETOS DE SOFTWARE DANIELE VIEIRA FIOROT¹ 1 Aluna do Curso de Ciência da Computação do Centro Universitário de Vila Velha. E-mail: [email protected]. MARCO AURÉLIO GEROSA² 2 Doutor em Informática pela PUC-Rio, Engenheiro em Engenharia da Computação. E-mail: [email protected]. 2 RESUMO Os desenvolvedores de software vêm enfrentando um grande desafio no gerenciamento de projetos. Escopo, requisitos, estimativas, design de interfaces, qualidade, desempenho, usabilidade, riscos, entre outros itens, devem ser bem gerenciados, com o intuito de atender às necessidades das partes interessadas. Para minimizar este problema, no mercado há diversas opções de ferramentas que auxiliam na gerência de projetos de software, servindo de suporte principalmente no gerenciamento das tarefas que devem ser realizadas por cada um dos atores do processo de desenvolvimento (programadores, analistas, projetistas, gerentes). Estas ferramentas, na sua maioria, são usadas em atividades específicas – gerenciamento de tarefas, gerência de documentos ou cálculo de orçamento (por pontos de função, número de linhas de código ou outras métricas) –, e não em todo o processo de desenvolvimento. O objetivo deste trabalho é enfatizar a importância de se gerenciar os projetos de software. Para isso, foi realizada uma pesquisa de campo de como as empresas de desenvolvimento de sistemas do Espírito Santo têm gerenciado os seus projetos e uma avaliação do impacto do uso de uma ferramenta (também descrita neste trabalho) de auxílio ao processo de gestão de tempo, recursos humanos e atendimento ao cliente quanto a chamados e melhorias. Palavras-chave: Gerência de Projetos, Projetos de Software, Produtividade, Desenvolvimento de Software, Qualidade. 1 INTRODUÇÃO O desenvolvimento de software vem enfrentando ao longo dos anos diversos problemas: não cumprimento dos requisitos, não atendimento aos prazos, dificuldades ao elaborar o projeto, baixa qualidade e desempenho do produto, entre outros. Estes problemas acontecem devido a diversos erros cometidos durante todo o processo de desenvolvimento. Algumas causas para esses problemas são: má gestão dos requisitos, inconsistências de projeto não encontradas antecipadamente, poucos testes realizados, má administração dos riscos, estimativas inadequadas de custos e prazos, entre outras (GARCIA, 2007). 3 Segundo a TenStep – empresa de consultoria e treinamento em Gerenciamento de Projetos, sediada em Atlanta (Geórgia, EUA) – existem cinco erros comuns em gerenciamento de projetos (TenStep, 2007): definição e planejamento inadequado do projeto; práticas de gerenciamento inadequado de mudanças de escopo; não gerenciamento do plano de trabalho (Workplan); falta de comunicação com os interessados; falta de um bom gerenciamento de qualidade. Devido a esses erros cometidos e os problemas gerados por estes, 18% dos projetos são cancelados antes de seu término, 53% são concluídos com limitações e somente 23% são efetivamente concluídos, sendo que 88% ultrapassam seus prazos, custos ou ambos – em média ultrapassam 189% dos custos estimados e 222% os prazos originalmente estimados (STANDISH GROUP, 2004). Com números tão expressivos, medidas devem ser tomadas para que o projeto possa ser concluído com êxito e com os custos e prazos próximos das estimativas. 2 OBJETIVO Com tantos problemas a serem enfrentados no decorrer do projeto e com a constante busca pela redução de prazos e custos, o uso de ferramentas de apoio ao gerenciamento de projetos tem se tornado mais freqüente. Assim, este artigo busca esclarecer os pontos importantes que devem ser observados no gerenciamento de projetos, incluindo projetos de software, e apresentar o que uma ferramenta precisa tratar para estar conivente com esses pontos abordados. Ao longo deste artigo serão apresentados conceitos básicos para o gerenciamento de projetos, algumas áreas de conhecimento envolvidas e a aplicação de alguns desses conceitos na construção de uma ferramenta de auxílio à gestão de projetos. 3 GERÊNCIA DE PROJETOS A principal fonte das informações utilizadas foi o Conjunto de Conhecimentos do Gerenciamento de Projetos (PMBOK) – A Guide to the Project Management Body of Knowledge – formulado pelo Project Management Institute (PMI), que reúne as boas práticas na gerência de projetos. 4 A gerência de projetos é um termo que aborda a gestão de qualquer tipo de projeto, desde sócio-econômicos e administrativos até arquitetônicos, incluindo os projetos de software. Para melhor entender o gerenciamento do desenvolvimento de sistemas é importante saber alguns conceitos do gerenciamento de projetos em geral e as áreas de conhecimentos envolvidas na gestão de projetos. 3.1 INTRODUÇÃO À GERÊNCIA DE PROJETOS Segundo o PMI, “um projeto é um esforço temporário empreendido para criar um produto, serviço ou resultado exclusivo” (PMI, 2004, p. 5), ou seja, é um conjunto de atividades realizadas por determinado tempo com o intuito de entregar um produto (final ou componente), uma capacidade de realizar um serviço ou um resultado (de uma pesquisa, por exemplo). Além disso, o projeto é desenvolvido por etapas, ou seja, progressivamente. Cada uma dessas etapas pode ser de iniciação, planejamento, execução, monitoramento (controle) ou de encerramento. As etapas de iniciação envolvem a identificação das necessidades que devem ser atendidas e a determinação dos objetivos a serem alcançados. As etapas de planejamento envolvem a determinação do escopo, prazos, custos, possíveis riscos e restrições, ou seja, é determinado o que deverá ser feito e até quando. As etapas de execução envolvem a realização das atividades determinadas no escopo de acordo com os prazos estabelecidos. As etapas de monitoramento ou controle são realizadas em conjunto com as outras etapas, pois são verificados o cumprimento dos requisitos, custos, prazos e restrições. Em alguns casos há também o controle da qualidade do produto. As etapas de encerramento envolvem a entrega do produto e sua validação final. O gerenciamento de projetos é o acompanhamento de cada uma de suas fases, controlando a realização de cada uma delas e verificando o cumprimento de todos os requisitos. Além disso, ele pode ser dividido em várias áreas como gerenciamento de integração, escopo, tempo, custos, qualidade, recursos humanos, comunicação, riscos e aquisições (PMI, 2004, p. 11). 5 Enfim, a gerência de projetos “é a aplicação de conhecimento, habilidades, ferramentas e técnicas às atividades do projeto a fim de atender aos requisitos” (PMI, 2004, p. 8), em outras palavras, é planejar, organizar e monitorar todo o projeto para atender as necessidades das partes interessadas. 3.2 PROJETOS DE SOFTWARE Os projetos de software são caracterizados pela sua complexidade, pela dificuldade de visualização do produto final e dificuldade de comunicação entre executor e cliente (PRADO, 1999). Além disso, suas etapas são mais específicas, determinadas pelo ciclo de vida – roteiro de trabalho composto pelas macro-atividades do projeto – escolhido para o desenvolvimento do software. A seguir a Tabela 1 relaciona as etapas do projeto com as etapas do ciclo de vida do software. Etapa do Projeto Etapa do Ciclo de Vida Iniciação Especificação dos Requisitos Planejamento; Planejamento Análise; Projeto Execução Implementação Monitoramento Testes Implantação; Encerramento Treinamento; Operação; Manutenção TABELA 1 – relacionamento entre etapas do ciclo de vida e etapas do projeto Na Especificação dos Requisitos, os requisitos são listados e agrupados de acordo com as suas funcionalidades, formando um pré-escopo do projeto. Na fase de Planejamento esse pré-escopo é refinado, os prazos são determinados, as restrições listadas e os custos estabelecidos. Na Análise os requisitos são modelados, avaliados e documentados. Na fase de Projeto os requisitos tecnológicos são acrescentados ao escopo e os modelos são refinados. Na Implementação, a codificação propriamente dita é realizada. Na fase de Teste o sistema implementado é verificado desde o 6 atendimento aos requisitos até o funcionamento em si. Na Implantação o sistema é colocado em ambiente de uso final, os Treinamentos são realizados e o sistema entra em Operação. Na fase de Manutenção, as correções necessárias são feitas e as melhorias solicitadas são acrescentadas. A gerência de projetos de software coordena todo o trabalho de desenvolvimento do sistema, cuidando desde o estabelecimento de tarefas e alocação de recursos para a sua execução, até o monitoramento e controle de cada uma das fases do desenvolvimento. 3.3 ÁREAS DE CONHECIMENTO As áreas de conhecimento em gerenciamento de projetos agrupam processos de gestão. O PMBOK cita nove áreas (PMI, 2004, p. 9): gerenciamento de integração, gerenciamento do escopo, gerenciamento de tempo, gerenciamento de custos, gerenciamento da qualidade, gerenciamento dos recursos humanos, gerenciamento das comunicações, gerenciamento de riscos e gerenciamento de aquisições. Estas e outras mais específicas a projetos de software são descritas a seguir. 3.3.1 Gerência de Integração A gerência da integração descreve os processos e as atividades que integram os diversos elementos do gerenciamento de projetos, que são identificados, definidos, combinados, unificados e coordenados dentro dos grupos de processos de gerenciamento de projetos. É a área responsável pela identificação e gerenciamento dos pontos de interação entre os elementos do projeto e estabelecimento e manutenção da boa comunicação entre esses pontos (VIEIRA, 2003). 3.3.2 Gerência de Requisitos A gerência dos requisitos muitas vezes é incluída dentro da gerência de escopo, mas para melhor entendimento e gerenciamento é importante que seja tratado separadamente devido à importância dos requisitos em projetos de software; como já foi mencionado anteriormente, os requisitos são os principais causadores de problemas durante o desenvolvimento de sistemas. 7 Um requisito é definido como “uma capacidade de software que deve ser disponibilizada por um sistema ou componente de sistema de modo a satisfazer um contrato, padrão, especificação ou outra formalidade imposta” (SAYÃO; BREITMAN, 2005). Ou seja, é uma necessidade, qualidade ou restrição que deve ser atendida pelo software a ser desenvolvido, definindo o comportamento, propriedade e atributos do sistema. Já o escopo, descrito mais a seguir, envolve não somente os requisitos, mas todo trabalho e todos os processos da geração dos resultados do projeto. O levantamento e especificação dos requisitos podem levar o desenvolvimento de um sistema para diferentes rumos, ou seja, uma interpretação errada ou esquecimento de algum detalhe importante de uma necessidade do cliente pode gerar sérios problemas para que o sistema atenda seu propósito. Assim, os cuidados com o levantamento e alterações de requisitos ao longo do desenvolvimento devem ser cautelosos e muito bem gerenciados. 3.3.3 Gerência de Escopo A gerência do escopo descreve os processos envolvidos na verificação de que o projeto inclui todo o trabalho necessário, e apenas o trabalho necessário, para que seja concluído com sucesso. O escopo é todo trabalho envolvido na criação dos resultados do projeto (VIERA 2003). É a área responsável também pela gestão das mudanças. 3.3.4 Gerência de Tempo A gerência do tempo descreve os processos relativos ao término do projeto no prazo correto. Envolve o controle das atividades para cumprimento do cronograma (VIEIRA, 2003) e a confirmação dos marcos do projeto dentro das estimativas de prazo. Os marcos são acontecimentos no projeto que separam uma fase ou atividade de outra. 3.3.5 Gerência de Custos A gerência dos custos descreve os processos envolvidos em planejamento, estimativa, orçamentação e controle de custos, de modo que o projeto termine dentro do orçamento aprovado. Em projetos de sistemas, pode ser bem mais crítico do que nos demais, principalmente, se os requisitos e o escopo ainda não estiverem bem definidos. Outra situação que pode gerar problemas é na utilização de novas tecnologias, onde os riscos são maiores. O importante é não determinar custos antes 8 da definição dos requisitos e do escopo, além de estudar muito bem a tecnologia que será utilizada (VIEIRA, 2003). 3.3.6 Gerência de Qualidade A gerência da qualidade descreve os processos envolvidos na garantia de que o projeto irá satisfazer os objetivos para os quais foi realizado, que inclui a satisfação dos clientes e usuários finais. A qualidade está diretamente ligada ao cumprimento dos prazos e custos, pois é o que caracteriza um serviço de boa qualidade na visão do cliente. Além disso, também está ligada ao atendimento das necessidades do usuário final e à performance do sistema, em alguns casos (VIERA, 2003). 3.3.7 Gerência de Recursos Humanos A gerência dos recursos humanos descreve os processos que organizam e gerenciam a equipe do projeto. Sendo uma das principais fontes da produtividade no desenvolvimento de sistemas, a gestão e o planejamento das pessoas envolvidas no projeto é fundamental, principalmente para que não haja problemas quanto prazo (VEIRA, 2003). 3.3.8 Gerência de Comunicações A gerência das comunicações descreve os processos relativos à geração, coleta, disseminação, armazenamento e destinação final das informações do projeto de forma oportuna e adequada (VIEIRA, 2003). Junto com a gerência de integração, forma o canal entre todas as áreas da gerência de projetos. Esta área refere-se à comunicação entre todas as pessoas envolvidas no projeto, e é responsável por divulgar alterações de escopo, prazo, custo ou qualquer outro tipo de informação relacionada ao projeto. A boa comunicação no projeto poder definir o resultado dele. Por exemplo, se o cliente pede a alteração de um requisito, mas o desenvolvedor não é comunicado e o cliente só percebe na implantação que a alteração não foi realizada, recursos podem ter sido gastos sem necessidade e talvez seja necessário gastar ainda mais recurso para atender o cliente. 3.3.9 Gerência de Riscos A gerência de riscos descreve os processos relativos à diminuição da probabilidade e dos impactos dos eventos adversos ao objetivo do projeto. Além de aumentar a probabilidade da ocorrência de eventos positivos para o projeto (VIEIRA, 2003). A 9 gestão dos riscos envolve desde medidas de segurança (backup, por exemplo) até o planejamento de ações contra imprevistos ou possíveis acontecimentos que impactem na boa fluidez do projeto, por exemplo a demissão de um funcionário que estava cuidando de uma parte crítica do sistema. 3.3.10 Gerência de Aquisições A gerência das aquisições descreve os processos que compram ou adquirem produtos, serviços ou resultados, além dos processos de gerenciamento de contratos (VIEIRA, 2003). É o gerenciamento de ferramentas, software, hardware ou qualquer equipamento necessário na realização das atividades do projeto. 4 FERRAMENTAS DO MERCADO Existem diversas ferramentas no mercado que dão suporte ao gerenciamento de projetos, muitas já são muito utilizadas como o Microsoft Project. Na gerência de projetos de software o Primavera e o NetOffice também são muito usados. A seguir, temos a descrição de algumas dessas ferramentas do mercado. 4.1 MICROSOFT PROJECT O Microsoft Project é um software proprietário de gestão de projetos. É muito utilizado em diversos ramos do mercado. Com ele pode-se gerenciar recursos (humanos ou materiais), fazer alocação de tarefas, gerenciamento de tempo, gerenciamento de custos, relacionar tarefas, obter caminho crítico, obter linha de base, gerar relatórios, entre outras funcionalidades. A Figura 1 ilustra o ambiente do Microsoft Project. 10 Figura 1 – Tela do Microsoft Project (Fonte: POPPI, 2006). 4.2 GP3 O GP3 (Gestão de Processos, Projetos e Pessoas) é um software proprietário de gerenciamento de projetos desenvolvido pela empresa PROAGE. Ele é totalmente baseado na WEB e serve para o controle e gerenciamento de projetos e atividades, desenvolvidas por pessoas em diversos locais ou em um mesmo ambiente. Permite que seja feito o controle dos prazos das atividades, tomando-se também um gerenciador de processos. O GP3 proporciona o gerenciamento de vários projetos ao mesmo tempo; possui um controlador de usuários, onde estes vêem o andamento de todas as atividades, mas só podem alterar as suas. Ele envia automaticamente mensagens de e-mail para a equipe do projeto avisando-a quais atividades devem começar ou terminar e quais estão atrasadas. Possui uma área de arquivos usada como um repositório central de documentos, onde a equipe tem os arquivos mais recentes do projeto. Oferece também um cadastro de clientes, que recebem uma senha de acesso ao GP3, 11 podendo assim verificar o andamento do projeto. A tela principal do GP3 é apresentada na Figura 2. Figura 2 – Tela do GP3 4.3 PRIMAVERA O Primavera Project Planner, ilustrado na Figura 3, é um amplo software proprietário de gerenciamento de projetos, que permite uma visão completa através de relatórios gerais de custos, detalhamento de estruturas analíticas do projeto, controle dos prazos, análise de risco, entre outras funcionalidades. Possibilita grande flexibilidade de gerenciamento utilizando bancos de dados relacionais, permitindo comparações e análises de andamento do empreendimento. Com seu ambiente web, os membros da equipe podem acessar com facilidade relatórios, gráficos e qualquer informação do projeto. Possui ainda ferramentas adicionais de comunicação dos membros da equipe, atualização de atividades e apontamento de horas e recursos gastos. Auxilia no planejamento de projetos e ajuda a otimizar recursos. Outras características gerais seriam: multiusuário, multi-projeto, gráficos de Gantt, histograma de recursos, 12 visões de acompanhamento, despesas, riscos, notas, documentos, níveis de segurança globais ou por projeto. Figura 3 – Tela do Primavera 4.4 NETOFFICE O NetOffice, ilustrado na Figura 4 é um software opensource gerenciador de projetos multi-usuário com interface em português (brasileiro). Com ele toda equipe pode acompanhar o andamento dos projetos e têm espaço para organizá-los como listas de favoritos. Permite o cadastro de clientes, contatos, projetos, tarefas e equipes, controle de tarefas, anexar documentos, envio de e-mails, emissão de relatórios, fórum, entre outras funcionalidades. Além disso, permite o registro e controle do atendimento de suporte (chamados). Por ser um software livre permite alterações e personalizações, mas não é muito fácil de ser instalado por iniciantes. 13 Figura 4 – Tela do NetOffice 4.5 DOTPROJECT O DotProject é uma aplicação web para gerenciamento de projetos baseada em software livre. Através do DotProject é possível cadastrar empresas, cadastrar projetos, cadastrar atividades, cadastrar usuários, compartilhar arquivos através do repositório de documentos, e visualizar o calendário de atividades. Permite gerenciar tempo, gerenciar a elaboração progressiva do projeto e visualizar o gráfico de Gantt. O DotProject permite que o gerente acesse relatórios de um determinado projeto contendo informações, tais como: quantidade de horas alocadas por usuário, andamento e situação das atividades, lista de tarefas e desempenho da equipe. Oferece ainda fóruns de discussão, lista de contatos, e a funcionalidade “Chamados” que permite ao cliente do projeto registrar suas considerações sobre o mesmo. A Figura 5 ilustra a interface do DotProject com a tela Editar Projeto. Visualiza-se, na parte superior, a barra de menus com as principais funcionalidades do sistema e, logo abaixo, os campos onde o usuário digita as informações do projeto juntamente com os botões “cancelar” e “salvar” (DOTPROJECT). 14 Figura 5 – Tela do dotProject 4 PESQUISA DE CAMPO Com o intuito de obter mais informações a respeito do gerenciamento de projetos realizado nas empresas do Espírito Santo, iniciei uma pesquisa sobre este assunto. Nesta pesquisa estão sendo levantadas informações como quais as ferramentas mais utilizadas, quais áreas da gestão de projetos têm sido tratadas por essas ferramentas, quais as características das empresas que utilizam os conceitos de gerenciamento de projetos, entre outras. Levando em consideração que uma pesquisa de tal amplitude não poderia ser finalizada em poucos meses, cabe ressaltar que é referente a uma pequena amostra das várias empresas da área, o que impossibilita afirmações conclusivas, mas apresentam indícios sobre o cenário local. Trinta empresas foram selecionadas para a pesquisa através da lista telefônica e o site da TEC Vitória (http://www.tecvitoria.com.br), e são atuantes da área de desenvolvimento de sistemas. Essas empresas receberam por e-mail um questionário (descrito no Apêndice B). Até o dia 27 de Maio de 2008, sete empresas responderam a pesquisa, quatro delas foram entrevistas pelo telefone e duas permitiram uma visita 15 técnica. A seguir, tem-se os resultados parciais da pesquisa, referente às sete empresas entrevistadas. 4.1 CARACTERÍSTICAS DAS EMPRESAS Foi constatado que as empresas de desenvolvimento de sistemas do Espírito Santo geralmente são micro-pequenas empresas, com menos de 100 funcionários. Cinco das empresas existem a mais de dez anos. Seus sistemas atendem diferentes setores do mercado, mas principalmente comércio, transporte, siderurgia e área pública (prefeituras e câmaras). Quanto às certificações, seis empresas possuem a SGQ-TEC, duas possuem a ISO 9001:2000, duas possuem a PRODFOR e duas não possuem nenhuma certificação. Uma das empresas está em processo de certificação da CMMI, enquanto outra já a possui. 4.2 NORMAS E PADRÕES UTILIZADOS PELAS EMPRESAS Dentre as normas e padrões mais utilizados estão o PMI PMBOK®, ITIL e ISO 12207. Mas, geralmente, essas normas e padrões são utilizados apenas conceitualmente, raramente estão implementadas nas funcionalidades das ferramentas de gerenciamento; às vezes, não são usadas nem nos processos da empresa, apesar de elas alegarem que conhecem e usam no dia-a-dia. Dentre as áreas da gerência de projetos a menos utilizada nas empresas é a Gerência de Aquisições. Mas as empresas alegam atender às nove áreas do PMBOK®, sendo que as ferramentas de apoio ao gerenciamento geralmente atuam somente nas áreas de gerência de tempo, de recursos humanos e de qualidade. 4.3 FERRAMENTAS UTILIZADAS PELAS EMPRESAS 16 O Microsoft Project é utilizado por 100% das empresas, e quatro delas utilizam também uma ferramenta desenvolvida por elas, e as restantes utilizam alguma ferramenta já existente no mercado (geralmente opensource). Cinco empresas alegam que a ferramenta é utilizada somente para conseguir algum controle sobre o projeto, e ainda utilizam planilhas e documentos de texto para os controles diários. Poucos são os cálculos realizados e indicadores gerados pelas ferramentas, geralmente elas são usadas apenas para registros simples e algumas comunicações casuais. 4.4 O PAPEL DO GERENTE DE PROJETOS NAS EMPRESAS Três das empresas possuem o gerente de projetos atribuído como função a algum funcionário e quatro delas possui o gerente de projetos como cargo definido na empresa. Mas em ambos os casos, raras são as empresas em que o gerente de projetos realmente desempenha o seu verdadeiro papel, que é de gerenciar e acompanhar o projeto atuando em todas as áreas da gerência buscando sempre o cumprimento dos prazos, dos orçamentos e garantindo o cumprimento do escopo e da qualidade determinada. Segundo Susan Snedaker (2006), ter um gerente de projetos com experiência e atuando somente no seu papel é o terceiro na lista dos oito fatores de sucesso para os projetos de sistemas – a lista dos fatores de sucesso é composta (respectivamente) por: apoio executivo, envolvimento do usuário, gerente de projetos com experiência, objetivos do projeto claramente definidos, escopo menor e bem definido, cronogramas menores e marcos múltiplos, processo de gerenciamento claramente definido e padronização da infra-estrutura. 4.5 CONSIDERAÇÕES IMPORTANTES Mesmo com o pequeno número de empresas que responderam a pesquisa, já se pode constatar o quanto as empresas de desenvolvimento de sistemas do Espírito Santo são imaturas quanto ao gerenciamento de projetos. Somente nos últimos três anos, as empresas tem começado a se preocupar com isso, têm buscado certificações e têm, às vezes, terceirizado o serviço de gerência de projetos – caso de uma das empresas 17 que responderam. Mesmo entendendo essa necessidade, ainda não estão completamente dispostas a gastar recursos com isso. Até o papel do gerente de projetos não têm sido bem desempenhado na maioria das empresas. Mesmo com essa aversão ao investimento que, geralmente, só traz resultados ao longo prazo, algumas dessas empresas têm preferido desenvolver suas próprias ferramentas de gerenciamento, principalmente devido ao alto investimento necessário na aquisição das ferramentas já existentes no mercado e devido às ferramentas opensource disponíveis não se adequarem aos seus processos. Enfim, as empresas têm atuado como podem no desenvolvimento de sistemas, mas têm buscado o aperfeiçoamento dos seus processos. Só resta o apoio dos executivos para que os padrões possam ser definidos e adequados às empresas, através dos investimentos necessários. 5 SISTEMA PROPOSTO A ferramenta foi desenvolvida com o intuito de possibilitar um melhor suporte aos projetos de software. A escolha de suas funcionalidades foi feita baseada na realidade das empresas do Espírito Santo mencionada no capítulo anterior – gerenciam apenas tempo, recursos humanos e qualidade –, e também foi realizada para atender uma demanda mais urgente da empresa em que o sistema hoje é utilizado. Cabe ressaltar, que é importante o gerenciamento eficaz dos projetos e que o uso da ferramenta vem apenas facilitar ou complementar essa gerência. 5.1 CONTEXTO DO SISTEMA A ferramenta é Web e é descrita como a seguir. Para cada projeto existe uma pessoa responsável (o gerente), que possui permissão total para cada funcionalidade da ferramenta (cadastrar, alterar, consultar, excluir). A ferramenta possibilita o cadastro de informações, lançamentos das horas trabalhadas, 18 acesso às documentações do Escritório da Qualidade e divulgação de informações administrativas. Os cadastros possíveis são de Atividades, Clientes, Funcionários, Níveis de importância, Projetos, Tarefas. As Atividades são as fases possíveis para uma tarefa. Dos Clientes cadastra-se a razão social e um apelido; pode ainda cadastrar funcionários desses clientes informando o nome, a matricula, o e-mail e telefone. Dos Funcionários informa-se nome, usuário, telefone, número de horas diárias e ramal. Dos Níveis de Importância informa-se a descrição, o valor de importância e o timeout dos chamados. Das Tarefas informa-se a descrição, data de inicio previsto e real, data de término previsto e real, funcionários alocados, fases da tarefa, suas subtarefas (por exemplo, especificação de requisito, layout, query SQL, codificação, teste, correção, entre outros) e a duração. As subtarefas são compostas igualmente às tarefas. Dos Projetos, informa-se a referência, o cliente, a descrição, inicio previsto, inicio, final previsto e final. Os chamados possuem as seguintes informações: título, requisitante, início, nível de importância, ocasionador, número do chamado do cliente, data limite entrega e descrição. Os chamados podem estar classificados nas seguintes situações: Aberto, Cancelado, Andamento, Aguardando validação, Pendente, Aguardando Informações, Encerrado, Aguardando Atendimento, Aguardando Sol. Final, Andamento Sol. Final e Finalizado. Assim como os chamados, as melhorias possuem as mesmas funcionalidades. As diferenças são as informações que são salvas: título, requisitante, nível de importância, ocasionador, número da melhoria do cliente, início e descrição. Depois do preenchimento o usuário poderá salvar as informações ou cancelar o cadastro. Os lançamentos de hora, ou apontamentos, são os registros das horas trabalhadas que servirão de base histórica para a análise de projetos futuros e para negociação com os clientes, através dos relatórios que o sistema emite. O relatório refere-se aos apontamentos realizados em um conjunto de projetos em determinado período. Outro relatório utilizado em negociações com os clientes é gráfico dos chamados. 5.2 OBJETIVOS GERAIS A ferramenta possui os seguintes objetivos: 19 • Gerenciamento de usuários: pois é um sistema multi-usuário – que permite mais de um usuário ao mesmo tempo; • Gerenciamento de Clientes (empresas); • Gerenciamento de Projetos e Tarefas; • Gerenciamento de Chamados e Melhorias; • Controle de permissões: controle ao acesso das informações, assim como a novos cadastros, alterações e exclusões. 5.3 PROTÓTIPOS DAS TELAS DO SISTEMA PROPOSTO Para melhor ilustrar o sistema desenvolvido, a seguir estão algumas das telas do sistema. A Figura 6, ilustra a tela inicial do sistema Figura 6 – Tela Inicial 20 Figura 7 – Tela Cadastro Tarefas 21 Figura 8 – Tela Lançamentos Apontamentos 22 Figura 9 – Tela Atendimento Chamados 23 Figura 10 – Tela Relatório Gráfico Chamados por Dia 6 AVALIAÇÃO DA FERRAMENTA Para ilustrar o uso de uma ferramenta de auxílio ao gerenciamento de projetos e os problemas que a mesma pode causar no dia-a-dia dos seus usuários, foi realizada uma avaliação da ferramenta proposta. Como a ferramenta é utilizada há um ano podemos avaliá-la através dos registros feitos e através da opinião dos usuários. A seguir temos os detalhes dessa avaliação. Até Maio de 2008, a ferramenta era utilizada por 41 pessoas e possuía 23 projetos registrados. Na Figura 29, está ilustrado um gráfico comparativo entre o 24 primeiro (2006-2007) e o segundo (2007-2008) ano de uso, e refere-se à média de apontamentos por dia de cada mês. Figura 29 – Gráfico: Média diária de apontamentos A Figura 30 ilustra o gráfico do número de chamados registrados por mês durante os meses de Maio de 2007 e Abril de 2008. Figura 30 – Gráfico: Número de chamados registrados por mês No dia 10 de Janeiro de 2008, foi realizada uma avaliação dos apontamentos de horas que constatou o resultado descrito no gráfico da Figura 31, que indica o número de funcionários que apontaram determinada porcentagem das suas horas totais de trabalho no período de 01/11/2007 à 31/12/2007. 25 Figura 31 – Gráfico: Funcionários e suas porcentagens de horas apontadas Para os funcionários que apontaram menos de 70% da sua carga horária referente aos 2 meses do período em questão, foi questionado o motivo pelo não apontamento de suas horas. Os motivos estão listados na Figura 32, junto com o número de funcionários que o deram como resposta ao questionamento. Figura 32 – Gráfico: Motivos para o não apontamento A opinião dos usuários quanto à ferramenta pode ser considerada favorável, mas a opinião de boa parte dos usuários é que a ferramenta poderia ser mais otimizada e evitar que as burocracias fossem exaustivas. Por exemplo, que a ferramenta carregasse os chamados a partir do e-mail de suporte ou que os clientes pudessem cadastrar diretamente na ferramenta os chamados. Outra sugestão dada é 26 que a navegação do sistema fosse mais fácil e rápida. Os gráficos a seguir detalham melhor a opinião do usuário, obtida numa pesquisa mais recente. O usuário foi questionado quanto “O que você acha da ferramenta?” (Figura 33), “Que incentivo gostaria de ter para usar a ferramenta?” (Figura 34), “O que falta na ferramenta?” (Figura 35) e “Se tivesse um tempo diário para usar a ferramenta, você usaria sem problemas?” (Figura 36). Figura 33 – Gráfico: “O que você acha da ferramenta?” Figura 34 – Gráfico: “Que incentivo gostaria de ter para usar a ferramenta?” 27 Figura 35 – Gráfico: “O que falta na ferramenta?” Figura 36 – Gráfico: “E se tivesse um tempo para usar a ferramenta?” 7 CONSIDERAÇÕES FINAIS Para facilitar a gerência de projetos de software utiliza-se ferramentas que ajudam a diminuir os problemas enfrentados ao desenvolver os projetos. Essas ferramentas possibilitam ao usuário o controle das atividades desempenhadas durante o desenvolvimento. Mas, além disso, o uso de técnicas e normas são muito importantes para a aplicação da gerência. A Tabela 5, a seguir, faz um comparativo entre as ferramentas utilizadas no mercado (apresentadas neste artigo) . Como é possível ver, existem ferramentas muito completas, mas raras são aquelas que dão algum suporte ao gerenciamento de 28 projetos de software, abordando gerência de requisitos, por exemplo. Além disso, o custo do investimento a ser feito na ferramenta geralmente dificulta ainda mais a sua aquisição, além de sua adequação aos processos da empresa dificilmente acontecer. TABELA 5 – COMPARATIVO ENTRE FERRAMENTAS DO MERCADO CARACTERÍSTICAS MS PROJECT GP3 PRIMAVERA NETPROJECT DOTPROJECT Tipo de Licença Paga paga paga gratuita gratuita Web / Desktop Desktop Web web web web Interface Adaptada ao Usuário Não Sim sim sim sim Geração de Gráficos gantt; pert/com gantt gantt gantt gantt Controle de Alocação de Pessoas Sim Sim sim sim sim Gerenciamento de Custos Sim Sim sim sim não Gerenciamento de Riscos Não Sim sim não não Calendário / Agenda sim (Outlook) Sim sim sim sim Relatórios Sim Sim sim sim sim Controle de Usuários Não Sim sim sim sim Comunicação entre usuários e-mail e-mail e-mail e-mail; discussões e-mail; fórum Controle de arquivos Não Sim sim sim sim Permite Acompanhamento do Cliente não Sim sim não sim Controle de projetos sim e subprojetos Sim sim sim sim Bug Report não Não sim sim sim Comparativos entre Projetos não Sim sim sim sim Para auxiliar o desenvolvimento de sistemas, cada vez mais, há a necessidade do constante aperfeiçoamento da ferramenta. Devido a isso, muitas empresas de desenvolvimento têm construído suas próprias ferramentas. É importante ressaltar que somente o uso de uma ferramenta não garante a completa redução dos problemas do desenvolvimento de software. Visto que, é importante também aderir os conhecimentos descritos normas ou padrões – como os da PMI, com o PMBOK®. O estudo realizado neste trabalho levantou a importante necessidade de um bom gerenciamento de projetos e seus requisitos, e abre espaço para a realização de novos trabalhos na área. Além disso, possibilitou a aplicação dos conhecimentos adquiridos na empresa onde trabalho. SOFTWARE PROJECTS MANAGEMENT ABSTRACT 29 Software developers face a great challenge in project management. Scope, requirements, estimates, interface design, quality, performance, usability and threats, among other factors, must be well managed to fulfill the interested people’s expectations. To minimize those problems, there are numerous tools to help software development management, supporting mainly the task management of the various actors on the development process (programmers, designers, managers, etc). Most of those tools are used in specific activities of development -- task management, document management, budget (based on function point, code lines or other metrics) -and not on the development process as a whole. The objective of this graduation project is to emphasize the importance of managing the software projects. For this, a search was conducted to know how development systems companies from Espírito Santo (Brazil) have been managing their projects and an assessment of the impact of the use of a tool (also described in this paper) to aid the process of management time, human resources and customer service and called for improvements. Keywords: Projects Management, Projects of Software, Productivity, Software Development, Quality. REFERÊNCIAS BIBLIOGRÁFICAS DOTPROJECT. Project Management Software. http://www.dotproject.com.br Acesso em: 26 abr. 2007. Disponível em: GARCIA, Francilene Procópio. Ferramentas para Desenvolvimento e Verificação de Aplicações. 2007. Disponível em: www.dsc.ufcg.edu.br/~patricia/pct/aula12/Ger_Processo.ppt Acesso em: 9 fev. 2007. PMI. Um Guia do Conjunto de Conhecimentos em Gerenciamento de Projetos (Guia PMBOK®). 3. ed. Belo Horizonte: Project Management Institute (PMI-MG), 389p., 2004. POPPI, Claudio Teles. Apostila de Microsoft Project 2003. 2006. Disponível em: http://www.portalproject.k6.com.br Acesso em: 13 set. 2007. PRADO, Darci Santos. Gerência de Projetos em Tecnologia de Informação. Série Gerência de Projetos. 5. vol. Belo Horizonte: Editora de Desenvolvimento Gerencial, 1999. 30 SAYÃO, Miriam; BREITMAN, Karin Koogan. Gerência de Requisitos. Mini-Curso do 20º SBBD e 19º SBES, 2005. SNEDAKER, Susan. Como ter sucesso em gestão de projetos. São Paulo: Digerati Books, 2006. STANDISH GROUP. The Chaos Report 2004. Dados disponíveis em: http://projetos.prodesp.sp.gov.br/sites/MS_ProjectServer_PublicDocuments/Shared%2 0Documents/Palestra%20Bases%20e%20Desafios%20do%20Gerenciamento%20de %20Projetos.pdf Acesso em: 22 ago. 2007. TENSTEP. Os Cinco Erros Cometidos em Gerenciamento de Projetos. 2007. Disponível em: http://www.tenstep.com.br/br/open/Marketing/OsCincosErrosComunsCometidosemGP. pdf Acesso em: 30 mar. 2007. VIEIRA, Marconi. Gerenciamento de Projetos de tecnologia de informação. Rio de Janeiro: Elsevier, 2003.