Os desenvolvedores abordam um problema complexo decompondo-o em problemas menores e resolvendo-os separadamente.
Em um mundo ideal , resolver um problema seria um problema complexo A e, em um determinado momento, você seria capaz de decompô-lo em uma pequena lista de pequenos problemas A 1 a A n , pois cada avaliação do tempo é direta, dada a que o tempo necessário para resolver o problema complexo inicial seria:
sendo D o próprio processo de decomposição.
No mundo real , o único problema é que t ( D ) seria realmente maior do que o tempo gasto na solução de pequenos problemas. Em outras palavras, para chegar a esse nível de decomposição do problema, você praticamente precisa resolver o problema em si.
Você ainda pode:
Separe a tarefa especificada (resolvendo o problema) em partes menores, sendo cada parte ainda um problema complexo,
Avalie o tempo esperado para cada parte e o risco correspondente.
Por exemplo, a tarefa 1 requer aprox. 5 horas, mas o risco de ser bloqueado é alto; portanto, dê 12 horas como sua expectativa para o cliente.
Avalie as dependências e como elas afetam o tempo.
Por exemplo, a tarefa 19 requer 2 horas e o risco é tão baixo que você pode dizer que são 2 horas com certeza. Não 1. Não 3. Mas a tarefa 19 depende da tarefa 24: a tarefa 24 pode afetar a tarefa 19 de uma maneira que você precisaria reescrever completamente o código da tarefa 19 usando uma abordagem diferente.
Dê todos esses detalhes ao seu cliente. Não dê a soma.
O último ponto é importante. Se você der a soma, digamos 192 horas, o cliente acredita que é uma métrica muito precisa, e o tempo que você gastará será de, digamos, 189 a 195 horas.
Se, em vez disso, você fornecer os detalhes,
O cliente que se importa entenderá que não são 192 horas. São 192 horas se tudo der errado, dado o risco determinado durante a avaliação. Também são 238 horas se tudo piorar. Também são 85 horas se tudo estiver bem.
Quanto ao cliente que não se importa, ele não lerá sua resposta em todos os casos. Tudo o que ele quer é um número, para poder culpar você mais tarde. Ao dar uma resposta muito detalhada que ele nunca lerá, você sabe que ele não pode pedir o tempo que levará novamente: você já respondeu. Ele também não pode culpar você mais tarde, pois não leu a resposta para calcular a soma.