Quais são as causas principais de atrasos no desenvolvimento de software e como os investidores podem alavancar o crescimento?
Mostramos como um delay de duas semanas no desenvolvimento atrasou um squad de 10 pessoas em uma organização com um time P&D de 100 desenvolvedores, o que levou a perda de 1/3 do valor da empresa e reduziu a taxa de crescimento de 30% para 18% a.a.
O que poderia causar um atraso de duas semanas no desenvolvimento de software?
O desenvolvimento de software é inerentemente arriscado devido aos potenciais problemas que podem surgir relacionados à tecnologia, aos processos e às pessoas.
Aqui estão alguns exemplos do que pode contribuir para atrasos no desenvolvimento de software:
Rotatividade de Devs (Developer Churn)
A empresa pode ter uma alta taxa de rotatividade de desenvolvedores, implicando que uma grande quantidade de tempo será gasta em onboarding onboard. Isso impacta a produtividade e pode ocasionar perda de conhecimentos relevantes, dependendo da qualidade da documentação e práticas de compartilhamento de conhecimento. Outra situação bastante comum é a a perda de uma pessoa chave – alguém com conhecimento exclusivo de um determinado sistema ou módulo, por exemplo. Esta situação é ainda mais grave e significa que a equipe restante precisa gastar tempo para reconstruir esse conhecimento para estar em condições de manter e evoluir este legado de forma efetiva.
Para o time, a alta taxa de rotatividade frequentemente induz a perda de conhecimento sobre a base de códigos, tempo excessivo gasto no onboard, bem como uma deterioração das práticas de colaboração e sinergias entre os desenvolvedores. Tudo isso pode ter influência negativa na velocidade de desenvolvimento de software, afetando, por sua vez, o negócio que depende dele. Essa taxa de rotatividade é uma das métricas avaliadas pela plataforma da Avalia ao realizar a Due Diligence de Software baseada em dados. – Guillaume Serneels, Engenheiro de Dados e Software na Avalia
Falta de Testes Automatizados
Se a abordagem de testes automatizados tem baixa cobertura e a garantia de qualidade depende excessivamente de testes manuais, a qualidade e a velocidade de desenvolvimento são impactadas. Na prática, isso significa que bugs podem estar sendo criados ao longo das mudanças no código sem a devida gestão de qualidade.
Falta de Documentação Técnica
Quando as coisas estão mal documentadas, isso tem um impacto sobre a produtividade. No contexto do desenvolvedor em fase de onboarding, é muito difícil adquirir conhecimentos rapidamente e se tornar produtivo.
Falta de Conhecimento de Domínio
Mudar frequentemente os desenvolvedores de uma área de trabalho para outra, por exemplo, pode dificultar o desenvolvimento do conhecimento do domínio e impactar a produtividade e a eficiência do mesmo.
“Context Switching” e Mudanças de Prioridades
Freqüentes mudanças de contexto e trocas de prioridades têm um impacto na velocidade de desenvolvimento e também na motivação da equipe e sua percepção da organização . Um desenvolvedor pode precisar de tempo para analisar um código complexo, mas durante esse tempo, outras prioridades invariavelmente surgirão. Essa troca de tarefas quebra o fluxo do desenvolvedor.
Os processos para gerenciar planos e desenvolvimento de produtos também podem ser uma grande fonte de perda de velocidade. Especificamente, a aplicação dos processos pela equipe, sua complexidade em relação ao tamanho da empresa ou do projeto, ou a falta destes ou de indicadores, podem instigar mais perdas. A Avalia tem vários indicadores de desenvolvimento de processos que podem ajudar a aumentar o desempenho de uma equipe e a velocidade de desenvolvimento. – Maurício Bento, Diretor de Negócios na Avalia.
Falta de Clareza nas Especificações
A forma como as pessoas colaboram e a qualidade das especificações pode levar a falhas de comunicação, gerando retrabalhos dispendiosos e atrasos nas entregas.
Débito Técnico
Quando há um desequilíbrio entre a relação de esforço dedicado a novas funcionalidades versus manutenção da arquitetura/engenharia, a complexidade alcança um nível inadministrável. Isso pode paralisar os negócios devido a imprevisibilidade no tempo de entrega e custos crescentes de sustentação e provisionamento.
A velocidade de desenvolvimento do software é importante, pois isso leva a um ciclo virtuoso. As equipes que estão “in the zone” encontraram uma maneira de melhorar seu software de forma contínua. Elas encontraram um bom equilíbrio entre o tempo gasto em novas funcionalidades e o tempo gasto para cuidar da estrutura do software. Nessas equipes, a satisfação e a motivação são altas, o que se traduz em um trabalho de qualidade sustentável. – Olivier Liechti, CTO e Co-Fundador da Avalia
Estas são apenas algumas das causas comuns que geram atrasos no desenvolvimento de software. Uma avaliação da tecnologia, dos processos e da dinâmica entre as pessoas baseada em dados facilita obter uma visão geral de onde estão os principais gargalos, os quais vão se traduzir num plano de ação concreto. Quanto menor a velocidade de desenvolvimento, menor será o crescimento. Para os investidores, isto implica um menor retorno no momento do “exit” do investimento.
Due Diligence de Software: passo indispensável para investidores de tecnologia
A maximização do retorno dos investimentos onde a inovação tecnológica é a força motriz do crescimento depende da avaliação do plano de negócios, da identificação de riscos críticos e do planejamento de melhorias desde o início.
A Due Diligence do Software Avalia conecta os pontos entre tecnologia e negócios para fornecer respostas a perguntas-chave:
O plano de negócios pode ser entregue no cenário atual?
Que métricas são necessárias para uma governança tecnológica eficaz?
O que precisa ser priorizado em um plano de 100 dias?
Com o quadro completo, as principais percepções e um plano de ação, os investidores estão capacitados a ajudar as empresas de sua carteira a atingir seus objetivos e alcançar melhores resultados rapidamente.
Saiba mais sobre a Due Diligence de Software da Avalia: agende uma conversa.
Comments