sexta-feira, 31 de dezembro de 2010

Planejamento para Desenvolvimento de Software

Ocorre que diante de um projeto para desenvolver software, gerentes ou responsáveis se esforçam para estimar precisamente tarefas, tempos e recursos necessários para a produção do bem.

A produção do software visa gerar um bem que será entregue ao final do projeto para o cliente.

A produção de serviços é, necessariamente, uma operação na qual o cliente é agente dentro do processo, pois serviços são de consumo imediato, não se pode estoca-los ou entrega-los à posterior.

O desenvolvimento ágil, no qual se aluga a força de trabalho para o cliente, é uma prestação de serviço com bens associados. A equipe fica alocada ao cliente durante o tempo necessário à prestação do serviço. O cliente participa do trabalho, recebendo os benefícios como o aprendizado, sua garantia de qualidade pela certeza da adequação do produto e o bem produzido.

Explicar o planejamento para um prédio costuma ser o exemplo utilizado para se explicar o porque se faz planejamento exaustivo e adiantado para o desenvolvimento de software.

Entretanto, o desenvolvimento de software, em função de ser um serviço exploratório, que envolve a descoberta de conhecimentos tácitos, entrevista com os especialistas, possibilidade de atualização on-the-fly destes mesmos conhecimentos, sugere a utilização de métodos ainda mais poderosos de planejamento, do que o planejamento estático, feito no início do processo de desenvolvimento, sem conhecimento suficiente e prevendo um intervalo de tempo normalmente muito grande.

O planejamento ágil é feito de forma incremental, prevendo escopo e horizontes de tempo de cada iteração, portanto muito menores e com probabilidade de acerto muito maior.

O risco ao longo deste processo fica diluido pelo escopo simplificado e prazo menores, sendo a probabilidade de sinistros também menor.

Qual é o planejamento mais seguro?
Qual o planejamento mais preciso?

Numéricamente o planejamento incremental é mais eficiente.
A dúvida deveria ser se esta forma de planejamento é viável para o processo de desenvolvimento de software, entretanto as críticas ou a auxência delas, segue no espaço do desconhecimento e desconsideração de sua existência e forma.

Segundo Jeff Patton (2008), conhecer o problema mas não saber desde o início o que se quer, é comum, é normal, é o suficiente.

Eu humildimente complementaria que é inclusive melhor sob o ponto de vista de obter algo de qualidade.

Nenhum comentário:

Postar um comentário