Uma visão sistêmica para o desenvolvimento de produtos digitais - Parte 1
Os desafios para a entrega de produtos digitais
Executar com sucesso a entrega de produtos e serviços digitais que geram o impacto necessário conectando a estratégia da empresa as necessidades do usuário é a competência chave que muitas empresas não possuem. O que vemos sistematicamente são empresas falhando ao tentar atingir essa visão de maneira sustentável no médio e longo prazo.
Infelizmente, na grande maioria das vezes, iniciativas de desenvolvimento de produtos falham, muitas vezes não por conta de uma falta de visão que consiga orientar a geração e captura de valor, mas sim porque a iniciativa é executada de maneira equivocada causando impactos negativos na equipe, nos clientes e na empresa, impactos esses que podem perdurar por muito tempo em sua cultura.
Por que vemos sistematicamente na indústria iniciativas de produtos digitais, entrega de software ou ainda simplesmente de projetos que atrasam, e que mesmo utilizando algum variação de agilidade, ainda sim são entregues com baixa qualidade, a partir do custo emocional e psicológico das pessoas envolvidas e que em última instância não conseguem gerar/capturar o valor que se propõe?
Em um artigo recente, que vai ser publicado na IEEE Transactions on Software Engineering chamado “Factors affecting on-time delivery in large-scale agile software development”, os praticantes Eric Greuter ( Chief Product Owner de IT Infrastructure, data & analytics @ ING TECH ), Georgios Gousios (Research Engineering @ Facebook) e o professor de engenharia de software Arie Van Deursen ( Delft University of Technology, Holanda ) exploraram os fatores que afetam a entrega de software e produtos digitais dentro ou fora do prazo em iniciativas escaladas com agilidade.
O estudo é composto de uma pesquisa qualitativa e uma analise quantitativa em cima de uma base de dados com mais de 2 anos de iniciativas digitais executadas por mais de 185 times da ING que se organizavam em torno de alguma variação de métodos ágeis em escala.
Na pesquisa com membros das equipes sobre o que afeta a entrega dentro ou fora do prazo, as dimensões abaixo foram exploradas:
aspectos organizacionais ( por exemplo, alinhamento organizacional, politicagem, distribuição geográfica das equipes, apoio executivo, etc… )
processos ( por exemplo, refinamento dos requisitos e entregas frequentes )
gestão de projeto ( por exemplo, quantidade de dependências ou tamanho da iniciativa)
pessoas ( por exemplo, estabilidade dos membros do time e comunicação )
aspectos técnicos ( por exemplo, infra-estrutura instável/indisponível ou falta de testes )
A partir do resultado da pesquisa foram encontradas qualitativamente as seguintes relações percebidas conforme a resposta dos participantes:
O que fica evidenciado nesta tabela é a relação percebida, por exemplo, entre dependências de uma tarefa e refinamento de um requisito influenciando um eventual retrabalho. Testes insuficientes e a ocorrências de bugs e incidentes também influenciam em retrabalho, assim como uma infraestrutura confiável e disponível afeta o tempo de espera não planejado no desenvolvimento da iniciativa.
O modelo conceitual abaixo ajuda a representar de maneira sistêmica a relação entre as diferentes dimensões e o seu impacto em tempos de espera não planejados, retrabalho necessário e efetividade da equipe.
Recomendo a leitura. No entanto uma pergunta permanece: por que ainda existe tanto desafio para a entrega de iniciativas digitais ( produtos, serviços, plataformas, features, bugs, experimentos e validações ) dentro das restrições estabelecidas? Por que iniciativa atrás de iniciativa os mesmos padrões de comportamento dos agentes envolvidos são encontrados e reproduzidos? Por que boas intenções dentro de uma empresa sistematicamente se transformam em uma marcha da morte em direção a uma data fatal para os envolvidos?
A marcha da morte…
A situação normalmente se apresenta da seguinte forma: uma iniciativa, muito importante dentro da empresa, precisa ser executada dentro de algumas restrições, fortemente limitada em pelo menos duas das três restrições descritas a seguir: tempo/prazo, escopo, custo/investimento. Talvez seja o caso de existir muito escopo à ser feito e pouco tempo disponível até o deadline esperado pelos principais stakeholders ou a necessidade de fazer muita coisa com poucos recursos disponíveis devido a uma restrição de investimento.
Independente da situação, uma dinâmica começa onde quanto menor o tempo restante até o prazo, maior é a pressão da falta de tempo para terminar o que tem que ser feito. Nesse ponto é comum que uma das primeiras alavancas a serem acionadas seja o artifício de horas extras ( overtime ) para compensar esse desequilíbrio.
Obviamente, se o time "criar" mais horas disponíveis em um dia de trabalho ele conseguiria acomodar mais atividades em um mesmo espaço de tempo, o que invariavelmente ajudaria a finalizar mais atividades ( trabalho ), o que diminuiria o backlog de atividades por fazer ( trabalho restante ), e eventualmente a pressão por prazo diminuiria e nós conseguiríamos sair desse ciclo.
No entanto, existe um delay entre os feedbacks das ações acima atingirem outras partes envolvidas nessa dinâmica: o que nos vemos na prática é que é relativamente sustentável que um grupo de trabalho, pratique uma quantidade pequena de horas extras durante um período pequeno de tempo para atingir um objetivo claro e de curto prazo que seja importante para os clientes/usuários e outro stakeholders.
Contudo, se o ritmo de horas extras se tornar a norma ( ou permanecer de forma insustentável por um período mais longo de tempo ) os efeitos causados por correr essa milha extra prolongada são diversos: fadiga, stress, insatisfação e baixa moral da equipe, efeitos esses que invariavelmente diminuem a produtividade da equipe, o que afeta negativamente a quantidade de trabalho finalizado, fazendo com que tenhamos mais backlog por fazer em um tempo menor ainda, intensificando ainda mais a pressão da proximidade do final do prazo, reforçando mais ainda essa espiral da morte.
Obviamente, uma equipe trabalhando em um ritmo insustentável de trabalho por um período prolongado, acumulando fadiga, stress e insatisfação, invariavelmente vai aumentar a quantidade de erros cometidos e defeitos gerados, ou simplesmente vai cortar caminhos de alguma forma, fazendo soluções rápidas e de baixa manutenibilidade, normalmente diminuindo consideravelmente a qualidade do que está sendo executado.
A atenção, engajamento e a energia dos membros da equipe decrescem com o tempo em uma situação como essa, assim como a pressão intensificada envolvida não contribui para um trabalho minucioso.
Quanto maior a quantidade de erros e defeitos introduzidos, mais problemas eventualmente são ( ou serão ) descobertos, fazendo com que uma quantidade de retrabalho volte para o backlog, aumentando mais ainda a quantidade de itens restantes no backlog, o que adiciona mais pressão ainda no prazo.
Em um ambiente como esse, um dos movimentos naturais observados é o êxodo de talentos participando ( ou dispostos a participar ) daquela iniciativa, devido a sua estrutura e dinâmica insustentável.
Esse turnover na equipe, onde membros pedem para deixá-la ou simplesmente pedem demissão da empresa, diminui a quantidade de pessoas disponíveis no time ( tanto quantitativamente quanto qualitativamente - pessoas que efetivamente entendem a iniciativa, tenham superado a curva de aprendizado e consigam contribuir de maneira produtiva com a iniciativa, especialmente no curto prazo ), o próximo efeito é a diminuição do trabalho finalizado, aumentando o acumulo de atividades por fazer no backlog, aumentando mais ainda a pressão do prazo final, colocando uma força adicional aos ciclos anteriores.
Por último, o ambiente onde essa iniciativa está inserida se transforma em um ambiente inseguro onde normalmente se é estabelecida uma dinâmica de encontrar culpados para o problema em mãos com a intenção de resolver o problema no curto prazo ( e não as suas causas raízes ) e “desempacar” a iniciativa, o que acaba gerando complicadores adicionais:
Inspirado no artigo Protect Your Project From Escalating Doubts
Quanto mais inseguro é o ambiente da iniciativa, menor é a transparência para compartilhar questões críticas e problemáticas sobre a iniciativa, quanto menos essas questões são compartilhadas menor é a resolução de problemas do mesmo, isso aumenta o acumulo de problemas, o que obviamente transforma o ambiente mais inseguro ainda, intensificando mais uma vez esse ciclo vicioso.
Parece familiar?
Como chegamos até aqui e o que fazer?
A dinâmica descrita acima pode se apresentar com algumas variações maiores ou menores, mas a sua essência não costuma ser tão diferente. Nos próximos artigos vamos explorar como costuma-se chegar nessa situação durante o desenvolvimento de produtos digitais e quais são as abordagens que costumam gerar bons resultados e quais são as práticas a serem evitadas.