quinta-feira, 1 de maio de 2008

Metricas...

Talvez uma das maiores dificuldades em projetos de desenvolvimento de sistemas, do ponto de vista comercial, e' a estimativa acurada dos recursos necessarios, prazo e custo. Em (grande) parte, a culpa pode ser atribuida aos requisitos mal-definidos no comeco, ou a mudanca destes ao longo do projeto, fruto da falta de compreensao ou experiencia do cliente sobre suas reais necessidades ou processos de negocio mal-definidos.

Entretanto, nao podemos deixar de considerar o fato de que as ferramentas de medicao existente sao pouco eficazes na estimacao de projetos de software. Estudando os elementos que compoem o universo envolvido no processo de especificacao de software, posso identificar:
  • cliente (usuarios, gerentes),
  • processos de negocio,
  • requisitos (informados pelo cliente e usuario)
  • reais necessidades
  • tecnologias, ferramentas tecnologicas e metodologias (tanto as existentes no cliente quanto as usadas pelo fornecedor),
  • ambientes de producao (cliente),
  • ambiente de desenvolvimento
  • tecnicas e ferramentas de comunicacao entre cliente-fornecedor, equipes internas de desenvolvimento, e entre os usuarios do proprio cliente
Vejam que todos estes componentes afetam, em maior ou menor grau, os projetos de software. Nao considerei aqui nenhum artefato usado por quaisquer metodologia, como modelos de casos de uso, modelos de dados, fluxogramas, diagramas de classes, etc.

Observem que quando um cliente solicita a proposta de um sistema, muito pouco se sabe das reais necessidades. Dai surgem duas situacoes: ou se faz um levantamento de requisitos muito superficial, que dara poucos subsidios para uma estimacao bem feita, ou se investe recursos proprios para se fazer um bom levantamento de requisitos, que dara um bom nivel de detalhamento para se fazer a estimacao, mas que podera nao gerar retorno (pois orcamento nao sera necessariamente aceito pelo cliente). Do ponto de vista comercial e tatico, este e' um problema, pois demanda um esforco que nem sempre esta disponivel. Por outro lado, se aceitarmos fazer apenas uma estimativa fraca, baseada no levantamento de requisitos superficial, corremos o risco de perder o contrato se adotarmos a estrategia de super-estimar o projeto, ou obte-lo sub-dimensionando-o. Neste caso, podemos perder ao financia-lo. Ja vi varios casos onde assumir um projeto sem conhece-lo adequadamento deu prejuizo. Isso porque depois que um contrato foi feito, e boa parte do cinheiro pago, na last-mile do novo sistema podem ser descobertas novos detalhes antes nao detectados, que podem fazer com que o fornecedor necessite alocar recursos antes nao dimensionados, gerando um custo nao previsto.

Vamos estudar estes aspectos em separado, e depois propor um metodo de estimacao de projetos de software. Nos proximos posts vou trabalhar nisso.

Nenhum comentário: