Dívida Técnica e falta de qualidade nas soluções de TI - HNZ - DevOps
By HNZfevereiro 4, 2021janeiro 7th, 2022No Comments
Muitas vezes sem perceber, sem avaliar muito as consequências, cedendo a prazos mais agressivos, a uma cultura de fazer rápido, tomamos algumas decisões que podem ter consequências negativas em ações futuras.
Sabemos que nas condições de um mercado altamente dinâmico, que exige muitas vezes dos gestores soluções rápidas e adaptativas em forma contínua, estamos de uma ou outra maneira, absorvidos em um cotidiano de ações de curto prazo.
Assim, de maneira bastante comum, certamente estamos adiando algumas decisões na escolha de atender rapidamente alguma condição atual. Este adiamento, que de alguma maneira poderíamos observá-lo como um débito, uma pendência, uma melhoria, ou seja, precisamos em algum momento futuro, revisitar esta solução para reestruturá-la.
Esse é um problema corriqueiro independentemente do tamanho ou do setor da empresa. Muitas vezes ela é causada por conta de uma pressão intensa por entregas, por agilidade no processo, fazendo com que a qualidade seja deixada um pouco de lado. Essa pressão pode vir de dentro da organização, dos clientes, e até de uma cobrança pessoal excessiva.
Estas pendências deveriam ser levadas mais a sério dentro das organizações, pelas consequências que podem acarretar o adiamento na resolução. O débito técnico nos leva a dependências, desperdícios, retrabalhos, esperas e demoras para melhoras ao adaptar a solução a novas demandas. Ainda mais, quando precisamos encontrar soluções a falhas em tempo reduzido, o débito técnico pode ser um grande vilão ao dificultar estas ações, dilatando tempos preciosos quando o negócio é afetado. Para não ocorrer isso é necessário que todas as áreas estejam altamente alinhadas, em uma cultura que presa pela qualidade. Mas afinal, o que é uma dívida técnica?
Análoga à dívida financeira, a dívida técnica descreve como as decisões que tomamos em curto prazo nos levam a problemas cada vez mais difíceis de corrigir ao longo do tempo. Ela faz com que as opções disponíveis no futuro para um a resolução de um problema seja cada vez mais escassas e quanto tempo mais demorarmos em resolver, maior é o desperdício gasto em resolvê-lo, especialmente, pelo comportamento de "bola de neve", onde as decisões vão se sobrepondo uma as outras, tendo muito esforço comprometido na hora de finalmente pagar esta dívida. Os juros se acumularam e fica um preço muito alto a pagar.
Consequências da dívida técnica
Todos esses conflitos crônicos causados pela dívida técnica, geralmente colocam os profissionais de TI em situações que levam:
À baixa qualidade de software e serviço;
À maus resultados para os clientes;
Necessidade diária de soluções alternativas;
Ser uma TI reativa
Quebrar todo o planejamento
Solução em múltiplos níveis
É por isso que a abordagem para enfrentar esta maneira de fazer gestão, requer uma solução em múltiplos níveis.
Se pensarmos do ponto de vista cultural, avaliar melhor o modelo das necessidades de tomar uma decisão que privilegie resultados de curto prazo a custas do futuro.
Mensurar de alguma maneira estes impactos
Estruturar formas de pagar a dívida técnica em forma regular e continua não esquecendo dela, e priorizando sua resolução de acordo com as atividades diárias
Fomentar uma cultura de colaboração que permita analisar estes débitos, e estimular e promover planos concretos de resolução.
Como diminuir e controlar a dívida técnica?
Formalmente é necessário focar em 3 passos simples e objetivos: Identificar – Mensurar – Monitorar. Se pensarmos em sistematizar, o kaizen nos ajuda a inserir práticas de melhoria em forma contínua. Assim, podemos ainda aplicar diversos métodos como: Análise (de código) Estática Automática, Code Smells, Padrões de Design e Grime, Violações de Modularidade, Testes automatizados Unitário, de Aceitação funcional e não funcional, Calculando a Dívida Técnica e seus impactos, Agrupamento da Dívida Técnica, Dimensionamento da Dívida Técnica, Escala do SQALE, Kiviat, Pirâmide SQALE, Tracker, Kanban, etc.
O importante é estar ciente do tipo de decisão que estamos tomando e dos seus impactos e consequências. A qualidade é de responsabilidade de todos.
O movimento Lean ajuda muito a melhorar a qualidade da sua entrega, maximizando o valor sob a ótica do cliente e minimizando resíduos ele se baseia em 5 princípios: