No Silver Bullet, de novo

A exploração dos conceitos de Frederick Brooks e a análise dos hypes contemporâneos destacam a incessante busca por uma bala de prata no desenvolvimento de software. Ele desafia a ideia de soluções mágicas, enfatizando a importância de mentes brilhantes. Ao investigar os hypes e abordagens em voga, reforçamos que a maturidade tecnológica surge da compreensão profunda e aplicação consciente de cada ferramenta. Nesse cenário, onde No-code, Low-code, Metaverso e Computação Quântica coexistem, a sabedoria está em discernir entre modismos e soluções duradouras, enquanto a busca pela excelência continua como uma jornada incremental, guiada por mentes excepcionais e princípios sólidos diante das marés da inovação tecnológica.

DORA Metrics

O framework DORA Metrics destaca-se como uma abordagem abrangente e estratégica para avaliar o desempenho das equipes de desenvolvimento e operações. As quatro métricas essenciais - Deployment Frequency, Lead time for change, Mean time to restore e Change Failure Rate - não apenas oferecem insights valiosos sobre a eficácia operacional, mas também estão intrinsecamente interconectadas. Assim, ao adotar essas métricas, as organizações podem alcançar uma compreensão holística de seu ciclo de vida de desenvolvimento, promovendo uma cultura enraizada em qualidade, agilidade e melhoria contínua.

O framework DORA Metrics destaca-se como uma abordagem abrangente e estratégica para avaliar o desempenho das equipes de desenvolvimento e operações. As quatro métricas essenciais – Deployment Frequency, Lead time for change, Mean time to restore e Change Failure Rate – não apenas oferecem insights valiosos sobre a eficácia operacional, mas também estão intrinsecamente interconectadas. Assim, ao adotar essas métricas, as organizações podem alcançar uma compreensão holística de seu ciclo de vida de desenvolvimento, promovendo uma cultura enraizada em qualidade, agilidade e melhoria contínua.

Fuja da otimização prematura

À medida que exploramos os meandros da otimização prematura, torna-se evidente que essa prática pode ser uma armadilha sutil que pode prejudicar mais do que beneficiar o desenvolvimento de software. Infelizmente nem sempre a vaidade dos desenvolvedores se atém a isso. O renomado cientista da computação Donald Knuth nos alerta que a otimização prematura é a raiz de todos os males, destacando a importância de evitar decisões precipitadas e buscar um entendimento completo dos requisitos do projeto.

À medida que exploramos os meandros da otimização prematura, torna-se evidente que essa prática pode ser uma armadilha sutil que pode prejudicar mais do que beneficiar o desenvolvimento de software. Infelizmente nem sempre a vaidade dos desenvolvedores se atém a isso. O renomado cientista da computação Donald Knuth nos alerta que a otimização prematura é a raiz de todos os males, destacando a importância de evitar decisões precipitadas e buscar um entendimento completo dos requisitos do projeto.

O básico de Apache Airflow

O Apache Airflow é uma ferramenta notável por sua flexibilidade e por trabalhar diretamente com python, que facilita bastante. O orquestrador de workflows de dados trabalha com diversas dags para cumprir o seu propósito. O artigo oferece uma visão geral tanto do conceito quanto de uma criação real em python.

O Apache Airflow é uma ferramenta notável por sua flexibilidade e por trabalhar diretamente com python, que facilita bastante. O orquestrador de workflows de dados trabalha com diversas dags para cumprir o seu propósito. O artigo oferece uma visão geral tanto do conceito quanto de uma criação real em python.

A essência da Orientação a Objetos

Esse artigo traz as bases conceituais associadas ao paradigma Orientado a Objetos, mas não apenas as ideias de abstração, encapsulamento, etc. mas as consequências do seu uso. Por conta disso vemos, de modo geral, conceitos como Entropia de Software, Acoplamento e Coesão, e um pouquinho de código por que ninguém é de ferro.

Esse artigo traz as bases conceituais associadas ao paradigma Orientado a Objetos, mas não apenas as ideias de abstração, encapsulamento, etc. mas as consequências do seu uso. Por conta disso vemos, de modo geral, conceitos como Entropia de Software, Acoplamento e Coesão, e um pouquinho de código por que ninguém é de ferro.

Factory no Domain Driven Design

Factory no Domain Driven Design (DDD)

A Factory do Domain Driven Design (DDD) é um padrão tático que pode ser utilizado de modos diferentes, com o objetivo de facilitar a geração de novos agregados. Lembre-se que a instância de objetos tem que ser fácil, mas isso nem sempre é aplicado desse modo nos códigos que vemos no dia-a-dia.

Princípios e Acrônimos: SPOT, DRY, AHA, etc.

Entenda melhor os Princípios de design system e os acrônimos comuns: SPOT, SSOT, DRY, AHA, KISS, WET, YAGNI, SOLID, etc.

Essas siglas e acrônimos se espalham com muita facilidade por serem projetados para serem lembrados. Alguns soam bobos por forçarem muito a barra para gerar o encaixe do do explicação com o acrônimo. Além disso, alguns deles são simplesmente ideias gerais e outros são claros e definem pontos específicos na construção de projetos. Assim o artigo Princípios e Acrônimos: SPOT, DRY, AHA, etc. vai dar uma pequena visão geral sobre os mais utilizados hoje em dia. No mais, acho que eles nem sempre têm relação específica com o desenvolvimento, mas com a definição de projetos ou até mais longe: na condução das ações da vida.

Domain Driven Design tático

Os 7 padrões do DDD Tático

O DDD pode ser observado por dois grandes pontos de vista: o estratégico e o tático. O DDD estratégico oferece elementos conceituais robustos que ligam a estruturação do software com as características particulares do negócio. Já o Domain Driven Design tático dá meios para que implementações reais, independentes de linguagem de programação, consigam garantir a entrega das necessidades estratégicas. Muitos veem o DDD apenas do ponto de vista tático – com seu conjunto de Patterns – mas entenda que somente esse ponto sem a estratégia há um empobrecimento de seu uso e, de certo modo, destrói-se a implementação do DDD. Veja nesse artigo os 7 padrões do DDD tático e como eles podem ser utilizados.

Desvendando o Context Map

Entenda de uma vez por todas o que é Domain Driven Design estratégico e as nove possíveis relações entre os contextos. O DDD é uma abordagem completa para lidar com softwares grandes que tem como premissa o devido entendimento da complexidade do negócio utilizando a chamada Linguagem ubíqua. A partir daí se constrói mapas com domínios e sub-domínios. E continuando, a partir do mapa de domínios é possível extrair estruturas menores chamadas de contexto.