A arte de fazer cronogramas
A maioria dos projetos de desenvolvimento que falham tem prazos impossíveis. E, quando estes prazos são definidos por um departamento comercial ávido de ganhar sua comissão, a razão disso é óbvia. Infelizmente, porém, quando esta responsabilidade está com os desenvolvedores o resultado não é muito diferente. Como mudar isso?
A verdade é que, para que um cronograma tenha o menor desvio possível é necessário conhecer:
- As funcionalidades a serem desenvolvidas a ponto de desmembrá-las em tarefas;
- O cliente, de modo a saber a qualidade, nível de documentação e detalhes que o mesmo pode solicitar da sua aplicação, bem como a sua disponibilidade;
- Os recursos que farão parte do projeto a ponto de saber a produtividade deles em cada tipo de tarefa, bem como sua freqüência de ausências (problemas de saúde, pessoais etc.);
Contudo, a maioria das pessoas diria que não é possível conhecer nenhum dos três. E isso explica por que os prazos quase sempre estouram
Na maioria dos casos, realmente não é possível ter essas informações no nível desejado para se elaborar um cronograma que funcione, mas a idéia é chegar o mais próximo possível deste cenário para que o desvio não seja tão grande ou ainda contornar cenários comuns.
Por exemplo, digamos que a documentação e/ou nível de informações a respeito das funcionalidades é escassa demais. Provavelmente, a melhor alternativa seria desmembrar o projeto em dois: um projeto de análise de negócio e outro de desenvolvimento, sendo que o segundo terá um cronograma apenas quando o primeiro for encerrado. Se isto não for possível, o ideal é mostrar ao cliente a necessidade de obter o máximo possível de informações para que o cronograma (e o orçamento) proposto sejam reais. Se nada disto for possível, a última alternativa é analisar outros softwares semelhantes ao que o cliente está solicitando, fazer as estimativas baseadas neles e deixar claro que o cronograma proposto baseia-se naqueles produtos. Isto talvez faça com que o cliente se expresse a respeito do que quer exatamente, reduzindo ou aumentando o escopo e, conseqüentemente, o cronograma.
É extremamente importante ter as funcionalidades divididas em tarefas, pois isso permite alocar horas ou poucos dias a cada “fração” da funcionalidade, gerando uma precisão muito maior da duração da funcionalidade como um todo, além de permitir entender melhor o que pode ser paralelizado ou agrupado de forma a otimizar o cronograma. Ao fazer isto, geralmente percebe-se que as coisas “simples” vão demorar muito mais do que se esperava inicialmente.
O conhecimento do cliente é importante para determinar a extensão das tarefas e da documentação, mas especialmente para duas coisas: restrições tecnológicas e disponibilidade do cliente. É essencial, para se ter uma estimativa correta, saber quais tecnologias poderão ser utilizadas, bem como que tipo de padrões de código e documentação o cliente possui. Esta pode ser a diferença entre o projeto de três meses e o que leva um ano porque os desenvolvedores têm que lutar diariamente contra limitações dos frameworks ou da versão do JDK que usam ou porque têm que produzir grandes quantidades de documentos que têm de ser quase que completamente alterados a cada vez que o código é modificado.
Em quase todos os projetos é necessário obter informações adicionais do cliente à medida que o desenvolvimento é feito ou para que as funcionalidades já implementadas sejam validadas. Isto costuma ser um problema, visto que o cliente normalmente não se considera parte da equipe do projeto nem acha que depende dele o cumprimento do cronograma. Metodologias como XP motivam o envolvimento contínuo do cliente, mas nem sempre o cliente concorda com este grau de comprometimento com o projeto. Nestes casos, é necessário especificar no cronograma em que pontos a participação do cliente será necessária, por quantas horas, bem como os “pontos de parada”, i.e., pontos em que se o cliente não estiver disponível o projeto fica parado e deixar claro que é responsabilidade do cliente compensar tais falhas.
Uma vez que as tarefas do projeto estão definidas e que sabe-se como o cliente irá influenciar o projeto, o próximo passo é determinar a alocação de recursos para que seja possível determinar o tempo de cada uma delas. O modo ideal de se fazer isso é explicar aos próprios recursos as tarefas que você pretende alocar para eles, a fim de verificar se são realmente capazes de executá-las, bem como solicitar deles o tempo previsto para cada uma delas.
Obviamente, muitas pessoas não tem a mínima noção de quanto tempo realmente levam para cada tarefa. Por isso, o papel de quem faz o cronograma do projeto é ter dois números para auxiliar nesta etapa: a estimativa de horas ideais e o fator de desvio do recurso. As horas ideais são as horas que um determinado recurso mais confiável em estimativas diz que são necessárias para realizar a tarefa. Normalmente, o recurso confiável acaba sendo a própria pessoa que faz o cronograma ou alguém mais sênior na empresa. O fator de desvio do recurso refere-se a quantas vezes mais tempo aquele recurso leva para executar uma tarefa. Isto se deve a diferença de conhecimento, grau de concentração, capacidade técnica, taxa de “compartilhamento” de recurso (quando a pessoa é utilizada em outros projetos/tarefas ao mesmo tempo que faz o seu projeto) e outras razões. Obviamente, ambos os números só podem ser obtidos com a experiência e/ou medição de projetos anteriores. Comparando a estimativa do recurso com a sua estimativa, chega-se ao número de horas ideais e, multiplicando-se esse valor pelo fator de desvio, obtem-se o total de horas que o recurso deverá gastar.
A explicação acima leva em conta algo que a maioria dos que fazem cronogramas esquecem: recursos são pessoas e pessoas são únicas. Não existe Recurso Jr, Pleno e Sr; existe sim o José, a Maria e o João, que mesmo sendo todos plenos, por exemplo, gastam tempos diferentes para a mesma tarefa e que, para tarefas diferentes, não mantém a mesma taxa de eficácia.
Uma vez que se percebe isto, percebe-se também o quão difícil é fazer cronogramas quando os recursos são desconhecidos. A técnica das horas ideais ainda precisa ser utilizada, mas o fator de desvio terá também de ser estimado. A melhor forma de determinar o fator de desvio a usar é calculá-lo com base na média do fator de desvio dos recursos que serão possivelmente usado para a tarefa e decidir se deve-se considerar o pior caso, i.e., que o recurso com o maior fator de desvio será utilizado.
Ao final de tudo isso, usando-se uma ferramenta como o GanttProject, você provavelmente vai descobrir que o projeto vai levar muito mais tempo do que você pensava inicialmente. Ótimo, isso provavelmente também significa que agora você chegou a um cronograma realista.
Por mais que este não seja o cronograma que você vai apresentar ao cliente, por medo de ele não aceitar o tempo - o que eu não concordo -, é com este cronograma que você tem que calcular os custos, pois é o real.
Espero ter ajudado em alguma coisa ou ter deixado vocês completamente desesperados…
8 de Junho de 2006 @ 18:41
Perfeito, e um detalhe importante, o cronograma geralmente não é feito para o projeto e sim pro cliente aprovar :p
29 de Julho de 2006 @ 22:05
gostaria de saber com fazer um cronograma de atividades escolares e pelo que eu li não entrendi nada, tem com ovcs me mandarem no meu e-mail um exemplo.???
obrigada
9 de Agosto de 2006 @ 13:18
Gostaria de saber como fazer um cronograma de uma empresa de prestaçao de serviços de portaria e limpeza e conservaçao.
desde ja agradeço pelo esclarecimento.
EDSON ALVES
9 de Agosto de 2006 @ 13:27
A menos que eu tenha entendido mal, tanto voce Denya como voce Edson querem montar uma ESCALA, que eh muito diferente de um cronograma.
9 de Agosto de 2006 @ 13:47
[…] Engraçado como é ruim ter um post bem colocado no Google para um assunto genérico. Se você pesquisar por como fazer cronogramas, o meu post “A arte de fazer cronogramas” aparece em segundo ou terceiro (varia de vez em quando). E, com isso, como vocês podem ver nos comentários do post, aparecem pessoas querendo saber como montar escalas ou coisa do gênero […]
18 de Setembro de 2006 @ 00:33
Estou estudando criação e gestão de ambientes de internet na Estácio, me parece muito complicado porque meu grupo não tem experiencia nenhuma antes! Existe alguns numeros que eu possa me basear?
Obrigado!
18 de Setembro de 2006 @ 10:37
Caro Luiz,
Como falei, os números dependem muito dos recursos alocados. Desta forma, mesmo que você encontre uma referência, haverá variações para o seu grupo.
A melhor forma de obter números confiáveis nesse caso é a medição: façam um cronograma para uma parte pequena do projeto, meçam o que acontece na realidade e usem esses números como base para o restante do cronograma.
27 de Setembro de 2006 @ 12:58
gostaria de saber como faço um cronograma sobre a EJA, já fiz a fundamentação teórica, fala sobre aum pouco de tudo da educação de jovens e adultos
24 de Outubro de 2006 @ 17:35
Poderia me enviar exemplos de como fazer cronograma, o que devo relatar, o que é importante colocar no cronograma. Poderia estar enviando para o meu email.
Grata
3 de Novembro de 2006 @ 15:01
Ola! ainda continuo sem muita noçao de como fazer o cronograma do meu grupo. Preciso dividir as tarefas para cada integrante e estipular as datas a serem entregues, desde a montagem da equipe ate a entrega e apresentaçao final do trabalho, socorro…
obrigada.
10 de Novembro de 2006 @ 14:22
gostaria que me enviasse um exemplo de um cronograma.. estou fazendo um trabalho universitario porem n estou sabendo fazer um cronograma
15 de Novembro de 2006 @ 18:14
oi eu gostaria de um exemplo de cronograma pois tenho que faz o projeto de pesquisa de conclusão de curso e não sei fazer
19 de Novembro de 2006 @ 13:05
Oi! Gostaria de ver o exemplo de cronograma porque estou fazendo um projeto de pesquisa e não sei fazer, se puder me mandar por email eu agradeço.
22 de Novembro de 2006 @ 12:05
[…] E alguns anos depois estamos aqui, no Blog do Mister M, falando geralmente de Java e de boas práticas no ciclo de vida do desenvolvimento (como no caso do CVS, de que pretendo falar em breve, ou de como fazer cronogramas). Eu acho que devo isso de certa forma ao Clipper e aproveito esse post pra prestar minha homenagem. Saudades… […]
4 de Dezembro de 2006 @ 16:36
Oi, preciso urgentemente de um exemplo de cronograma pq estou fazendo um projeto da faculdade e preciso fazer isso.
Quem tiver um exemplo de cronograma e puder me mandar, agradeço desde já Lysy_92@hotmail.com
17 de Janeiro de 2007 @ 14:24
Poderia me enviar exemplos de como fazer cronograma, o que devo relatar, o que é importante colocar no cronograma. Poderia estar enviando para o meu email.
17 de Janeiro de 2007 @ 14:26
vou fazer uma pesquisa sobre evasão escolar. como posso montar meu cronograma tenho trinta meses para realizar
6 de Março de 2007 @ 08:48
Vou prestar o concurso de PEB II ARTE, como posso elaborar um projeto
de aula
6 de Março de 2007 @ 08:54
O projeto pode ser sobre Escola de Tempo Integral
10 de Abril de 2007 @ 12:24
Olá preciso urgentemente de um exemplo de cronograma porque estou a fazer um curso.
Obrigada pela atenção
14 de Abril de 2007 @ 19:52
por favor,
estou precisando de um exemplo de cronograma para um trabalho.
se possível
agradecida
19 de Abril de 2007 @ 19:47
gostaria de saber como fazer um cronograma de execução de tarefas,
ditstribuição de pessoal etc.
27 de Abril de 2007 @ 15:52
Preciso de um modelo de cronograma para educação infantil.
Alguem pode me ajudar?
Obrigada.
27 de Abril de 2007 @ 16:02
Aguardo um exemplo de cronograma.
Na realidade nem sei como me basear.
se puder mandar por email…
luciagoncalvest@hotmail.com
obrigada
29 de Maio de 2007 @ 09:02
Trabalho a muito tempo com cronogramas, atualmente tenho uma demanda de montar um que possui muitas interfaces. A questão é que não quero montar um fluxograma onde uma atividade fica aguardando a outra não realizada, mas gostaria de montar um cronograma que evidencie as interfaces. Vc tem algum exemplo? Obrigado
21 de Agosto de 2007 @ 12:00
preciso de um modelo de cronograma para as obras e serviços a se realizarem em um predio comercial.
gostaria de uma resposta o mais breve possivél
18 de Setembro de 2007 @ 11:53
Olá,
A Empresa em que trabalho está precisando de um instrutor de GanttProject para ministrar curso de 8 horas. Caso possa indicar alguém por favor, entre em contato pelo email: rh@acctiva.com.br.
Att
23 de Outubro de 2007 @ 23:53
Gostaria de saber fazer um cronograma de eventos de mágicos,o que é necessário para iniciar um evento.
Desde de já agradeço.
Por favor me mande um modelo por e-mail.=]
28 de Novembro de 2007 @ 14:08
Oi!To fazendo um trabalho acadêmico, um projeto de monografia, e ñ to sabendo como montar um cronograma, preciso de exemplo de um.
10 de Dezembro de 2007 @ 21:55
oi,gostaria de ex.de cronograma,estou fazendo um projeto de pesquisa e ñ sei fazer,se puder mandar fico agrata.
30 de Dezembro de 2007 @ 12:37
Olá, estou a fazer um trabalho de Gestão de projectos e preciso de acrescentar um cronograma. Gostaria que me fornecessem um exemplo. Obrigado
17 de Janeiro de 2008 @ 19:28
gostaria que me enviase um modelo de cronograma de um projeto de controle a dengue
12 de Fevereiro de 2008 @ 07:30
gostaria de saber como se faz um cronograma de uma empresa prestadora de serviços alimenticios
15 de Fevereiro de 2008 @ 05:50
como elaborar um cronograma para um departamento de RH
23 de Fevereiro de 2008 @ 05:25
estou a fazer o curso de novas oportunidades.Gostaria que me fornecessem um exemplo de cronograma de acontecimentos (autobiografia),
7 de Março de 2008 @ 15:17
Olá,
Gostaria de saber como fazer um cronograma de trabalho, para visitação de hoteis, pousadas, lojas de coveniencias… Pois estou abrindo uma empresa de representação de chinelas em uma região de praias, o produto será voltado para turistas.
Agradeço!
Aguardo um retorno
Obrigado
7 de Março de 2008 @ 22:32
preciso de um modelo de cronograma de tarefas de uma farmacia dentro do centro cirurgico.
Na realidade nem sei como começar
gostaria de uma resposta o mais breve possivél
Aguardo.
se puder mandar fico grata.
Obrigada pela atenção
29 de Abril de 2008 @ 19:11
olha tenho que fazer um projeto
e estou trabalhando em realizar
uma atividade benificiente
que eu pretendo fazer uma partida de futebol para arecadar alimentos
mais para isso tenho que ter o cronograma sera que vcis poderia me mandar um parecido???
8 de Maio de 2008 @ 19:37
Ola, gostaria de algumaa ajuda… Tenho que fazer um projeto de um festival grande, mais ou menos para 100.000 mil pessoas, e nesse projeto preciso colocar um cronograma, pre e pos evento. Por acaso voces tem alguma modelo pra me fornecer.
Muito Agradecido
28 de Junho de 2008 @ 17:02
BOA TARDE.
ESTOU PRECISANDO COM URGENCIA DE UM EXEMPLO DE
DE CRONOGRAMA EX: MES
26 de Agosto de 2008 @ 17:17
Boa Tarde!!!
Busco um modelo simples, porém objetivo de cronograma. Tenho algumas atividades a serem realizadas e dentro de prazos negociáveis.
Grata
Carolina
25 de Setembro de 2008 @ 13:22
Estou precisando urgente de um modelo de cronograma, para um trabalho acadêmico desde já agradeço
3 de Novembro de 2008 @ 12:09
oi entao estou precisando de um modelo de cronograma para fazer um trabalho do meu curso de rotinas administrativas se possivel me mande um modelo de cronograma no meu e-mail
muito obrigado
27 de Novembro de 2008 @ 21:01
eu gostaria de um modelo!!!!!!!!!!
8 de Março de 2009 @ 14:54
eu queria que me mandace um cronograma pq estou presisandu aprender pq no meu curso esta exigindu isso de mim obrigada
17 de Novembro de 2009 @ 12:01
Olá, gostaria de uma ajuda… Tenho que montar um cronograma para um sistema, de alarme, contra incêndio, como posso fazer, para saber o tempo que levaria para montar 2.700 metros, de tubulação.
20 de Novembro de 2009 @ 02:33
o que eu estava procurando, obrigado
22 de Fevereiro de 2010 @ 16:20
Para o público interno também é importante saber como se desmembrará o cronograma, para que facilite a cada um sua parte, colocando cada coisa em seu devido lugar.
15 de Julho de 2010 @ 23:08
Parece bastante complicado, porém é questão de começar a planejar e colocar em prátrica tudo que se tem em mente. O estopo do Projeto é de fundamental importância na implantação e organização das atividades a serem desenvolvidas. A gestão de todas as etapas conduz o sucesso do projeto.