Quão bom é bom o suficiente? (Gerencie a tensão e envie-a)
Eu estava almoçando com alguns amigos e outros empresários e desenvolvedores ontem, e um dos tópicos que surgiram durante nossa discussão foi a ideia de quão bom é bom o suficiente?
Especificamente, sempre que você estiver trabalhando em um projeto de software, quando é bom o suficiente ™ para enviar ao cliente?
Quão bom é bom o suficiente com padrões de codificação?
A implicação é, é claro, que, se for bom o suficiente, satisfaz os requisitos, mas provavelmente há alguma tensão subjacente de que, com mais tempo, dinheiro ou algum outro recurso, voltaríamos e melhoraríamos certos aspectos de um projeto.
Se você é desenvolvedor ou designer, talvez já tenha sentido essa tensão. Eu tenho. Se vale a pena, sinto isso em quase todos os projetos em que trabalho.
E claro, podemos debater o dia todo o que significa ser bom o suficiente. Mas acho que a definição muda à medida que avançamos na indústria.
Quão bom é bom o suficiente, afinal?
O ponto que estou tentando mostrar é que bom o suficiente é um alvo móvel geralmente ditado pelo seu nível de experiência (versus qualquer outro qualificador como, digamos, sua idade).
Presumo, para este post, que você esteja na indústria há tempo suficiente e trabalhando com um conjunto semelhante de ferramentas e linguagens para entender completamente as idiossincrasias de cada uma das linguagens e ferramentas que está usando. Não sou tímido quanto à minha preferência em ir fundo em vez de amplo quando se trata de construir software.
Muda com o tempo
Ao mesmo tempo, o nível de experiência que consideramos "bom o suficiente" muda. Quando você está começando, bom o suficiente é apenas fazer algo funcionar. Se você está em uma equipe – especialmente de desenvolvedores experientes – você É provável que receba muito feedback sobre como melhorar as coisas.
E, a princípio, isso pode ser um desafio. Talvez seja até um pouco desanimador. Quero dizer, você tem orgulho do que fez, mas tem um punhado de pessoas lhe dizendo como mudar as coisas. A mesma coisa acontece em código aberto, a propósito (para o que vale a pena).
Não adoçar ou mudar nada porque você está certo: pode se tornar desanimador. Quero dizer, você passou sabe-se lá quantas horas trabalhando em alguma coisa, você faz funcionar, e então seus colegas corrigem muito do trabalho que você fez.
Podemos melhorar as coisas juntos.
Lembre-se de que a motivação por trás dessa crítica não tem nada a ver com você como pessoa. E não tem nada a ver com dizer que você não é bom o suficiente. Está dizendo que você está funcionando, o que é ótimo, agora vamos tornar isso ainda melhor.
À medida que você aprende mais, de repente a medida do que já foi bom o suficiente muda.
Quando o que era bom não é mais verdade
E é aí que a tensão entra em jogo: o que antes era bom o suficiente agora não é mais bom o suficiente. Está abaixo da média, certo? Assim, o novo suficientemente bom é algo mais organizado, melhor arquitetado e melhor organizado.
Em seguida, uma nova tensão é introduzida: você atinge um prazo, ou fica sem dinheiro, e é hora de enviar o produto. Você sabe que o trabalho que fez é bom, gerenciável e documentado o suficiente para manter o projeto em andamento.
Quão bom é bom o suficiente? Possui documentação?
Mas não é bom o suficiente porque você está ciente das coisas que poderia otimizar se tivesse um pouco mais de tempo. Você não faz isso – você tem que enviá-lo em seu estado atual.
Segredos comerciais
Aqui está o pequeno segredo sujo da indústria que, por qualquer motivo, as pessoas não querem admitir: não há problema em enviá-lo nesse estado.
O envio do produto em seu estado determinado está bem.
Primeiro, o estado em que se encontra não é apenas melhor do que nada; é algo que é melhor do que você costumava fazer. Aqueles de nós que se preocupam com este ofício sentem isso com quase tudo o que
Em segundo lugar, o software é maleável. Ele pode, e vai, ser alterado ao longo do tempo. É por isso que temos versões do nosso trabalho. Aqueles de nós que se preocupam com esse ofício sentem essa tensão em quase tudo o que fazem.
Finalmente, a ideia do que é considerado Good Enough™ não desaparece. Apenas se move. Quanto mais você aprende sobre como produzir um bom software, a diferença na definição do que é bom o suficiente muda.
A tensão não resolve
Então, acostume-se com a tensão. Abraça mesmo. Se você não está sentindo isso, então eu diria que você não está preocupado em produzir um produto de qualidade. E eu sei que é uma afirmação ousada de se dizer, mas ainda não encontrei um desenvolvedor com seu mérito que não lute com isso.
Faz parte do trabalho. Pegue, leve pelo que é. Se você sente isso, é um bom sinal de que você está no caminho certo.

