marketing para psicologos

Marketing para Psicólogos: Desenvolvedores e a Psicologia do Excesso de Confiança

O que acontece dentro da cabeça de uma Consultoria SEO para psicólogos ao fazer estimativas e por que é tão difícil consertar

Este artigo foca em marketing para psicólogos de uma forma diferente: no que acontece dentro da cabeça de um desenvolvedor quando faz estimativas, porque é tão difícil de consertar e como eu pessoalmente descobri como viver e escrever softwares (para proprietários de negócios muito felizes), embora minhas estimativas sejam tão brutais quanto não confiável como sempre.

Mas primeiro, uma história.

Foi o período de tempo de inserção que não me fará parecer absurdamente velho, e eu era um jovem desenvolvedor. Na faculdade, pratiquei meus exercícios de codificação. Como um desenvolvedor júnior, eu havia criado código para resolver quaisquer problemas que alguém especificasse para mim mais rápido do que alguém esperava. Eu poderia aprender um novo idioma e tornar-me produtivo nele ao longo de um fim de semana (ou, então eu acreditava).

E assim, no curso natural das coisas, eu tenho que executar meu próprio projeto. O gerente da conta explicou mais ou menos o que o cliente estava procurando, nós conversamos, e eu disse: “Isso deve ser de cerca de 3 semanas de trabalho.” “Parece bom”, disse ele. E então eu comecei a codificação.

Quanto tempo você imagina este projeto? Quatro semanas? Talvez cinco?

Na verdade, tręs meses.

Eu tenho lembranças vívidas daquele tempo – minha auto-imagem tinha sido embrulhada em ser “um bom programador”  de marketing para psicólogos e aqui eu estava apenas terrivelmente falhando. Eu perdi o sono. Eu tive esses pequenos episódios de ataque de pânico. E isso apenas faria. Não. Fim. Lembro-me de conversar com o gerente da conta, um buraco no estômago, explicando várias vezes que eu ainda não tinha nada para mostrar.

Durante um desses períodos negros, resolvi nunca mais errar.

Infelizmente, ao longo da minha carreira, aprendi muito bem: estou sempre errado.

Na verdade, aprendi algo ainda melhor: estamos todos errados.

Recentemente, li o Pensamento, Rápido e Lento, de Daniel Kahneman, uma ampla pesquisa sobre o que a psicologia aprendeu sobre a cognição humana, sobre suas forças maravilhosas e suas falhas (surpreendentemente previsíveis).

Minha seção favorita foi sobre o excesso de confiança. Havia, digamos, algumas conexões com as formas como os desenvolvedores fazem estimativas.

Por que você chupa em fazer estimativas, parte I: escrever software = Aprender algo que você não sabe quando inicia

Acredito que existem duas razões pelas quais somos tão ruins em fazer estimativas. O primeiro é o tipo de irredutível: escrever software envolve descobrir algo em detalhes tão precisos que você pode dizer a um computador como fazê-lo. O problema é que muitas vezes há problemas ocultos nas partes que você não entende completamente e que explodem e acabam transando com você.

E isso é genuinamente irredutível. Se você “entender completamente” alguma coisa, você tem uma biblioteca ou um software existente que faz isso e você não está escrevendo nada. Caso contrário, há incerteza e muitas vezes explodirá … e essas ampliações podem levar de um dia a um ano para além da morte pelo calor do universo a ser resolvida.

Essas ampliações podem vir de várias formas, talvez um serviço de terceiros não seja confiável … por isso é necessário escrever uma camada inteira de repetição / falha no rastreamento .. ou o banco de dados pode não entender alguma codificação crítica do conjunto de caracteres … então você tem que reconstruir todos os seus esquemas do zero … ou o verdadeiro clássico: quando você mostra software para os clientes e eles não querem exatamente o que eles pediram, eles querem algo um pouquinho diferente.

Quando você topa com essas dores, você pensa “Nós devemos ser mais cuidadosos no estágio de especificação”. Mas isso acaba por falhar, mal. Por quê? A razão principal é que, como você pode ver nos exemplos acima, se você fosse escrever uma especificação com tal detalhe que capturaria esses problemas, você estaria escrevendo o software e não há realmente nenhuma maneira de contornar isso (se Enquanto você lê isso, você está tentando barganhar este aqui, eu tenho que te dizer – existe realmente, realmente, nenhuma maneira de contornar isso, especificações completas são uma idéia econômica terrível. melhores escolhas econômicas)

Mas aqui é onde fica interessante: todo programador que está trabalhando no mundo real há mais de alguns meses se deparou com os problemas que estou descrevendo acima.

E ainda assim … continuamos fazendo essas estimativas espetacularmente ruins.

E, pior ainda, acreditamos em nossas próprias estimativas. Eu ainda acredito no meu sempre que eu faço.

Então, espere, estou sugerindo que todos os desenvolvedores de alguma forma sejam vítimas dos mesmos erros previsíveis no pensamento?

Sim, é exatamente isso que estou sugerindo.

Por que você chupa em fazer estimativas, parte II: excesso de confiança
Kahneman fala longamente sobre o problema dos “especialistas” fazendo previsões. Em uma variedade absurdamente ampla de situações, essas previsões revelam-se totalmente inúteis. Especificamente, em muitas situações, as três coisas a seguir são verdadeiras:

1- As previsões de “especialistas” sobre algum evento futuro são tão pouco confiáveis ​​que são basicamente sem sentido

2- Os especialistas em questão estão extremamente confiantes sobre a precisão de suas previsões

3- Absolutamente nada parece ser capaz de diminuir a confiança que os especialistas sentem

A última é verdadeiramente notável: mesmo que os especialistas tentem enfrentar honestamente as evidências de seus próprios fracassos do passado, mesmo que compreendam profundamente essa falha na cognição humana … eles ainda sentirão um profundo senso de confiança na exatidão de suas previsões.

Como Kahneman explica, depois de contar uma história incrível sobre seus próprios fracassos nessa frente:

“A confiança que você experimentará em seus futuros julgamentos não será diminuída pelo que você acabou de ler, mesmo que acredite em cada palavra.”

Curiosamente, há situações em que previsões de especialistas são muito boas. Abaixo, explicarei como usar essas situações para hackear seu próprio processo de desenvolvimento. Mas antes de fazer isso, eu quero passar por alguns detalhes de como o excesso de confiança falha no chão, então talvez você possa reconhecê-lo em si mesmo.

O que parece ser errado: os sistemas I e II e o problema das 3 semanas e 3 meses
Em Pensando Rápido e Lento, Kahneman explica uma grande parte da psicologia como a interação entre dois “sistemas” que governam nossos pensamentos: Sistema I e Sistema II. Meu sumário muito breve seria “O Sistema I faz um pensamento rápido, heurístico e compatível com padrões e o Sistema II faz um pensamento cuidadoso, racional e analítico”.

E, crucialmente, é como se a evolução tivesse projetado a coisa toda com o objetivo principal de impedir que o Sistema II tivesse que fazer demais. O que faz muito sentido a partir de uma perspectiva evolucionista – o Sistema II é lento como melaço e, incrivelmente caro, deve ser implantado apenas em situações muito raras. Mas você vê o problema, sem dúvida: sem pensar, como sua mente sabe quando invocar o Sistema II? Nessa perspectiva, muitos dos vários “vieses cognitivos” da psicologia fazem sentido como soluções de engenharia elegantes para um problema brutal do mundo real: como distribuir a atenção em tempo real.

Para ver como a interação entre os sistemas I e II pode levar a estimativas verdadeiramente terríveis, mas honestamente acreditadas, vou passar o microfone brevemente para o meu amigo Edmund Jorgensen. Ele descreveu para mim em um e-mail da seguinte forma:

Quando me pergunto “quanto tempo esse projeto levará”, o System I não faz ideia, mas quer ter uma ideia e traduz a pergunta. No que? Eu suspeito que seja algo como “como estou confiante de que posso fazer isso”, e isso é traduzido em uma estimativa de tempo, com algum multiplicador bastante individual (por exemplo, quando Bob tem nível de confiança X, ele sempre diz 3 semanas; quando Suzy tem nível de confiança X, ela sempre diz 5 semanas).
Levante sua mão se você gradualmente percebeu que tem duas “grandes” estimativas de tempo? Para mim, são “3 semanas” e “3 meses”. O primeiro significa “que parece complexo, mas basicamente acho que vejo como fazê-lo”, e o segundo significa “Uau, isso é difícil, não tenho certeza do que está envolvido, mas aposto que posso descobrir”.

Aka, acho que Edmund está totalmente certo.

(Para aqueles que estão brincando em casa: meus projetos de “3 semanas” parecem levar de 5 a 15 semanas, meus projetos de “3 meses” normalmente demoram de 1 a 3 anos, no raro evento de alguém estar disposto a continuar me pagando) .

Tudo bem, então vamos deixar de ser tão confiantes!

Você pode estar pensando neste ponto: “Ok, eu vejo para onde o Dan está indo: temos que abordar esses desafios de estimativa de alguma maneira que envolva o Sistema II ao invés do Sistema I. Dessa forma, nossas mentes cuidadosas e analíticas produzirão estimativas muito melhores. .

Parabéns, você acabou de inventar a Waterfall.

Essa é basicamente a promessa da abordagem de “especificação completa antes de começar a codificação”: não permitir que a equipe faça estimativas intuitivas, obrigue a todos a engajar cuidadosamente suas mentes analíticas e apresentar uma especificação detalhada com estimativas divididas em partes menores.

Mas isso falha totalmente. Como sempre.

O problema real aqui é a interação entre as duas fontes de erro de estimativa: o preconceito humano em relação ao excesso de confiança e a incerteza inerente envolvida em qualquer projeto de software real. Essa incerteza é grave o suficiente para que até mesmo o Sistema II, cuidadoso e racional, seja incapaz de fazer previsões precisas.

Felizmente, existe uma maneira de jogar com os pontos fortes de sua própria cognição e também lidar com a intensa variabilidade do mundo real.

Primeiro, como jogar com os pontos fortes da sua mente.

