DEV Community

Francisco Zanfranceschi
Francisco Zanfranceschi

Posted on

4 1

[Conceito] - Acoplamentos Aferente e Eferente (Software e Times)

Conteúdo original nessa thread do Twitter


Ei dev,

Já parou pra pensar que dependência tem perspectiva. Já ouviu falar sobre acoplamento AFERENTE e EFERENTE? São termos geralmente usados pra medição de instabilidade de software.

Mas a gente pode extrapolar um pouco esse conceito e pensar em times!

cc @sseraphini

img


Quando falamos sobre aferência, estamos nos referindo a dependências que as outras coisas têm de nós. Ou seja, de fora para dentro, do externo para o interno. Por exemplo, um componente com acoplamento aferente, é um componente que é a dependência de outros outros componentes.


Quando falamos sobre eferência, estamos falando do sentido inverso da aferência. Ou seja, de dentro para fora, do interno para o externo. Um serviço com dependência eferente, é um serviço que depende de outro componente. Geralmente, é o tipo implícito de dependência que falamos.


Vamos extrapolar um pouquinho isso pra além de sistemas e pensar em times que cuidam de serviços (também com dependências aferentes e eferentes).


Pense comigo, se você cuida de serviços com muitas dependências aferentes, a chance de seu time ser solicitado com mais frequência é grande. Ou seja, com dependência aferente, você tem mais chances de "SER INCOMODADO".


Agora, se seus serviços possuem muitas dependências eferentes, a chance maior é de que "VOCÊ INCOMODE" mais do que seja incomodado.


Claro, estou usando termos pejorativos sobre incômodo, mas é só pra ajudar na fixação do conceito :)

Gosto de trazer esse tipo de discussão pra provocar a questão do acoplamento também entre times pra além de sistemas.


Lembre-se: acoplamento de runtime, muito frequentemente, resulta em maior acoplamento também de design time. E design time pode significar ter que se envolver com outros times.

A falta de autonomia de times num ambiente de microsserviços não é um bom sinal.


Conta aí se vc se identificou ou vive alguma dificuldade por causa desses tipos de acoplamento.

Ah, e obrigado demais por ter lido até aqui! Vc é a razão pra eu me dedicar a produzir esse tipo de conteúdo, viu? 💕

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay