Estamos no iTunes, Spotify, Deezer e muito mais!
Em qualquer cenário, quanto maior a complexidade, maiores são os custos envolvidos. Por isso, em ambientes corporativos, sempre em busca da maximização da eficiência operacional, a busca pelo “mais simples” não é apenas algo desejável, mas, sim, um imperativo estratégico.
A complexidade tem quatro origens genéricas distintas que devem ser combatidas. São elas: dimensionalidade, interdependência, influência do ambiente e irreversibilidade.
Quanto maior o número de variáveis envolvidas, maior será a dimensionalidade. Por isso, por exemplo, qualquer software com mais features se torna mais complexo. A cada novo processo na organização, menor a simplicidade. Toda exceção suportada aumenta o custo.
Henry Ford, quando insistia que seus carros poderiam ser produzidos apenas na cor preta, limitava a “dimensionalidade” e, assim, reduzia a complexidade e os custos de sua operação. Eventualmente, por pressão do mercado, Ford teve que adaptar seu sistema produtivo para poder produzir carros com mais opções de cores.
Operações interdependentes demandam, por exemplo, sincronização. Não raro, a indisponibilidade de um recurso impossibilita o uso de outro, aparentemente não relacionado. É bastante comum que uma performance mais pobre de uma parte de um sistema deixe ele todo “lento”.
Nas organizações, é comum que uma determinada iniciativa, em uma área, só possa ser conduzida a partir da conclusão de uma atividade associada em outra área.
Sistemas mais “sensíveis” ao ambiente também são mais complexos. Afinal, demandam planejamento de contingências e workarounds.
Finalmente, a irreversibilidade também demanda cuidados. Ações ou eventos cujo ocorrências resultem em consequências que não podem ser desfeitas implicam em custo maior de planejamento, nem sempre eficiente.
Boa parte das estratégias modernas de desenvolvimento conta com o pressuposto de um “rollback” rápido. Este é o fundamento de iniciativas operacionais como DevOps.
Cabe ao CTO ajudar a organização a minimizar a complexidade de seus processos e seus sistemas combatendo-a em suas origens. Muitas vezes, entretanto, a mitigação de uma fonte de complexidade implica na exploração de outra.
Naturalmente, sistemas tendem para o incremento da dimensionalidade e da interdependência. Além disso, em ambientes cada vez mais abrangentes, é difícil controlar o impacto do ambiente, marcando, de forma irreversível impactos e prejuízos. Se o empenho de um time for orientado a apenas manter os níveis atuais de complexidade, essa irá aumentar.
[tweet]Sem um esforço consciente, eficiente e coordenado, a complexidade que emerge naturalmente corrói a capacidade das organizações de continuar fazendo o que é importante.[/tweet]