Complexidade de Software

Evitando a complexidade através do Design de Software
Artigo

Evitando a complexidade através do Design de Software

Sair do 'Big Design Up Front' para o 'No Design' foi um erro que muitos times cometeram. Neste artigo, resgato o valor do 'Enough Design' e mostro como o Domain-Driven Design, a Linguagem Ubíqua e o Design Orientado a Responsabilidades podem domar a complexidade. Aprenda a transformar requisitos complexos em partes simples e interativas, usando técnicas como BPMN e refatoração, para manter a velocidade do seu time e a saúde do projeto no longo prazo.

Como identificar e controlar a complexidade através de abstrações eficientes?
Artigo

Como identificar e controlar a complexidade através de abstrações eficientes?

Eu já rejeitei PRs só porque o código estava "limpo" demais. Neste artigo, vou te mostrar que a verdadeira complexidade não está nas linhas, mas nas abstrações que você deixa de criar. Vamos falar sobre os sintomas que matam projetos (amplificação, carga cognitiva e os tais "desconhecidos desconhecidos") e como um simples buffer pode salvar seu sistema.