Número 40
11 de xaneiro de 2023

Consultorio: o custo do cambio

Levo un mes diagnosticando un problema de lentitude na nosa aplicación. Por motivos que non veñen ao caso non podo usar “profilers” e ferramentas semellantes, así que o progreso é lento. Vou rañando un milisegundo aquí e acolá, pero vai levar semanas achegar o rendemento do programa a un nivel aceptable.

Onte a miña xefa propuxo substituír o módulo do programa que vai tan lento por unha solución diferente. Ese cambio seguramente arranxaría o problema, pero levaría un mes implantalo.

Que debo facer? Ela quere cambiar o módulo, pero eu non quero perder o mes que vai levar facelo máis o mes que xa gastei tratando de solucionar o problema, cando podo arranxalo nunhas poucas semanas se sigo traballando nel.

      — Cousteau

Un saco de moedas xunto dunha balanza con moedas nos pratos.Os cartos na bolsa non pesan nos pratos.

Estimado Cousteau: algúns proxectos rematan cando alcanzan os seus obxectivos, pero a maioría non corren esa sorte, senón que fican abandonados cando rematan os cartos, cando xa non son necesarios, ou cando o seu custo supera os seus beneficios.

Agora mesmo tés que elixir se continúas o teu proxecto actual (arranxar o código) ou se comezas un novo (substituír o módulo), e para iso tés que comparar os custos e os beneficios de cada alternativa e escoller a máis proveitosa.

O problema é que moitas veces trabucámonos á hora de calcular os custos, e ti estás a caer nese erro.

Dis na túa mensaxe que substituír o módulo vai custar dous meses (o mes que gastaches traballando no problema máis o mes que ides tardar en facer o cambio) e que seguir traballando no problema vai custar unhas poucas semanas.

Pois ben: iso non é certo, porque o mes que gastaches traballando no problema é un custo irrecuperable. É un gasto que xa fixeches e, como indica o seu nome, non hai nada que poidas facer para recuperalo (a non ser que teñas unha máquina do tempo).

Fagas o que fagas no futuro, o gasto xa está feito e non se pode desfacer. Polo tanto, non podes sumalo ao custo dunha alternativa pero non ao custo da outra porque, escollas a alternativa que escollas, sempre terás feito ese gasto. Como o gasto non é un factor á hora de escoller entre as dúas alternativas, o mellor é non tomalo en conta en absoluto.

Este é o motivo polo que existe a falacia dos custos irrecuperables (ou “sunk cost fallacy” en inglés): temos tendencia a pensar que, se cancelamos o noso proxecto actual, imos malgastar os custos irrecuperables que fixemos nel. Na realidade, eses custos xa están feitos e xa están malgastados (ou non) tanto se cancelamos o noso proxecto como se continuamos nel.

Visto así, para comparar as dúas opcións, só podes contar, por un lado, o mes que se vai tardar en substituír o módulo e, pola outra banda, as “poucas semanas” que pensas que vas tardar en solucionar o problema.

Que debes facer? Depende da confianza que teñas neses prazos.

Algúns dirían que os proxectos sempre duran máis tempo do que un pensa, así que substituír o módulo probablemente vaia levar máis dun mes.

Outros dirían que, se non fuches capaz de solucionar o problema nun mes, é improbable que vaias ser quen de solucionalo nunhas poucas semanas adicionais.

O que deberías facer é xuntarte coa túa xefa e falar disto, evitar caer na falacia dos gastos irrecuperables, establecer uns prazos realistas nos que pensades que podedes rematar cada alternativa, e escoller a opción que teña menor custo e maior probabilidade de éxito.

Boa sorte!