domingo, 4 de abril de 2010

Estimando o Esforço para o Desenvolvimento de Software

Nos últimos meses tenho enfrentando grandes dificuldades para conseguir estimar tempos necessários de desenvolvimento nos projetos em que participo.

Eu tenho convicção de que as melhores práticas de se calcular estimativas necessitam de um mapeamento coerente dos requisitos de software. Mas, nas maioria empresas de desenvolvimento de software, a aplicação de métodos de gerenciamento de requisitos ainda  precisa ser amadurecido. Ou seja, não são aplicados. Em razão disso, é preciso adaptar-se à realidade e tentar soluções alternativas.

Trantando-se de tentar entender o tempo e os custos para se determinar uma estimativa de desenvolvimento, em geral, pode variar conforme a fase do processo de desenvolvimento. Nas fases iniciais a estimativa tende a ser pouco precisa. Normalmente o nível de estimativa dividi-se da seguinte forma:

Planejamento: Fase inicial. Contempla entradas grosseiras, estimativas pouco fiéis, requisitos em altíssimo nível, arquitetura conceituall;

Especificação: Pode ser compreendida como a fase inicial do projeto. O projeto já é melhor entendido, as estimativas são mais fiéis, os requisitos também são melhor entendidos e a arquitetura começa a ser compreendida;

Construção: Aborda a fase de conecpção do software de acordo com o que foi especificado. Já contempla um projeto bem caracterizado, estimativas com alta precisão, requisitos e arquitetura mais estáveis;

Uma das téncicas existentes para estimarmos o tempo de desenvolvimento, visando também compreender os custos associados, é o COCOMO de forma básica.

No modelo COCOMO, o esforço das fases iniciais é calculado considerando as equações abaixo:

Esforço = Ab * (Tamanho) * exp(Bb),
Tempo_Desenvolvimento = Cb * (Esforço * exp(Dd)) onde;

Esforço = número de homens/hora ou homens/hora;
Tempo_Desenvolvimento = tempo em meses cronológicos;
Tamanho = número de pontos de função;
Aa e Bb são coeficientes, Cb e Db são exponeciais de ajustes fornecidos pela seguinte tabela:

 TABELA 1 - Coeficientes do Método COCOMO

Neste modelo básico do COCOMO, o esforço e o custo do projeto é estimado em função do tamanho do código estimado, considerando um modelo estático. Outras formas de aplicação do COCOMO consideram avaliações subjetivas do produto, do hardware, do pessoal e dos atributos do projeto, além do impacto nas fases que direcionam os custos (análise, por exemplo).

Algumas das ferramentas existentes que permitem calcular as estimativas usando o COCOMO são:
  • BYL, Gordon Group;
  • WICOMO, Wang Intitute;
  • DECPlan, Digital Corporation;
Tendo estimado o esforço do projeto, aplicando o COCOMO, por exemplo, podendo ser melhorado e refinado a cada iteração, teremos condições de fazer uma estimativa de custo para o projeto, onde os componente abaixo são fundamentais:
  • Esforço em homens/hora * Custo(incluindo impostos);
  • Infra-estrutura (hardware, software e ambiente);
  • Overhead administrativo: corresponde numa variação de 20 a 30% do valor total estimado.
Os pontos assinalados acima servem apenas para complementar a definição de uma estimativa de desenvolvimento, não fazendo parte do método COCOMO.

Apesar de eu ter lhes apresentado esta alternativa de cálculo de estimativas, eu não venho aplicando-a no meu dia-a-dia. No momento, utilizo uma outra técnica chamada DELPHI (Se pronuncia Délfi). Assim que tiver oportunidade, postarei um tópico esclarecendo este segundo método.

11 comentários:

  1. Este comentário foi removido por um administrador do blog.

    ResponderExcluir
  2. Este comentário foi removido por um administrador do blog.

    ResponderExcluir
  3. Este comentário foi removido por um administrador do blog.

    ResponderExcluir
  4. Este comentário foi removido por um administrador do blog.

    ResponderExcluir
  5. Este comentário foi removido por um administrador do blog.

    ResponderExcluir
  6. Este comentário foi removido por um administrador do blog.

    ResponderExcluir
  7. Grеensmoke, pleaѕe think abοut adding саtomizors to уouг аssortment ωіthout the Pгoρоlyne Glycerіn or PG.
    It іs the Just reаson I аm thinκin of changіng and poѕsess been
    seaгching for another e-cig. Sіnce usіng Grеensmoke I have еxpеrienced random
    viѕiοn swellіng. Furtheгmore, Blucig ԁoеsnt utilize PG
    and taѕtes more lіke ciggaretts nеverthelesѕ the flаvor does not laѕt aѕ long becauѕe youгs,
    which сan be sweeter mоuth watering.


    my homepage ... http://forum.brendan-Perry.Com

    ResponderExcluir
  8. Fantastic beаt ! I woulԁ liκe to аpprentice while
    you amenԁ your sіte, how сan i subѕcrіbe for а blog website?
    The account helped mе a aсceptable deal.

    I had been a little bit аcquainted of thiѕ
    уоur broadсast οffered bright cleaг
    іdeа

    Feel frеe to surf to my web pаge - www.culturachianti.it

    ResponderExcluir
  9. Thanks , I've just been searching for info approximately this topic for a long time and yours is the greatest I have discovered so far. However, what in regards to the bottom line? Are you positive concerning the source?

    Also visit my weblog Please Click The Following Webpage

    ResponderExcluir
  10. If you woulԁ like to inсreаsе уour experience only keeρ
    visiting thіs sіte anԁ be uрdated ωith the
    most up-to-date newѕ poѕted heгe.


    Hеге iѕ mу blog ... http://rsh.nfu.edu.tw/userinfo.php?uid=2612

    ResponderExcluir
  11. The Ab Coaster is designed to previous and constructed for
    considerable use. This is significantly practical for aesthetic functions.



    Feel free to surf to my webpage flex mini review

    ResponderExcluir