Um dos mais eficazes: penalidade por dia de atraso. Isso também é feito em grandes projetos, a penalidade às vezes é de milhares de dólares por dia.
Se um prazo exato for importante (por exemplo, se alguém desenvolver para os Jogos Olímpicos um aplicativo da web que administrará a transmissão do evento em 2014, o prazo seria o início dos Jogos Olímpicos em 2014), a medida efetiva seria a seguinte: um caso em que o projeto está atrasado, a empresa não é paga de todo e também deve pagar uma multa.
Se tais medidas drásticas não forem apropriadas, o único fato de que um cliente bem pago sairá se o projeto estiver atrasado pode fazer o truque.
Nota para o cliente:
Muitos atrasos são culpa dos próprios clientes. As causas podem ser múltiplas:
Não há SRS, mas sim dois parágrafos que descrevem mal o que o cliente imagina serem suas necessidades (e, é claro, o cliente não quer pagar pela coleta de requisitos, considerando esta etapa uma perda de tempo).
Chegando duas semanas antes do prazo final e dizendo que não importa se o projeto foi feito em Java até agora e usou o Oracle: é imperativo que seja reescrito em Python e use o MySQL, porque o cliente leu uma revista ontem dizendo que essas tecnologias são o futuro.
Vindo com um novo conjunto de requisitos em todas as reuniões. Pontos de bônus quando esses requisitos contradizem quase todos os requisitos dados até agora.
Uma boa comunicação é essencial para um bom projeto.
Muitos outros atrasos são causados pela falta de comunicação. Práticas em que o cliente não tem comunicação nenhuma por meses com a empresa e espera ser contatado apenas depois que o produto é finalizado e polido provocam um desastre.
Você recebe o que você paga.
Existem procedimentos específicos que ajudam a manter o projeto organizado e, na verdade, a programação deve levar apenas 10 a 15% do tempo para projetos grandes e 15% a 20% do tempo para projetos médios. Esses projetos também devem ser realizados por pessoas que sabem o que estão fazendo.
Na prática, os clientes não estão dispostos a pagar US $ 800 / dia a um analista que criará arquitetura e design de software, e também não desejam pagar por outras etapas. Um programador albanês novato que está feliz em trabalhar por US $ 50 / dia parece muito mais vantajoso.
Não reclame que o projeto é um desastre quando você está pronto para pagar por projetos desastrosos.
Não negocie o tempo necessário para fazer o trabalho.
Costumo encontrar discussões assim:
Desenvolvedor: considerando os requisitos, posso entregá-lo em quatro meses.
Cliente: é impossível. O projeto deve ser realizado em dois meses.
Desenvolvedor: bem, a menos que você recorte alguns recursos ...
Cliente: Não posso! Todos os recursos são necessários. Por que você não pode fazer o trabalho em dois meses? Entrei em contato com um programador indiano, um amigo meu, ele pode entregar isso em um mês e meio e pede apenas metade do preço!
O tempo de negociação é uma receita para o desastre.
Conheça suas prioridades.
Leve em conta a regra de 90% de conclusão. Quando o projeto é gerenciado incorretamente, não é incomum ver os desenvolvedores dizendo que fizeram 90% do projeto um mês após o início do projeto. Então, um mês depois, ainda são 90%. E um mês depois.
Isso pode ter duas causas:
Quando o projeto não é executado corretamente, ou seja, 100% do tempo é dedicado à programação, o que deixa 0% para a coleta de requisitos, arquitetura, design e teste, o que acontece é que os programadores não têm idéia do trabalho a realizar e descobrem novas tarefas durante toda a vida do projeto. A preparação do projeto ajudaria a compreender melhor todas as tarefas que deveriam ser realizadas.
Quando o cliente está com pressa, não é incomum que algumas empresas entreguem rapidamente uma porcaria e gastem uma quantidade enorme de tempo resolvendo bugs. Algumas empresas trabalham dessa maneira, o que as ajuda a permanecer competitivas e dizem que realizaram um determinado projeto em três semanas; mesmo depois, passaram três anos resolvendo a bagunça.
Colocar as prioridades em ordem e exigir que o projeto seja executado corretamente ajuda a eliminar essas empresas da lista de candidatos.