Tomar decisões é um processo desgastante em qualquer área. Existem diversas técnicas para minimizar esse desgaste, uma delas é a utilização de princípios.
Nesse artigo vou abordar o conceito de “Fadiga de decisão” e como se utilizar de princípios para guiar decisões. Abordarei também como princípios ajudam a melhorar as decisões de design de software.

Fadiga de decisão

Tomada de decisão é o processo cognitivo pelo qual se escolhe um plano de ação dentre vários outros (baseados em variados cenários, ambientes, análises e fatores) para uma situação-problema.
-Wikipedia

Três homens cumprindo pena foram avaliados por juízes para receber liberdade condicional, adivinhe quem foi escolhido:
Caso 1 (ouvido as 8:50): Um árabe israelense sentenciado a 30 meses por fraude.
Caso 2 (ouvido as 15:10): Um judeu israelense sentenciado a 16 meses por assalto.
Caso 3 ouvido as 16:25): Um árabe israelense sentenciado a 30 meses por fraude.
O prisioneiro do caso 1 recebeu a liberdade.
O interessante é que existe um padrão na escolha feita pelos juízes e não está relacionado com a etnia ou com os crimes cometidos. Pesquisadores após analisar mais de 1100 decisões perceberam que o padrão era o “timing”. Prisioneiros que apareceram pela manhã receberam liberdade em aproximadamente 70% dos casos enquanto os prisioneiros que apareceram pela tarde receberam liberdade em menos de 10% dos casos. Ou seja, mesmo o caso 1 e 3 tendo as mesmas características as chances favorecem o caso 1.
O resultado dos julgamentos está relacionado com os riscos de tomar decisões, caso após caso, gerando um desgaste mental muito grande.

O risco de tomar decisão

O psicólogo e pesquisador da Universidade Estadual da Flórida Roy Baumeister chama esse fenômeno de fadiga de decisão.
Não importa o quão racional você tente ser, você não pode tomar decisões sucessivas sem que haja um custo, em certo momento você atinge o limite biológico. Quanto mais decisões você toma durante o dia mais difícil elas vão se tornando para o seu cérebro e eventualmente ele encontra atalhos, normalmente agindo de duas formas. Um atalho é se tornar irresponsável e agir sem pensar, evitando assim gastar energia por não ter que avaliar as consequências. O outro é simplesmente economizar energia não fazendo nada, postergando a decisão, ou continuar fazendo as coisas do jeito habitual, que não exigem novas decisões.
No caso dos juízes, eles simplesmente não fizeram nada mantendo o detento cumprindo pena.

Como minimizar os riscos

Tome poucas decisões, evite fazer pequenas escolhas diárias. Roupa branca ou preta? Livro A ou B? Pegue um livro senão gostar então pegue outro, simples assim. Economize energia nas pequenas decisões para gastar com decisões importantes.
Para ajudar a diminuir a quantidade de decisões crie regras, leis, princípios que você possa seguir sempre que uma determinada situação surgir.
Um fato bobo do cotidiano, para exemplificar isso, é o ato de atravessar a rua. As pessoas não costumam apenas esperar o sinal abrir para o pedestre, elas ficam olhando se vem carro calculando se dá para atravessar nem que seja correndo.
Pequenas decisões como essas somadas durante o dia gastam parte da sua energia mental.
Para evitar esse desgaste poderíamos simplesmente definir uma regra: Não atravessar a rua se o sinal estiver vermelho. Dessa forma não teríamos mais que decidir, apenas esperaríamos o sinal abrir assoviando, observando o movimento e até mesmo desacelerando da correria do dia a dia.

Princípios

O que serve de base a alguma coisa; causa primeira, raiz, razão.”
-Google