Quando os especialistas estão certos e como usar isso para sua vantagem
Kahneman e outros pesquisadores foram capazes de identificar situações em que o julgamento de especialistas não é completamente ruim. Como ele diz:

“Para saber se você pode confiar em um julgamento intuitivo particular, há duas perguntas que você deve fazer: o ambiente no qual o julgamento é feito suficientemente regular para permitir previsões a partir das evidências disponíveis? A resposta é sim para os diagnosticadores, não para os catadores de ações. Os profissionais têm uma oportunidade adequada para aprender as pistas e as regularidades? ”

Uma “oportunidade adequada” significa muita prática fazendo previsões e um ciclo de feedback apertado para aprender sua precisão.

Agora, projetos de software de 6 a 18 meses simplesmente falham miseravelmente em todos esses critérios. Como já discuti acima, o ambiente não é apenas “regular”. Além disso, os especialistas não recebem a combinação de fazer muitas previsões e obter feedback rápido. Se algo levar um ano ou mais, o ciclo de feedback é muito longo para treinar sua intuição (além disso, você precisa de muitas instâncias).

No entanto, existe uma forma de estimativa no software dev que se encaixa nessa nota – tarefas de 0 a 12 horas que são imediatamente executadas. Nessa escala, as coisas funcionam de maneira diferente:

Embora ainda haja muitas variabilidades (mais sobre isso abaixo), há alguma esperança real de “regularidade em seu ambiente”. Duas tarefas de quatro horas tendem a ter muito mais em comum do que dois projetos de seis meses.
Você pode esperar fazer centenas de tais estimativas, no curso de um par de anos.
Você recebe um feedback muito rápido sobre sua precisão
A equipe de maior velocidade que eu já participei correu semana e quebrou tudo para, basicamente, 0, 2, 4 ou 8 horas (e sempre houve alguma suspeita sobre as de 8 horas – como, nós) D tentar muito duro para dividi-los em pedaços menores). Nós estimamos isso muito rapidamente e de maneira um pouco casual – nós nem usamos um formalismo no estilo do Planning Poker.

Nesse ponto, você está usando os pontos fortes do Sistema I – ele tem a chance de ser treinado, vê muitos exemplos e há padrões significativos a serem adquiridos. E, graças à curta duração do sprint, você obtém feedback muito rápido sobre a qualidade de suas estimativas.

Espere, espere, espere, vamos fazer apenas algumas estimativas de 4 horas!
Como posso afirmar que você pode fazer essas estimativas em microescala, mas de alguma forma não pode acumulá-las em estimativas de 6 a 18 meses? Os erros não vão?

Basicamente, embora eu ache que as estimativas nessa escala estão sempre certas, quando elas estão erradas, simplesmente não há limite para o quão errado elas podem estar. Em termos matemáticos, suspeito que os tempos atuais seguem uma distribuição da lei de poder. E as distribuições da lei de potência são notáveis ​​por não terem média estável e variação infinita. O que, francamente, é exatamente como essas grandes estimativas de projetos em cascata me parecem.

Você pode estar pensando: como é que algo que você esperava levar 4 horas levaria um mês ou dois?

Isso acontece o tempo todo: você dá um passo final em alguma coisa e descobre um bloqueador hediondo que muda completamente o escopo. Por exemplo. em uma startup recente, ao tentar eliminar pontos únicos de falha do nosso sistema, colocamos um balanceador de carga na frente de um servidor IMAP que havíamos escrito. Nosso objetivo era que, quando uma máquina do servidor morresse, o balanceador de carga simplesmente fizesse failover para outra caixa, e os clientes não veriam nenhum impacto.

E isso parecia uma tarefa de 4 horas.

Mas quando fomos realmente fazer isso, percebemos / lembramos que o servidor IMAP, ao contrário de todos os servidores HTTP, estávamos tão acostumados com o estado da conexão mantida. Então, se quiséssemos fazer o failover de forma transparente para outro servidor, precisaríamos manter esse estado em dois servidores ou escrever algum tipo de balanceador de carga proxy com reconhecimento de estado na frente do servidor IMAP.

Que nos pareceu um projeto de 3 meses para nós.

E há outra razão para os sprints curtos serem uma peça fundamental de tudo isso: eles colocam um limite rígido no custo de uma estimativa terrivelmente ruim.

Somos todos apenas ferrado?

Então, o que fazemos? Apenas aceite que todos os nossos projetos estão fadados ao fracasso? Que teremos envenenado os relacionamentos dentro do resto do negócio porque estaremos sempre falhando em cumprir nossas promessas?

A chave é que você primeiro aceite que fazer estimativas precisas a longo prazo é fundamentalmente impossível. Depois de fazer isso, você pode enfrentar um desafio que, embora extremamente difícil, pode ser alcançado: como sua equipe de desenvolvimento pode gerar uma tonelada de valor, mesmo que você não possa fazer estimativas significativas a longo prazo?

Aquilo a que chegámos é basicamente uma explicação dos primeiros princípios do porquê das várias abordagens ágeis terem dominado o mundo.

Fonte: Marketing para Psicólogos


Advertisement