Não crie ou adote erros de estimação!
Olá todos, espero que estejam todos bem! Não estou acostumado a postar nada por aqui, mas hoje tenho algo a dizer, um tema bastante interessante - talvez bem pôlemico - que imagino que vale a pena ser discutido abertamente. Este topico se derivou de varias conversas com meu amigo, durante nosso expediente de trabalho sendo desenvolvedores em startups.
Como pode ter lido no título desta postagem, tudo se baseia na clássica manias de empresas de colecionar e adotar erros (BDD - Bug Driven Development), e sempre se preocupar em mante-los vivos independente dos fatores externos, gerando inúmeros problemas, até podemos listar alguns deles como:
- A tão temida dívida técnicas,
- Falhas gravíssimas de seguranças,
- Códigos macarrônicos (spaghetti) e bizaros ao entendimento humano,
- Uso de Bibliotecas desatualizadas ou descontinuadas,
- Testes quebrados/desatualizados ou pior: sem nenhum tipo de teste;
Poderia ficar boas horas citando vários desses problemas, contudo não é nosso objetivo aqui, mas sim o que leva as empresas/startups, a manter esses "erros de estimação", vale resaltar que isso se aplica a todas as empresa pequenas, médias e grandes.
Vale salientar que quando me refiro a "erro(s)", se encaixa em qualquer escopo de problemas diversos, e não apenas da nossa area de TI, mas de forma geral, tanto a um bug ou código escrito as coxas na area de desenvolvimento, como também decisão técnica na escolha de uma arquitetura, ou até uma regra de negócio passada de forma equivocado pela area de negócios - que inclusive pode vir a ser um tema de "Developers Hate Bunisses's Men".
Enfim dentre as razões mais aceitas na minha opinião e de meu amigo, as mais óbvias seriam dinheiro, pois não temos dinheiro infinito; seguido do fator tempo, afinal são colocados prazos de sempre urgência, que na maioria das vezes não condiz com a realidade. Por fim, e não menos importante, é não saber escolher as prioridades e sempre dizer "isso aqui não é prioridade" para partes fundamentais do desenvolvimento do negócio/software.
Dentre essas razões a "não é prioridade" é que geralmente mais afeta a gente, pois a prioridade de hoje será a prioridade de futuro, ou melhor o problema do nosso eu do futuro, Devido simplesmente quem terá que virar a noite rescrevendo um código mal feito, ou passar todos os dias do seu recesso de final de ano localizando e arrumando bugs de estimação, não será a mesma pessoa que falou "não é uma prioridade no momento".
Bem complexo determinar o porquê desses problemas terem se desenvolvido, na maioria das vezes digo por experiência própria, que é devido a falta de tempo, já que sempre temos outras demandas na frente e mais urgentes, e que podemos adiar a solução deste problema para nosso futuro, e com isso perpetuou até agora com a roda girando, e volta e meia ouvimos "mas funciona" ou "não é agora que vai parar de funcionar" - até o desenvolvimento de uma feature nova em algo sem testes... Pasmen essas frases já ouvi inúmeras vezes sendo ditas por meus superiores.
Contudo é difícil concluir apenas um único motivo só para explicar o porque as empresas criam esses erros como filhotinhos e amamentando-os de sonhos de um dia serem solucionados, e até mesmo é impossível fazer um ambiente onde não exista um desses "erros", é algo comum e querendo ou não, vai existir em uma area isolada da sua empresa ou em varias. O que devemos fazer é não contribuir e remediar que novos erros de estimação sejam criados ou aqueles que existam perpetuem.
Fiquem a vontade para opinar, discordar ou opinar sobre este tema, todos os comentários seram extremamente bem-vindo! Agradecemos por ceder alguns minutos do seu tempo, para ler nosso artigo.