Para ajudar a tomarmos menos decisões podemos definir princípios. Eu gosto de dizer que princípios são mini regras, guias, metas algo que você define e segue. Princípios podem nos dar insights ou simplesmente bons concelhos, mas o importante é que temos algo para nos guiar e diminuir nossas dúvidas.
Um exemplo de princípio bastante conhecido que está presente em diversas religiões e filosofias é a regra de ouro. Ela diz: “Faça aos outros o que gostaria que fizessem a você”. Esse princípio é interessante porque é possível observar no dia a dia as pessoas que se utilizam e as que não se utilizam dele. Imagine a sociedade sem esse princípio sendo cada um por si.
Um princípio diz o que fazer e não como fazer, por isso é preciso que ele esteja acompanhado da prática. No exemplo da regra de ouro poderíamos, por exemplo, definir a seguinte pratica: sempre que fizer algo a alguém imediatamente irei analisar se gostaria que fizessem a mim.
Um princípio praticado frequentemente torna-se um hábito. A habituação é um mecanismo do cérebro para aprender novas coisas.
Quando estamos aprendendo a dirigir é difícil até mesmo escutar uma música, temos que prestar atenção em tantas coisas ao redor ao mesmo tempo. O mesmo acontece quando estamos aprendendo a programar, são tantas tecnologias e conceitos para aprender que fica difícil decidir alguma coisa. Mas com a pratica o cérebro vai criando hábitos e liberando espaço pra novos aprendizados, paramos de prestar atenção em todos os detalhes que já fazem parte do nosso dia a dia.
Em resumo um princípio pode ajudar a tornar a decisões menos cansativas, mais simples e precisas.

Design de software

O desenvolvimento de software é um processo criativo e exigi que façamos escolhas e tomemos decisões com frequência.
Uma das habilidades mais importantes a ser buscada por um programador é a de se fazer um bom design.
Por diversas vezes passei pela situação de olhar um código e perceber que algo não estava correto sem saber exatamente qual era o problema. Por exemplo um código ilegível, muito acoplado ou com baixa coesão. Isso geralmente é indício de falta de conhecimento de alguma técnica ou ferramenta que ajude a visualizar o problema e melhorar o design.
Posso dizer por experiência própria que tentar melhorar o design sem utilizar alguma técnica é extremamente desgastante.
No desenvolvimento de software ainda não temos uma regra de ouro, mas temos alguns princípios estabelecidos que são extremamente importantes e ajudam a melhorar o design, como é o caso dos princípios SOLID. Uns dos princípios SOLID é o open-closed, que usarei como exemplo.
Esse princípio afirma que classes deverão ser abertas para extensão, mas fechadas para modificação.
Modificar um código existente é mais difícil que criar código novo. Quando o desenvolvedor entende como aplicar esse princípio ele tende a escrever código de fácil manutenção.
Para exemplificar esse princípio vamos utilizar o seguinte cenário: Ao realizar uma compra com cartão quero verificar se o cartão está bloqueado e se tem limite. Vale observar que com o passar do tempo novas regras podem surgir e não poderemos alterar as classes já criadas. Respeitando o princípio temos que criar uma classe para cada regra. Uma classe para verificar se o cartão está bloqueado e uma classe para verificar se o cartão tem limite. Também é preciso definir uma interface que torne as regras abertas a extensão. Dessa forma cada nova regra precisaria apenas estender essa interface sem alterar as classes já existentes.
Sem utilizar o princípio open-closed muito provavelmente criaríamos uma classe com um “if” para cada regra. Quando novas regras surgissem criaríamos um método para cada regra, para melhorar a legibilidade. Talvez depois de implementar várias regras começaríamos a pensar em criar classes isoladas por regra.
Acredito que esse exemplo demostra bem como o caminho fica mais fácil quando utilizamos um princípio.

Conclusão

Princípios são uma excelente ferramenta para ajudar a tomar decisões mais assertivas e com menos desgaste. Utilize princípios existentes, crie seus próprios princípios e pare de andar em círculos ao tomar as mesmas decisões.
Segue alguns links que eu recomendo:
Principios de programação (Wikipedia)
Beyond Legacy Code (Livro)
The first secret of design is … noticing (TED)
Do You Suffer From Decision Fatigue? (New York Times)
—————————-—————————-
Esse conteúdo foi publicado primeiro em: brgarcia.com

Autor

Bruno Garcia é desenvolver na Bluesoft há mais de 4 anos. Atualmente, ele lidera uma grande equipe de desenvolvedores que atua no módulo Financeiro do software da Bluesoft.

Deixe aqui o seu comentário