Cultura ágil nas soluções digitais: seu negócio está fazendo certo?

20 anos de agilidade no desenho, desenvolvimento e evolução de soluções digitais resolveram ou criaram um grande problema?, provoca Silvio Meira; cientista-chefe da TDS aponta 15 medidas para reduzir os riscos do seu projeto

A cultura ágil surgiu há pouco mais de 20 anos com a promessa de dinamizar os processos em alinhamento com a valorização do capital humano e hoje está plenamente estabelecida no ambiente corporativo. Mas, apesar dos resultados positivos na gestão de projetos, há quem identifique um sério risco para as organizações (e para a sociedade) caso ela não seja desenvolvida com método.

Uma das pessoas a alertar para essa questão é Silvio Meira, cientista-chefe da TDS Company, que, em conjunto com Vinícius Garcia, também cientista da TDS, tem desenvolvido uma reflexão a respeito dos – como eles chamam – 3 As: Agilidade, Arquitetura [de software] e Apocalipse. Em março, o assunto foi debatido na TDC Connections, maior evento relacionado a desenvolvimento de software no Brasil.

 

Silvio Meira no TDC Connections

A combinação entre agilidade e arquitetura de software é uma das fundações principais das organizações, mas a inobservância de determinados princípios pode trazer no médio prazo [meses, até] o colapso do que foi desenvolvido em décadas.

“Nos últimos 25 anos, escrevemos uma sociedade em código. Acredito que poucas pessoas pararam para pensar nos impactos filosóficos, sociais e econômicos disso. O código está presente desde o lançamento de um foguete até a uma simples maquininha de pagamento de um vendedor na rua. E agora o próximo passo é termos robôs escrevendo boa parte dos códigos. São fatores que reservam implicações dramáticas para a humanidade se não lidarmos com a combinação de agilidade e arquitetura, pois potenciais problemas não irão atingir apenas uma ou outra organização, mas toda a sociedade”, alerta Silvio Meira.

AGILIDADE E CÓDIGO: COMO COMBINÁ-LOS?

Um processo ágil deve ser descentralizado [comunicação realizada entre os agentes sem a influência de um mediador] e distribuído [decisões sendo tomadas não apenas no núcleo
da gestão, mas nas bordas das organização, onde os problemas estão]. Durante a pandemia, um terceiro fator foi introduzido no agile: a assincronia, que passou a ser quase uma norma nos projetos de construção colaborativa.

“Escrever um código sob tais condições não é nada trivial. Desenhar código é desenhar pensamento, imaginar e descobrir possibilidades, transformá-las em realidade concreta. É, em última instância, influir diretamente no comportamento das pessoas”, diz Silvio.

Esse conjunto de fatores é um processo de criação de uma cultura, de um espírito de inovação e criatividade que deve ser perseguido pelas lideranças de qualquer organização.

AGILIDADE E A TOMADA DE DECISÃO

O cientista Heinz von Foerster já falou que só podemos decidir sobre o que é indecidível, pois todo o resto é cálculo e os cálculos não são decisões. Decisões são, portanto, um dos grandes problemas “insolúveis” das organizações e geradoras de novos problemas que demandarão mais decisões. Uma organização, em síntese, é um sistema de tomada de decisões.

Estudos indicam que um grande problema das organizações é reduzir o tempo de tomada de decisão. Quando a latência das decisões é de menos de uma hora, a taxa de sucesso dos projetos é de 68%. A cifra cai paulatinamente à medida que este tempo avança. Em cinco horas, por exemplo, a taxa de sucesso cai para 18%.

A metodologia ágil ataca justamente este nervo central e consequentemente o mais estratégico ao promover:

  • Flexibilidade e adaptabilidade para responder rapidamente a mudanças;
  • Tempo-para-o-mercado mais rápido, com respostas ágeis às mudanças;
  • Mais colaboração e comunicação;
  • Melhor qualidade nas respostas dadas aos problemas; e
    Cliente mais satisfeito com os ciclos de desenvolvimento mais rápidos.

DESAFIOS

Para Silvio Meira, um resultado potencial da má gestão das metodologias ágeis é a falha em priorizar considerações arquiteturais de longo prazo, uma vez que a o desenvolvimento rápido e a interação da agilidade pode levar a dúvidas técnicas e a decadência, além de erosão arquitetônica. Nos grandes negócios, a situação é ainda mais delicada devido à complexa cultura organizacional e falta de distribuição real de poder.

O cientista elenca 15 pontos essenciais para superar esses desafios e evoluir os projetos com redução dos riscos inerentes.

  1. Documentação: O risco de perder informação no ciclo de vida do projeto ágil é alto e acontece com uma frequência muito longe do ideal. É preciso criar um conjunto de performances associadas à preservação e evolução da informação;

  2. Acúmulo de débito técnico no ciclo de vida do projeto: durante a evolução, cria-se um frenesi de funcionalidades que acumulam problemas não resolvidos e irão colapsar na hora de escalar o serviço ou produto;

  3. Visão de futuro: priorização excessiva para o curto prazo é um problema. É preciso trabalhar estrategicamente a viabilidade do negócio no longo prazo através de constantes revisões e atualizações;

  4. Revisar, testar e observar o uso do código pelos clientes: é preciso garantir que a entrega contínua e frequente de um projeto ágil seja de qualidade;

  5. Coesão: código fragmentado ou redundante dificulta a integração e consistência da base;

  6. Evolução da arquitetura: iterações frequentes e entrega contínua sem foco na arquitetura resultará em software radioativo. O time de desenvolvedores deve continuamente revisar a arquitetura e os padrões de design;

  7. Visão estratégica: sem ela, priorizar entrega rápida levará o software a não atender as necessidades de longo prazo;

  8. Estabelecer requisitos estruturais: flexibilidade, adaptabilidade e mudanças constantes pode levar a um looping de retrabalho. É preciso escolher o que não vai mudar e cumprir esta decisão;

  9. Foco no time: não valorizar as pessoas que atuam no negócio pode acarretar perda de conhecimento e expertise institucional ao longo do tempo. O time precisa ter estabilidade, carreiras claras e empoderamento na tomada de decisão;

  10. Implementação inconsistente entre times: criar padrões, estabelecer documentação clara, investir e treinamento e suporte são fundamentais para evitar problemas de integração e defeitos em longos ciclos de vida;

  11. Obsolência técnica: entrega rápida sem atualizações e manutenção regulares de tecnologia resultará em software impossível de manter, obrigando-o a ser reescrito, o que elevará os custos;

  12. Controle de custos: Orçamento fluido sem a devida atenção pode tornar o desenvolvimento caro e levar o projeto ao colapso. É essencial tomar medidas de controle, como revisões e atualizações períodicas do orçamento;

  13. Feedback do usuário: Testes, pesquisas, grupos focais, prioridade para design e UX em todo o processo são formas de validar a solução proposta pelo software;

  14. Segurança da informação: Negligenciar estruturalmente a segurança de dados é uma receita para desastres que podem inviabilizar o projeto. Segurança deve ser tratada “by design” de forma crítica, com modelagem de ameaças e treinamento do time; e

  15. Agilidade não é religião. Não deve ser tratado como um dogma. São princípios que norteiam o desenvolvimento de software. É, antes de tudo, flexível e adaptável.

Já pensou ter esses e outros materiais reunidos pela curadoria da TDS com tudo que está rolando no Brasil e no mundo sobre estratégia e inovação?

A bits and tips é a newsletter semanal da TDS Company, perfeita para acompanhar um cafezinho e te encher de conteúdo relevante.

Assine gratuitamente aqui e faça parte da nossa comunidade!