Afinal, o que são as tais “boas práticas”?

Publicado originalmente no meu blog em 2011 (infelizmente, este conteúdo não está mais disponível). Também publiquei no Linkedin.

A publicação de hoje é uma espécie de provocação. Muitas vezes vejo discussões acaloradas sobre o que são boas práticas. Aqui, apresento minha visão sobre esse tema.

Relação entre boas práticas e eficácia

Para mim, boas práticas são aquelas que garantem a entrega do valor certo para o cliente com o menor custo para a empresa. Chamo essa relação de eficácia.

Logo,

Boas práticas sempre maximizam a eficácia.

Um desdobramento lógico é:

Boas práticas sempre colaboram para a entrega do valor adequado ao cliente e/ou para a redução do custo total de propriedade.

Vamos entender um pouco melhor o que quero dizer.

Valor correto para o cliente

Muitas vezes, quando desenvolvemos software, temos por hábito querer “superar” as expectativas do cliente. Isso gera encantamento. Na medida certa, isso não é errado.

O problema é que, muitas vezes (quase sempre), o cliente não vai estar disposto a pagar mais por esse encantamento. Quando incluímos features que não são percebidas estamos incluindo, na verdade, apenas custo direto de desenvolvimento.

Toda feature não percebida pelo cliente é apenas custo.

O melhor software é aquele que atende o cliente e entrega um pouco mais do que o necessário (suficiente para fidelizar).

Se o software (qualquer produto, na verdade) entregar muito mais do que o esperado, precisará reverter esse incremento também no seu preço. O problema é que nem sempre isso é possível. Seja porque o cliente não valoriza, seja porque ele não tem condições de pagar.

Por favor, perceba que

o valor correto nunca será nada abaixo de um software fazendo aquilo que se dedica, sem erros nem inconsistências.

Menor custo total propriedade

Software deveria ser projetado para reduzir seu custo total de propriedade. No caso de software, podemos assumir que o custo pode ser dividido entre o investimento inicial (custo para desenvolver) e o custo para manter (manutenção).

Não é raro que o custo de manutenção seja bem maior do que o custo de desenvolvimento. O motivo mais comum para isso é a dificuldade para entender o código existente. Depois, temos também que computar os custos da modificação em si, além dos testes necessários para garantir que esta alteração esteja conforme. Por fim, há os custos de atualizar a base instalada.

Vamos, por um momento, entender a composição do custo para manutenção.

Uma abordagem antiga, porém infeliz para reduzir o custo de manutenção é tentar investir mais no custo inicial de desenvolvimento tentando eliminar ou reduzir a necessidade de manutenção. Considere que:

Tentativas de antecipar “necessidades” futuras geralmente aumentam ainda mais a complexidade de implantar modificações que não foram planejadas.

Temos que considerar, além de tudo, que investir em demasia no desenvolvimento inicial contraria um importante princípio econômico: Dinheiro disponível hoje vale mais que o dinheiro disponível amanhã;

Antecipar um investimento implica em desperdício de dinheiro

Por outro lado, em projetos com certeza de manutenção futura, qualquer esforço para reduzir os custos para compreensão, modificação, teste e distribuição representam em um aumento de eficácia.

Questionando as boas práticas

Como desenvolvedores, temos pouca ou nenhuma condição de aumentar o “valor correto para o cliente”. Isso nasce de uma necessidade de negócio dele, não de nossas inspirações! São raros os casos onde conseguimos delinear claramente necessidades que um cliente nem sabia que possui e, além disso, está disposto a pagar para que sejam resolvidas. Esse é um tema de marketing e P&D, não de desenvolvimento.

Para colaborar com a eficácia, nosso foco, enquanto desenvolvedores, deve estar na certeza de que estamos entregando pouco mais que aquilo que o cliente espera.

Além disso, quanto antes entregarmos aquilo que ele mais valoriza, mais cedo poderá computar o ROI. Logo, maior será a eficácia. Assim,

Se possível, devemos entregar o mais importante antes.

Quanto ao custo total de propriedade, temos que considerar o cenário em que estamos desenvolvendo. Considere, por exemplo, que estejamos fazendo um software que não terá manutenção futura. Considere um hot-site, ou um aplicativo para computar dados de uma pesquisa, por exemplo. Nesses casos, qualquer investimento em melhorar a manutenabilidade representam apenas incremento no custo. Logo, não são boas práticas para aquele projeto.

Uma prática só pode ser considerada boa quando analisada no contexto do projeto em que está sendo aplicada.

Por isso que:

