# Simples e barato VS Complexo e caro

> Este artigo foi inspirado nesse vídeo https://www.youtube.com/watch?v=xUPSVSL7En4 do canal Hoje no Mundo Militar que explica a uma parte específica...

- URL: https://iagofrota.com.br/blog/simples-e-barato-vs-complexo-e-caro/
- Data: 2024-08-03
- Tags: beneficios-de-solucoes-simples, criterios-de-decisao-em-software, custo-de-desenvolvimento-de-software, desenvolvimento-de-software, desvantagens-de-solucoes-complexas, drones-militares, eficacia-em-testes, eficiencia-em-testes-de-software, equilibrio-em-solucoes-de-software, escalabilidade-de-software, exemplos-historicos-no-desenvolvimento-de-software, industria-belica-nazista, manutencao-de-software, processos-de-teste, producao-sovietica, qualidade-de-software, segunda-guerra-mundial-licoes, solucoes-baratas, solucoes-caras, solucoes-complexas, solucoes-simples, tanques-panther, tanques-t34

Este artigo foi inspirado nesse vídeo [https://www.youtube.com/watch?v=xUPSVSL7En4](https://www.youtube.com/watch?v=xUPSVSL7En4) do canal [Hoje no Mundo Militar](https://www.youtube.com/@HojenoMundoMilitar) que explica a uma parte específica da guerra na Ucrania referente ao uso de drones e tanques.

> O que é mais importante investir em projetos simples e baratos ou projetos complexos e caros?
> 
> [Trecho do vídeo do Hoje no Mundo Militar](https://youtu.be/xUPSVSL7En4?si=yPMh6nWpnZGCBapl&t=360)

# Contexto

Irei ser breve e caso queira maiores detalhes, sugiro assistir o excelente vídeo do canal Hoje no Mundo Militar. A Segunda Guerra Mundial foi um evento que podemos tirar vários ensinamentos e aplicá-los hoje em nossos tempos.

A indústria bélica nazista e a soviética tinham diferenças importante que podemos analisar muito bem hoje devido os documentos e por vídeos como o do canal do Hoje no Mundo Militar. A indústria alemã tinha na época os veículos e tanques como um dos projetos mais tecnológicos e complexos daquele evento. **Os projetistas alemãs tinham um controle rígido da qualidade**, enquantos os **soviéticos tinham um foco na quantidade**, inclusive eles dizam que "A quantidade é uma qualidade por si só".

Alguns pontos interessantes sobre isso:

- Na Alemanha Nazista, existia um rigoroso controle de qualidade onde os tanques saiam com uma qualidade extrema, porém em menor quantidade. Isso significava uma menor quantidade de tanques produzidos e entregues

- Na União Soviética, não existia controle de qualidade optando assim não pela Qualidade e sim pela Quantidade. Isso significava muitos tanques entregues

- Existia casos frequentes onde tanques fabricados na União Soviética vinham faltando elementos importantes

- Os tanques alemães nazista eram projetos complexos e caros. Os soviéticos eram simples e baratos

Os soviéticos conseguiam produzir cerca 15 vezes mais veículos de combate que os alemães, apesar da baixa qualidade e com frequentes problemas. No final, a União Soviética conseguiu derrotar a Alemanha.

Temos bons ensinamentos para tirar disso e utilizar na nossa área.

# Insights

A decisão entre soluções simples e complexas eu acredito que tenha a ver diretamente na eficácia e nos custos. Baseado no contexto que eu dei, em exemplos históricos, como os contrastes na produção militar durante a Segunda Guerra Mundial, podemos aplicar essas lições ao desenvolvimento e qualidade de software.

## Benefícios das Soluções Simples

1. **Facilidade de Implementação:** Soluções simples são mais rápidas de implementar e adaptar às mudanças.

3. **Custo Reduzido:** Menos complexidade significa menores custos de desenvolvimento e manutenção.

5. **Manutenção Facilitada:** Menos pontos de falha e menor necessidade de especialização.

## Desvantagens das Soluções Complexas

1. **Alto Custo:** Soluções complexas geralmente envolvem altos custos iniciais e de manutenção.

3. **Risco de Falhas:** Mais pontos de falha, aumentando o risco de bugs e problemas técnicos.

5. **Necessidade de Treinamento:** Requer treinamento especializado, elevando custos e tempo de adaptação.

# Critérios de Decisão

## **Escalabilidade**

Projetos com requisitos de escalabilidade futura podem justificar soluções mais complexas. Eu vejo muitos projetos já começando com arquiteturas absurdas com a justificativa que irá aguentar acessos infinitos. Claramente a escalabilidade é uma das coisas que mais confudem na hora de equilibrar

## **Recursos Disponíveis**

**Considerar os recursos financeiros e de tempo disponíveis**. Outro pontos interessante a ser considerado como no exemplo da produção Soviética: às vezes será interessante preterir a entrega. Aqui temos motivações importantes e que não daria para falar tudo aqui.

# Conclusão

> O que é mais importante investir em projetos simples e baratos ou projetos complexos e caros?
> 
> [Trecho do vídeo do Hoje no Mundo Militar](https://youtu.be/xUPSVSL7En4?si=yPMh6nWpnZGCBapl&t=360)

Acredito que o importante é ter coragem para se impor nas reuniões e não romantizar prazos e os custos. Encontrar o **equilíbrio** entre soluções simples e complexas **em testes e processos é essencial para garantir qualidade** sem comprometer o orçamento e os prazos. Avaliar com carinho os benefícios e desvantagens de cada abordagem leva a decisões estratégicas mais eficazes.
