COCOMO

O Constructive Cost Model (COCOMO) é uma técnica, dos anos 80 do século passado, de estimar apenas aplicável em projectos de desenvolvimento de software.

A base da estimativa do COCOMO são as linhas de código necessárias para o desenvolvimento do software.

O COCOMO decompõem-se em três níveis:
– Básico;
– Intermédio;
– Detalhado.

O COCOMO básico recorre ao esforço aplicado (em linhas de código i.e. KLOC), tempo de desenvolvimento e pessoas necessárias.

O COCOMO intermédio tem como ponto de partida o COCOMO básico e tem em consideração diversos aspectos:
– Atributos do produto;
– Hardware;
– Características da equipa;
– Características do projecto.

O COCOMO detalhado aplica os resultados do COCOMO intermédio nas várias fases do projecto de desenvolvimento de software.

Esta técnica assenta num modelo matemático, baseado em dados estatísticos. Só se justifica a sua utilização em projectos de grande dimensão e com base histórica.

O COCOMO é uma técnica complexa que vai devolvendo estimativas cada vez mais precisas à medida que a base histórica aumenta.

O ponto forte desta técnica é basear-se na complexidade do projecto e não no tempo do projecto. O principal calcanhar de Aquiles do COCOMO é que se mudarmos a equipa de projecto ao longo do tempo o histórico dos projectos torna-se irrelevante. O mesmo aplica-se aos restantes factores considerados pelo COCOMO intermédio, pois o COCOMO baseia-se no passado para dar as estimativas.

Julgo que a utilização desta técnica deve ser muito bem ponderada, pois tem um “custo” muito elevado em termos de complexidade e de time consumption. Por fim, não tenho dúvidas em afirmar que o COCOMO precisa de um ambiente fechado, controlado, muito estável para ser eficiente (algo muito raro de acontecer nos projectos de consultoria).

Cabe a vocês decidir até que ponto o COCOMO se enquadra na vossa realidade.

Até para a semana.

PERT

Existem várias formas de estimarmos a duração de tarefas e por conseguinte de um projecto.

Uma das mais famosas é a Program Evaluation and Review Technique, mais conhecida pela abreviatura PERT.

Esta técnica baseia-se no tempo e na probabilidade e tem como principio estimar um tempo optimista (Topt), um tempo realista (Treal) e um tempo pessimista (Tpess). A partir destes 3 tempos podemos chegar ao tempo médio (Tm) através da fórmula: Tm = (Topt + 4 * Treal + Tpess) / 6.

Se calcularmos todas as tarefas de um projecto através deste método ao subtrairmos ao Tm o Treal iremos encontrar o nosso buffer (tempo de reserva).

Exemplo: em condições normais uma tarefa é executada em 5 dias, se tudo corresse bem seria executada em 3 dias e se alguma desgraça acontecesse demoraria 10 dias.
Usando a fórmula acima descrita faríamos (3 + 4 * 5 + 10) / 6 para encontrarmos o Tm que é igual a 5,5 dias.

O nosso buffer seria de meio dia visto em condições normais a tarefa ser executada em 5 dias.

Claro que não devemos seguir esta fórmula cegamente. Olhando para este buffer devemo-nos questionar se será suficiente tendo em conta que numa perspectiva pessimista demoraríamos 10 dias para completar a tarefa. Depende obviamente da sensibilidade e experiência de cada um

Se a gestão de projectos fosse apenas aplicar fórmulas então éramos todos matemáticos. 🙂

Para me explicar melhor, se na fórmula aplicarem os seguintes dados:
Topt=2, Treal=5 e Tpess=7
constatam que o PERT torna-se optimista. Lá está, não deve ser seguido cegamente. Depende de situação para situação.

A partir deste momento podemos montar uma rede de PERT. Para isso precisamos de “alinhar” as nossas tarefas do projecto e apurar para cada uma os seguintes dados:
ES – Early Start
D – Duration
EF – Early Finish
LS – Late Start
S – Slack
LF – Late Finish

Early Start:
A primeira tarefa tem sempre o ES igual a 0. A próxima tarefa terá o ES igual à soma do ES e da duração da tarefa anterior e por aí adiante (no caso de estar precedida de mais do que uma tarefa será igual à maior soma de ES e duração das tarefas anteriores).
Nota: Para calcularem o ES deverão partir da primeira tarefa do projecto até à última.

Duration:
É o tempo médio calculado através da fórmula acima descrita: Tm = (Topt + 4 * Treal + Tpess) / 6.

Early Finish:
É igual ao Early Start + Duration.

Late Start:
É igual ao Late Finish – Duration.

Slack:
Pode ser calculado de duas formas. LF – EF ou LS – ES.
Nota: As tarefas do caminho crítico têm sempre folga zero.

Late Finish:
É o menor dos LS das tarefas seguintes. Se for a última tarefa o LF é igual ao EF.
Nota: Para calcularem o LF deverão partir da última tarefa do projecto até à primeira.

Depois de termos tudo isto calculado podemos e devemos determinar o critical path (caminho crítico) que é o caminho que mais tempo demora a ser concluído. Para sabermos o caminho crítico basta somarmos a duração das tarefas dos vários trilhos do projecto.

Agora é uma questão de pegar nas várias tarefas, fazer os cálculos e desenhar o diagrama de PERT do vosso projecto. Não se esqueçam de adicionar a vossa experiência e o vosso feeling qb.

Até para a semana.