Otimização prematura é raiz de todo mal (Donald Knuth)

Concluíndo e respondendo a pergunta do título

Para uma prática ser considerada boa, precisa colaborar com a eficácia. Seja através da maior assertividade nas entregas (entregar aquilo que resolve o problema que o cliente gostaria de resolver). Seja através da redução do custo total da propriedade – reduzindo o custo de manutenção (quando existir) ou reduzindo o custo de desenvolvimento (quando não inviabilizar manutenção futura necessária).

Você, concorda com isso?

Compartilhe este insight:

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Mais insights para o seu negócio

Veja mais alguns estudos e reflexões que podem gerar alguns insights para o seu negócio:

Nunca trabalhei em um circo, tampouco criei elefantes! Portanto, advirto que os “fatos” que lerá aqui foram relatados por amigos,...
Dando continuidade a uma jornada iniciada há mais de 20 anos, comunico a fundação da Eximia! Trata-se de uma empresa...
C++ é uma linguagem de programação velha, charmosa para os iniciados, assustadora para aqueles que conhecem pouco dela. Bjarne Stroustrup desenvolveu...
Implementing a good caching strategy is fundamental to achieve good performance. Besides that, it is not a trivial task. There...
In this post, I would like to share my current reading list. If you are reading some of these books,...
A música é conhecida e todos sabem que ela encerra com uma nota alta. Mesmo assim, a execução de “Phantom...

Curso Reputação e Marketing Pessoal

Masterclasses

01

Introdução do curso

02

Por que sua “reputação” é importante?

03

Como você se apresenta?

04

Como você apresenta suas ideias?

05

Como usar Storytelling?

06

Você tem uma dor? Eu tenho o alívio!

07

Escrita efetiva para não escritores

08

Como aumentar (e manter) sua audiência?

09

Gatilhos! Gatilhos!

10

Triple Threat: Domine Produto, Embalagem e Distribuição

11

Estratégias Vencedoras: Desbloqueie o Poder da Teoria dos Jogos

12

Análise SWOT de sua marca pessoal

13

Soterrado por informações? Aprenda a fazer gestão do conhecimento pessoal, do jeito certo

14

Vendo além do óbvio com a Pentad de Burkle

15

Construindo Reputação através de Métricas: A Arte de Alinhar Expectativas com Lag e Lead Measures

16

A Tríade da Liderança: Navegando entre Líder, Liderado e Contexto no Mundo do Marketing Pessoal

17

Análise PESTEL para Marketing Pessoal

18

Canvas de Proposta de Valor para Marca Pessoal

19

Método OKR para Objetivos Pessoais

20

Análise de Competências de Gallup

21

Feedback 360 Graus para Autoavaliação

22

Modelo de Cinco Forças de Porter

23

Estratégia Blue Ocean para Diferenciação Pessoal

24

Análise de Tendências para Previsão de Mercado

25

Design Thinking para Inovação Pessoal

26

Metodologia Agile para Desenvolvimento Pessoal

27

Análise de Redes Sociais para Ampliar Conexões

Lições complementares

28

Apresentando-se do Jeito Certo

29

O mercado remunera raridade? Como evidenciar a sua?

30

O que pode estar te impedindo de ter sucesso

Recomendações de Leituras

31

Aprendendo a qualificar sua reputação do jeito certo

32

Quem é você?

33

Qual a sua “IDEIA”?

34

StoryTelling

35

Você tem uma dor? Eu tenho o alívio!

36

Escrita efetiva para não escritores

37

Gatilhos!

38

Triple Threat: Domine Produto, Embalagem e Distribuição

39

Estratégias Vencedoras: Desbloqueie o Poder da Teoria do Jogos

40

Análise SWOT de sua marca pessoal

Inscrição realizada com sucesso!

No dia da masterclass você receberá um e-mail com um link para acompanhar a aula ao vivo. Até lá!

A sua subscrição foi enviada com sucesso!

Aguarde, em breve entraremos em contato com você para lhe fornecer mais informações sobre como participar da mentoria.

Masterclass
15/07

Pare de dar a solução certa para o problema errado

Muita gente boa quebra a cabeça por dias tentando resolver o que não estava quebrado, simplesmente por tentar dar a resposta certa pro problema errado, mas precisa realmente ser assim?

Crie sua conta

Preencha os dados para iniciar o seu cadastro no plano anual do Clube de Estudos:

Crie sua conta

Preencha os dados para iniciar o seu cadastro no plano mensal do Clube de Estudos:

× Precisa de ajuda?