Versão 02
Flexibilizar e simplificar, a princípio, é essencial para garantirmos entregas eficientes ao Negócio. Para isso, nossa recomendação é a adoção de princípios ágeis, como YAGNI.
You Ain’t Gonna Need It ou YAGNI foi adotado como um princípio da metodologia Extreme Programming (XP) e tem como missão melhorar a qualidade e flexibilidade de um software em relação às (aqui te crase) constantes mudanças do Negócio.
Always implement things when you actually need them, never when you just foresee that you need them. Ron Jeffries
Treinar o time para adotar estratégias,que fundamentalmente aumentam a flexibilidade e qualidade do software, é essencial para potencializar o Negócio.
Versão 01
Foi a partir das pinturas rupestres que arqueólogos chegaram a um consenso de como nossos antepassados, no período paleolítico, descobriram o fogo. A hipótese é que tudo começou com uma fagulha e junto com essa surgiu a nossa curiosidade. Deste então, adquirimos este hábito, uma busca infindável pelo conhecimento… A disputa entre o Coletivismo Platônico e o Individualismo Aristotélico, a Programação funcional ou a Programação orientado a objeto, e claro, não menos importante, o Biscoito ou a Bolacha?
Nesse contexto, com frequência, racionalizamos nossos desejos pela busca do conhecimento com a justificativa “Iremos precisar disso no futuro.”. No entanto, é com as minhas cicatrizes que eu aprendi: raramente torna-se verdade. Inúmeras foram as vezes em que me peguei escrevendo abstrações desnecessárias (KISS manda aquele abraço) e utilitários que nunca seriam utilizados, mesmo que devidamente testados. Pior, escolher padrões de projetos que reduziriam a simplicidade e flexibilidade em troca de uma promessa, ou seja, a de que EU ESTOU FAZENDO O QUE É CERTO.
Contudo este é um grande erro, nem sempre é momento para fazer O QUE É CERTO, e sim momentos que devemos fazer O QUE É MAIS SIMPLES DE MUDAR, ou O QUE ENTREGA VALOR MAIS RÁPIDO uma vez que nem toda linha de código representa o CORE do negócio. Portanto, é por isso que YAGNI entra no meu portfólio de estratégias de desenvolvimento.
You Ain’t Gonna Need It ou YAGNI foi adotado como um princípio da metodologia Extreme Programming (XP) e tem como missão melhorar a qualidade e flexibilidade de um software em relação as constantes mudanças do Negócio.
Ron Jeffries, co-autor XP
Always implement things when you actually need them, never when you just foresee that you need them.
Ou seja, YAGNI é fundamental para orientar a tomada de decisões do seu time, evitando complexidades acidentais, e potencializando aquilo que realmente importa, o Negócio.
No entanto, CUIDADO, porque o uso irresponsável de YAGNI pode acarretar em débitos técnicos. Dessa forma, é importante adotar um pacote com outras práticas, como: Refactories contínuos, Código limpo(Clean Code) e Testes Automatizados.
Conclusão
Dito isso, YAGNI é uma excelente oportunidade de simplificar o seu código, de focar no Negócio e de diminuir a quantidade de testes de unidade. Vamos abraçar esta mudança e não deixar as fagulhas das nossas curiosidades incendiarem as nossas escolhas.
Quais são as estratégias que vocês utilizam? Compartilhe conosco.
Recomendações:
Clean code – Robert T Martin.