Faça deste artigo

Propaganda
A gestão de projetos na area de desenvolvimento de software
Freise Andrade
1. Introdução Projetos de desenvolvimento de software historicamente são caracterizados por
atrasos, descuidos com o orçamento, e resultados muito abaixo das expectativas dos clientes e
usuários finais. O acúmulo destas falhas acaba provocando por sua vez, retrabalho, solução
quebra-galho e consertos. Dentro deste cenário este artigo visa analisar os erros mais comuns que
acontecem durante a execução de um projeto de desenvolvimento de software e relacioná-los com
os processos descritos pelo PMBOK que podem auxiliar na mitigação ou ate na eliminação de tais
erros, e desta forma reduzir o número de insucessos e aumentar a probabilidade de realizar
projetos de desenvolvimento de softwares que atendam aos parâmetros de custo, prazo, qualidade
e o mais importante, atendendo as expectativas dos clientes e usuários.
2. Desenvolvimento 2.1 Definindo projeto Segundo o PMBOK (2008), um “projeto é um
esforço temporário empreendido para criar um produto, serviço ou resultado exclusivo”. A
natureza temporária implica que o projeto tem início e fim definidos. Assim, dado um objetivo, que
pode ser um produto, um serviço ou um resultado, é necessário planejar as ações necessárias para
atingir este objetivo, que devem ser realizadas entre as datas de início e término definidas ou a
serem estabelecidas. Para executar estas ações, são alocadas pessoas e outros recursos,
conforme o orçamento disponível e o produto, serviço ou resultado devem atender aos níveis de
qualidade estabelecidos. 2.2 Porque os projetos de desenvolvimento de software falham A maioria
dos projetos de software falham, de acordo com os relatórios do Standish Group relatam que mais
de 80% dos projetos são finalizados sem sucesso por estarem acima do orçamento, do prazo, não
atendendo aos requisitos ou a combinação destes fatores. Além disso, 30% dos projetos de
software são tão mal executados que eles são cancelados antes da sua conclusão. DINSMORE
(2001) apresentou uma lista dos “pecados clássicos” que levam um projeto de
desenvolvimento de software ao fracasso: Pecado 1: Não começar o projeto pelo início ...
particularmente no que diz respeito aos requisitos do sistema a ser desenvolvido e o escopo do
trabalho a ser realizado para construir o sistema aplicativo. Pecado 2: Definição ambígua dos
requisitos do sistema e do escopo do trabalho ... A clara fixação do escopo do trabalho garante que
todo o trabalho necessário será realizado e elimina a realização de trabalho desnecessário.
Pecado 3: Não gerenciar mudanças nos requisitos do sistema e no escopo do trabalho ... Pecado
4: Utilizar profissionais de TI com pouca experiência e treinamento em gerenciamento de projetos
... Pecado 5: Fornecer pouco apoio e infra-estrutura ... Pecado 6: Dar pouca ênfase a questões
comportamentais e de gerência das Partes Interessadas ... Pecado 7: Dar pouca atenção ao
controle dos projetos ... Nesta lista há três itens diretamente relacionados ao Gerenciamento de
Escopo do Projeto, os “pecados” 1, 2 e 3, constituindo uma parcela significativa
(43%) das causas de fracasso em projetos de desenvolvimento de software. O Gerenciamento de
Escopo do Projeto é uma das áreas de conhecimento da Gerência de Projetos. A nossa referência
principal para a abordagem da Gerência de Projetos é o Project Management Body of Knoyledge
(PMBOK). O Gerenciamento de Escopo do Projeto segundo o PMBOK é responsável por garantir
que o projeto inclua todo o trabalho exigido, e somente o trabalho exigido, para completar o projeto
com sucesso. O Gerenciamento do escopo do projeto deve garantir que esteja definido todo o
trabalho necessário, e somente o trabalho necessário, para que o projeto cumpra seu objetivo,
garantindo seu sucesso. Os processos que compõem esta área de conhecimento são: •
Coletar requisitos; • Definir o escopo; • Criar EAP; • Verificar o escopo; •
Controlar o escopo. MCCONNELL (1996) enumera outros erros clássicos que levam um projeto de
desenvolvimento de software ao fracasso: • Falta de motivação da equipe. Estudo após estudo
tem mostrado que a motivação provavelmente tem um efeito maior sobre a produtividade e a
qualidade do que qualquer outro fator. • Equipe despreparada. Depois de motivação, tanto as
capacidades individuais dos membros da equipe ou a sua relação como uma equipe,
provavelmente, tem a maior influência sobre a produtividade. • Adicionar pessoas a um projeto
atrasado. Este é talvez o mais clássico dos erros. Adicionar pessoas a um projeto atrasado seria
como jogar gasolina sobre um incêndio. • O atrito entre desenvolvedores e clientes. O principal
efeito do atrito é a comunicação pobre, e os efeitos secundários da má comunicação incluem
requisitos mal compreendidos, design de interface de usuário pobre. • Expectativas irrealistas.
Uma das causas mais comuns de atrito entre os desenvolvedores e seus clientes ou gerentes.
• Falta de participação eficaz do patrocinador. O patrocinador do projeto é necessário para
suportar muitos aspectos do desenvolvimento, incluindo planejamento realista, controle de
mudanças, e a introdução de novas práticas de desenvolvimento. • A falta de interessados.
Todas as partes interessadas em um esforço de desenvolvimento de software devem aderir ao
projeto. • Falta de participação do usuário. A razão número um dos projetos de sucesso é por
causa do envolvimento do usuário. • Tempo excessivamente otimista. Os desafios enfrentados
por alguém construindo uma aplicação de três meses são bastante diferentes do que os desafios
enfrentados por alguém que tem que criar uma aplicação em um ano. • Gestão de riscos
insuficiente. A falta de gestão de riscos é um dos erros mais comuns. • Falhas em aquisições.
Se a relação contratante não é gerida com cuidado, o uso de contratados pode retardar um projeto
em vez de acelerá-lo. • Planejamento insuficiente. Se você não planeja para alcançar um
desenvolvimento rápido, você não pode esperar alcançá-lo. • Cortes na garantia da qualidade.
Projetos que estão com o prazo apertado muitas vezes cortam custos, eliminando revisões de
projeto e código, eliminando planejamento de teste, e realizando apenas os testes superficiais.
• Desenvolver coisas além do escopo. Os desenvolvedores são fascinados por novas
tecnologias e às vezes são ansiosos para experimentar novos recursos desenvolvendo coisas que
não estão dentro do escopo do projeto. • Falta de controle de código-fonte automatizado. A
não utilização de controle de código fonte automatizada expõe projetos a riscos desnecessários.
2.3 Implementando projetos de desenvolvimento de software com sucesso Para que um projeto
tenha sucesso (KERZNER, 2003), ele deverá ser completado: 1. No prazo previsto; 2. Dentro do
orçamento previsto; 3. No nível correto de desempenho ou especificação; 4. Com o aceite do
cliente; 5. Com o mínimo ou com um acordo mútuo (fornecedor e cliente) sobre as mudanças de
escopo; 6. Sem perturbar o fluxo de trabalho da organização; 7. Sem mudar a cultura corporativa.
Para que seja possível cumprir prazos e respeitar custos (itens 1 e 2 acima), é necessário saber
exatamente o que será feito. Isto só é possível com uma correta e precisa definição do escopo do
projeto. Atingir o nível correto de desempenho ou especificação (item 3 acima) exige o
conhecimento das restrições, das premissas e dos requisitos do produto / serviço a ser entregue.
Minimizar as mudanças de escopo, ou conseguir um acordo mútuo sobre estas mudanças (item 5
acima), também depende de se ter o escopo documentado e de uma correta gerência de
mudanças. Obter o aceite do cliente (item 4 acima), por sua vez, depende do correto entendimento
do que é o produto final a ser entregue e das entregas intermediárias que serão necessárias. Na
tabela abaixo o relacionamos os principais erros ocorridos no desenvolvimento softwares com os
processos do PMBOK que podem auxiliar na mitigação ou ate na eliminação dos erros citados:
Erros comuns nos projetos de desenvolvimento de software Processos do PMBOK que podem
auxiliar na mitigação\eliminação dos erros • Falta de motivação da equipe. • Equipe
despreparada. 9.3 Desenvolver a equipe do projeto 9.4 Gerenciar a equipe do projeto 10.5
Reportar o desempenho • A falta de interessados • Falta de participação do usuário •
O atrito entre desenvolvedores e clientes. 10.1 Identificar as partes interessadas 10.2 Planejar as
comunicações 10.3 Distribuir informações 10.4 Gerenciar expectativas das partes interessadas
• Falta de participação eficaz do patrocinador 4.1 Desenvolver o termo de abertura do projeto
• Tempo excessivamente otimista • Expectativas irrealistas • Adicionar pessoas a um
projeto atrasado 5.1 Coletar os requisitos 5.2 Definir o escopo 5.3 Criar a EAP 6.1 Definir as
atividades 6.2 Sequenciar atividades 6.3 Estimar recursos das atividades 6.4 Estimar as durações
das atividades 6.5 Desenvolver o cronograma • Gestão de riscos insuficiente • Falta de
controle de código-fonte automatizado • Cortes na garantia da qualidade. 11.1 Planejar o
gerenciamento de riscos 11.2 Identificar os riscos 11.3 Executar a analise qualitativa dos riscos
11.4 Executar a analise quantitativa dos riscos 11.5 Planejar respostas a riscos 11.6 Monitorar e
controlar riscos • Falhas em aquisições 12.1 Planejar aquisições 12.2 Realizar aquisições 12.3
Administrar aquisições 12.4 Encerrar aquisições • Planejamento insuficiente 4.2 Desenvolver o
plano de gerenciamento do projeto • Desenvolver coisas além do escopo 5.4 Verificar o
escopo 5.5 Controlar o escopo TABELA 1: Relacionamento entre os erros comuns nos projetos de
desenvolvimento de software e os processos do PMBOK que podem auxiliar na
mitigação\eliminação dos erros
3. Conclusão Projetos de desenvolvimento de softwares possuem os mesmos desafios que
qualquer projeto possui. A solução para os responsáveis nas organizações bem como os
profissionais da área que atuam com este tipo de projeto são de ficar atentos aos erros clássicos
historicamente cometidos e passarem a praticar a boa gerência de projetos, tendo em vista que o
PMBOK nos fornece varias ferramentas e técnicas que nos auxiliam na boa gerencia de um projeto.
E desta forma reduzir o número de insucessos e aumentar a probabilidade de realizar projetos de
desenvolvimento de softwares que atendam aos parâmetros de custo, prazo, qualidade e o mais
importante, atendendo completamente as expectativas dos clientes e usuários.
4. Referências PROJECT MANAGEMENT INSTITUTE. Um guia do conhecimento em
gerenciamento de projetos: Guia PMBOK . 4th ed. Pennsylvania, USA: PMI, 2008. DINSMORE,
Paul Campbell. Por que Tantos Projetos Fracassam?: Os Sete Pecados.... Developers Cio
Magazine, Rio de Janeiro, nº 55 - Março/2001. Disponível em:
http://inforum.insite.com.br/arquivos/2106/Por_que_tantos_projetos_fracassam.doc. Acesso em:
Acesso em: 03 mar. 2012. KERZNER, Harold. Project management: a systems aproach to planning,
scheduling, and controlling. 8th ed. New Jersey: John Wiley & Sons, 2003. MCCONNELLl, Steve.
Classic Mistakes Enumerated. Disponível http://www.stevemcconnell.com/rdenum.htm. Acesso em:
03 mar. 2012.
Download