Hoje vou falar sobre a importância do planejamento de projetos. Todos sabem da sua importância, mas poucos levam realmente a sério essa questão. Projetos de desenvolvimento de software estão se tornando cada vez mais complexos, com recursos cada vez mais dinâmicos e integrados. Com isso, aumenta-se a possibilidade de falhas, inerentes aos projetos. Por falha podemos entender não somente erros que fazem comportamentos específicos do sistema não funcionarem, podem se enquadrar coisas como itens pedidos por clientes e que estão funcionando de outra forma, falta de navegabilidade no sistema, demora para execução de requisições etc.
Muitos gerentes de projetos simplesmente aumentam seu número de pessoas nos projetos, com o objetivo de minimizar essas falhas. Outros diminuem o tempo de desenvolvimento e aumentam o tempo de testes de qualidade. Enfim, existem diversas maneiras utilizadas por diversos profissionais. E as falhas continuam com índices altos.
A melhor forma para conseguirmos um bom resultado ao final do projeto é começar da melhor forma possível. E esse termo ‘começar da melhor forma possível’ é mal compreendido, porque iniciar o processo de implementação o mais rápido possível não significa ‘ da melhor forma’. E é exatamente o que acontece na maioria das vezes, pois as pessoas tendem a julgar o desempenho atual pelo que é visível no momento, esquecendo-se do futuro.
Assim eu divido um projeto: fase de programar, fase de codificar e fase revisão.
Ou seja, programar é muito mais do que o fato de escrever códigos, item que chamo de codificar. O termo codificar pode ser mudado para desenvolver, para o conceito de projeto ser universal e englobar designers, DBA’s etc.
Para que funcione da maneira correta, todos os integrantes do projeto devem ser responsáveis pelo seu segmento e devem fazer as três etapas acima. Logo, não é apenas tarefa do gerente do projeto saber o tempo de duração do projeto, nem apenas tarefa da pessoa responsável pelos testes de qualidade, fazer a revisão. Cada pessoa faz todo o processo com seu segmento.
Outro ponto importante é a definição de projeto. Projeto não deve ser entendido como um único item, com um único início, meio e fim. Deve-se dividi-lo em vários módulos, para que se tenha mais controle do mesmo. Ou seja, devemos ter vários ‘inícios’ e ‘fins’, assim conseguimos manipular melhor cada processo envolvido.
Na fase de programar (fase que tem que durar pelo menos a metade do tempo), deve-se fazer todas as análises de recursos necessários, buscar melhores formas para resolução de determinados itens, testar esses recursos, caso necessário, para ver a sua aplicabilidade e entender as ferramentas a serem utilizadas.
Na fase de codificar, colocamos tudo o que foi analisado para funcionar. Aqui ganhamos muito tempo. Não vamos perder muito tempo nela, já que foi analisada com muito cuidado e colocada a teste na fase anterior.
A parte da revisão é muito mais prática com esse conceito. Pois com um bom planejamento, a tendência é um projeto muito mais tranqüilo. Logicamente que erros são previsíveis, lembrando que somos seres humanos. Mas se temos um bom planejamento do projeto no inicio, e o projeto é dividido em vários sub-projetos, esses erros são minimizados, e muito.







