paint-brush
Por que a previsibilidade supera a velocidade na engenharia de softwarepor@davydov
33,900 leituras
33,900 leituras

Por que a previsibilidade supera a velocidade na engenharia de software

por Denis Davydov4m2023/10/30
Read on Terminal Reader

Muito longo; Para ler

Embora a velocidade seja frequentemente a principal métrica para medir a produtividade no desenvolvimento ágil de software, ela pode levar a problemas e dívidas técnicas se a velocidade for priorizada em vez da previsibilidade. Este artigo defende a importância da previsibilidade como medida do sucesso de uma equipe de desenvolvimento e sugere encontrar um equilíbrio entre velocidade e previsibilidade para obter resultados ideais.
featured image - Por que a previsibilidade supera a velocidade na engenharia de software
Denis Davydov HackerNoon profile picture



No mundo da tecnologia, a velocidade costuma ser o critério ideal para medir a produtividade de uma equipe de desenvolvimento. Velocidade é uma avaliação usada no desenvolvimento ágil de software para avaliar a quantidade de trabalho que uma equipe pode concluir em um determinado período de tempo, normalmente representado por pontos de história ou histórias de usuários concluídas em cada iteração. Em outras palavras, o que importa é a rapidez com que a equipe está produzindo código e implementando recursos. Mas, embora a velocidade seja legal e tudo mais, ela pode levar a resultados ruins e a uma série de bagunças nos bastidores se não for bem equilibrada.


Embora existam muitas outras medidas que, acompanhadas entre si, constituem um ótimo sistema para rastrear o progresso, a velocidade continua sendo uma das mais populares e, portanto, uma das mais mal aplicadas.


O fascínio da velocidade… e seus perigos

A velocidade geralmente ocupa o centro das atenções. As equipes se orgulham da rapidez com que conseguem dar vida a um novo recurso ou se adaptar às últimas mudanças do mercado. Essa busca pela velocidade demonstra o desejo de se manter atualizado sobre os concorrentes, de manter os usuários engajados e de inovar continuamente. O processo de pensamento é simples: quanto mais rápido você avança, mais você alcança e mais valor entrega aos seus stakeholders, respectivamente.


Vamos decompô-lo agora. Avançar a toda velocidade às vezes pode significar perder algo muito mais importante: a capacidade de trabalhar com menos ou nenhum esgotamento e, portanto, com consistência . Imagine construir um edifício super alto, super rápido, mas com uma base instável. Com o tempo, isso pode acumular uma tonelada de confusão tecnológica – esse é o custo oculto das soluções de solução rápida que serão afetadas mais tarde. Claro, a entrega extremamente rápida tem seu fascínio, mas vale a pena pensar nas dores de cabeça que isso pode trazer depois.



Previsibilidade: a ferramenta poderosa

A previsibilidade, como medida, refere-se à consistência e confiabilidade com que uma equipe ou sistema entrega resultados durante um determinado período de tempo. Em vez de focar na velocidade, as equipes deveriam mudar seu foco para aumentar a previsibilidade.


Há várias razões para isso:


  • Definir expectativas claras com as partes interessadas.

    Uma equipe que entrega resultados variados – 100 pontos em um mês e apenas 10 pontos nos dois seguintes – pode ser uma montanha-russa para as partes interessadas. Os resultados incertos deixam as partes interessadas num dilema, sem saber o que esperar a seguir. Em vez disso, uma equipe que entrega consistentemente, digamos, 40 pontos mês após mês torna-se o MVP – eles se tornam o jogador confiável no jogo. E é isso que o mundo empresarial realmente deseja: previsibilidade .


  • Quanto menos erros, mais longo será o jogo.

    Embora a imprevisibilidade possa trazer explosões ocasionais de brilho, é a estabilidade da previsibilidade que realmente vence no longo prazo. Aqui está uma coisa: o roteiro para a previsibilidade não é universal. Cada equipe tem sua jornada, com certeza. No entanto, existe um padrão para os melhores desempenhos.


    Práticas ágeis maduras são o fio condutor entre equipes previsíveis de alto desempenho. Quer estejam imersos em Scrum, Kanban ou numa mistura de metodologias, estas equipas definiram o ritmo que se alinha com o seu núcleo, permitindo espaço tanto para o trabalho estruturado como para a liberdade criativa. Por outro lado, há um impulso constante para melhorar, para fazer com que cada sprint ou iteração ofusque o anterior.


    Vamos considerar um exemplo específico. O Jira da Atlassian começou como um simples rastreador de bugs e problemas, mas cresceu e se tornou uma das ferramentas de gerenciamento de projetos mais populares do mundo, fornecendo seus serviços para uma ampla gama de setores. É claro que há um grande número de fatores que desempenharam um papel na ascensão da empresa, mas a previsibilidade é sem dúvida um dos mais importantes. Com um histórico de iterações consistentes (lançamento de atualizações consistentes e regulares), um ciclo de feedback, um ecossistema expansível e um roteiro transparente, o Jira garantiu sua posição em muitas organizações em todo o mundo.


O equilíbrio: velocidade versus previsibilidade

Embora meu principal objetivo neste artigo seja mostrar por que a previsibilidade supera a velocidade, meu dever é mencionar que a melhor prática é sempre um bom equilíbrio entre os dois. Sem dúvida, quando se trata de escolher a medida mais justa, a previsibilidade é algo que promete o jogo mais longo. Mas se você tiver a capacidade de construir um sistema multifacetado de avaliação, encontrar a maneira de calibrar ambas (ou até mais) medições é o melhor caminho a percorrer.


Encontrar esse meio-termo dourado requer uma abordagem híbrida. Isto não significa apenas dividir a diferença, mas sim integrar ambos os elementos no ciclo de vida do desenvolvimento. O desenvolvimento iterativo, por exemplo, pode fornecer picos de velocidade durante sprints específicos, seguidos por períodos em que a previsibilidade e o refinamento têm precedência. Reconhecendo o valor da velocidade e da consistência, as equipes teriam a capacidade de adaptar a sua abordagem a projetos e fases específicas, aproveitando os pontos fortes de cada um para produzir um produto que seja ao mesmo tempo oportuno e confiável.


Para concluir, é difícil, mas verdadeiramente importante, ter em mente que o domínio do software não deve parecer um fardo sem fim. Quando tarefas de engenharia já complexas são agravadas por métricas problemáticas e às vezes superficiais, a essência genuína do trabalho fica obscurecida, muitas vezes aumentando a tensão desnecessária. Se você está no comando de uma equipe de tecnologia, é fundamental refletir sobre como você mede o sucesso e orienta sua equipe. O melhor de tudo é perguntar e continuar verificando os colegas desenvolvedores que você pretende avaliar.