O uso de Processo Formal de desenvolvimento traz ganhos de produtividade para uma equipe?
Antes de tentarmos responder esta pergunta, vamos relembrar o que é Processo Formal.
Planejamento é definido como: - quais atividades; - quem deve realiza-las; - como realizar; - por que realizar; - quando realizar e finalizar; - quanto deve custar. Este planejamento resulta em: - realizar estimativas; - elaborar estrutura de divisão de trabalho; - definir equipe e recursos; - alocar pessoas e atividades; - elaborar cronograma; - elaborar orçamento. Além disso, deve-se fazer: - análise de riscos; - revisões periódicas. Já Modelos indicam quais são as atividades e as relações entre elas. Alguns exemplos são: - em cascata; - incremental; - evolucionário; - desenvolvimento ágil.
Reunindo os conceitos de planejamentos e modelos anteriores, definimos Processo Formal de software como o Planejamento associado a um Modelo de Processo.
Pontos positivos do Processo Formal: - o desenvolvedor sabe o que fazer; - a data para início e fim são definidas; - é possível dimensionar o tamanho; - é possível dimensionar a quantidade de artefatos; - é possível dimensionar o esforço necessário; - é possível ter noção quanto custa; - é possivel perceber se há recursos para o desenvolvimento; - facilita gerenciamento de equipe, produção, prazos, custos; - a possibilidade da utilização de métricas para estimações.
Pontos negativos: - a difícil escolha do modelo apropriado para cada especificidade. Exemplos: Processo Unificado Rational, Processo Unificado, Programação Extrema, etc.
Portanto, a eficiência no ganho de produtividade ao utilizarmos Processo Formal de Desenvolvimento depende da escolha certa do modelo.