universidade federal de santa catarina - Projetos

Propaganda
UNIVERSIDADE FEDERAL DE SANTA CATARINA
DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA
CURSO DE SISTEMAS DE INFORMAÇÃO
Desenvolvimento de um Sistema para Planejamento de Projetos de
Software em Micro e Pequenas Empresas
Luis Henrique Spoladore Amaral
Resumo do trabalho de conclusão de
curso de Rafael Savi em Ciência da
Computação – UFSC.
Florianópolis - SC
2005/2
O trabalho de conclusão de curso estudado descreve o desenvolvimento de um
Sistema de Planejamento de Projetos de Software em Micro e Pequenas empresas,
implementando um modelo que permita a obtenção de cronograma e custos realísticos
considerando as características de tais empresas.
As micro e pequenas empresas correspondem de 60% a 70% das empresas do
setor de software do Brasil. Têm como principais características: pouca experiência
acumulada, equipe pequena exigindo que o pessoal assuma vários papéis, foco principal
no desenvolvimento de produtos , falta de atividades de gerência, de aperfeiçoamento dos
processos e do controle de qualidade.
Quanto ao ciclo de vida de um software é importante ressaltar que o custo de
manutenção é muito alto. 75% dos sistemas não funcionam como o planejado ou nunca
serão usados, 57% dos sistemas são entregues sabendo que eles têm defeitos. A falta de
planejamento e de controle provoca atraso na entrega do produto, de qualidade duvidosa,
o que implica em desperdício de trabalho. 68% dos projetos não mantêm os prazos. Com
uma produção ineficiente a empresa deve se dedicar aos problemas causados por falta
de organização, impossibilitando seu crescimento já que não consegue administrar um
número crescente de clientes. A falta de controle de qualidade permite que sejam gerados
sistemas defeituosos que deverão ser ajustados durante a fase de manutenção que é
cara.
Tais problemas podem ser explicados em grande parte pela falta de atividades de
gerência. Entre as micro empresas apenas 30% a 35% possuem atividades de gerência e
entre as pequenas empresas, 40% possuem tais atividades. Alguns dos motivos
levantados para essa falta de gerência são falta de experiência da equipe, falta de
recursos, já que todos estão alocados para a produção, e ainda a falta de uma
metodologia de desenvolvimento.
O objetivo do trabalho é desenvolver um sistema de planejamento de projetos de
software adaptado às necessidades e características específicas de micro e pequenas
empresas, visando facilitar o estabelecimento, aumentar a qualidade dos produtos e
melhorar a produtividade e organização através de um planejamento sistemático. Está
delimitado apenas às atividades de fase de planejamento e na gerência de projetos de
software.
Foram levantadas as definições dos conceitos básicos de gerência de projetos de
software:
Projeto: “um projeto é um empreendimento temporário com o objetivo de criar um
produto ou serviço único.”
Gerência de Projetos: “é a aplicação de conhecimentos, habilidades e técnicas para
projetar tarefas que visem atingir ou exceder as necessidades e expectativas das partes
envolvidas em um projeto.”
Processo: “é um conjunto de tarefas cujo objetivo principal é o desenvolvimento ou
evolução de um produto.”
Os processos podem ser agrupados em: processos de iniciação, processos de
planejamento, processos de execução, processos de controle e processos de
encerramento. No trabalho foram abordados os processos de planejamento.
Planejamento: “planejamento é a destinação de recursos avaliados visando atingir
determinados objetivos a curto, médio ou longo prazo.”
Work Breakdown Structure – WBS: “Modelo que formula um diagrama hierárquico
(na forma de uma árvore) cuja finalidade é explicitar as etapas de trabalho que são
necessárias para alcançar algum objetivo maior e, em última análise, o objetivo do projeto
(FIALHO, 1988).”
Após definidas as tarefas do projeto, pode-se estimar uma duração total para o
mesmo. Essa estimativa, no entanto, será refinada após a etapa de sequenciamento das
tarefas, onde são identificadas as interdependências das tarefas definidas.
O WBS pode ser utilizado para especificar a definição de um projeto. No nível mais
alto está a definição do projeto. Depois de refinado passa-se as definições das tarefas,
depois recursos, custos e finalmente o resultado das tarefas. Após definidas as etapas do
projeto e o sequenciamento das mesmas pode-se estimar uma duração total do projeto.
Para apresentar a interdependência entre as tarefas a principal ferramenta adotada é o
diagrama PERT.
Project Evaluation and Review Technique – PERT : “Representação gráfica que
consiste em uma rede onde as atividades e eventos do projeto são apresentados na
forma de um grafo direcional (FIALHO, 1988) ponderado onde os vértices são os eventos
e as arestas as atividades cujos pesos representam suas durações. O caminho máximo
entre a fonte (vértice que representa o início do projeto) e o sumidouro (vértice que
representa o término do projeto) indica o caminho crítico cujo comprimento ponderado
indica o tempo mínimo no qual o projeto pode ser executado.”
Depois do sequenciamento e verificação das interdependências entre as tarefas é
possível definir um cronograma. O diagrama de Gantt é a ferramenta mais utilizada para
apresentação do mesmo.
Diagrama de Gantt: “Representação gráfica que apresenta o cronograma na forma
de um gráfico de barras horizontais, onde o eixo horizontal representa o tempo e o vertical
as tarefas.”
Após o estudo bibliográfico e análise das necessidades das micro e pequenas
empresas foram levantados os requisitos para o sistema. A seguir alguns deles: O
Sistema deverá suportar o processo de planejamento de um Projeto de Software:
caracterização da empresa, caracterização e metas do Projeto, Work Breakdown
Structure (WBS), seleção de ferramentas e modelos técnicos , estimativa de esforço e
duração utilizando Pert Chart e Gantt Chart, alocação de Pessoal, estimativa de Custos,
gerar Relatórios, deverá ser apresentado como uma aplicação passo-a-passo, de uso
intuitivo e de fácil aprendizado, não exigindo conhecimentos específicos.
Na fase de pesquisa do estado da arte foram estudados alguns softwares existentes
de gerência de projetos e depois comparados com os requisitos levantados para o
sistema desejado. Dentre as categorias de softwares encontrados pode-se citar:
softwares muito completos, porém muito caros e complexos para mirco e pequenas
empresas, softwares para projetos mais genéricos que não atendem as necessidades dos
projetos de software, softwares que abrangem apenas parte do processo de
desenvolvimento de software. Os softwares analisados foram: Microsoft Project,
Primavera Project Planner, Delegator e Bliner. Após a análise conclui-se que nenhum
software existente atende todos os requisitos levantados para o sistema de planejamento
de projetos de software para micro e pequenas empresas.
Durante o processo de planejamento do projeto de software foi necessário encontrar
um modelo de processos de software. Os modelos de processos de software mais
conhecidos são direcionados para as grandes empresas.
Modelos sofisticados e
complexos demais para a realidade das micro e pequenas empresas de software que
normalmente optam em não utilizá-los.
O processo de planejamento adotado foi o modelo proposto por Gresse von
Wangenheim, no Working Paper “Planejamento de Projetos de Software em Micro
Empresas”.
Os processos essenciais de planejamento incluem: caracterização da
empresa, caracterização do projeto e dos objetivos, definição das tarefas, definir
dependências entre tarefas, alocação de pessoal, estimativa de esforço, estimativa de
cronograma e orçamento dos custos.
Após o levantamento de requisitos, análise de softwares relacionados existentes e
estudo dos processos de planejamento, iniciou-se o desenvolvimento da ferramenta
SisGerente. Foi desenvolvido utilizando o paradigma de programação orientado à objetos
em linguagem Smalltalk. A arquitetura se divide em três níveis: sistemas de arquivos,
classes de bases e interfaces.
Como forma de exemplificação foi exibido um caso prático de aplicação do sistema.
Os principais passos citados durante a utilização do sistema foram: definição dos dados
gerais (nome, área de atuação) da empresa, configuração do modelo WBS, cadastro dos
funcionários juntamente com os horários de trabalho de cada um, criação de um projeto,
definição das tarefas e suas dependências, exibição do diagrama Pert, alocação de
pessoal e estimativa de esforço,
visualização do caminho crítico, visualização do
cronograma do projeto, estimativa de custo, esforço e duração.
Concluiu-se que o software tem potencial para auxiliar as micro e pequenas
empresas a diminuírem vários de seus problemas. Foram levantadas algumas
recomendações futuras como: representações gráficas de Gantt Chart, módulos para
trabalhar com todo processo de controle e monitoria de projetos e ainda acompanhar a
utilização do SisGerente em algumas empresas e verificar sua influencia na gerencia de
projetos.
Através deste trabalho foi possível compreender alguns conceitos relacionados a
gerência de projetos e também quanto ao estado da arte dos softwares existentes. Foi
enfatizada a importância das atividades de gerencia e os problemas existentes pela falta
das mesmas. Está claramente descrito o processo de desenvolvimento do software desde
análise de requisitos, estudo de modelos de gerência, projeto do software, implementação
e finalmente a exemplificação de um caso prático de uso.
Bibliografia
Savi, Rafael. Desenvolvimento de um Sistema para Planejamento de Projetos de
Software em Micro e Pequenas Empresas. 2002. Trabalho de conclusão de curso Ciências da Computação - Universidade Federal de Santa Catarina.
FIALHO, Lúcio Leão. Tasker: Sistema de Coordenação de Equipes. 1998. 128f..
Dissertação (Mestrado em Ciências) - Engenharia de Sistemas e Computação – UFRJ.
Rio de Janeiro.
Download