Por que a abordagem ágil não é suficiente?
A agilidade é fundamental para as empresas que tentam acompanhar as expectativas dos clientes e as tendências emergentes dos negócios. Ao adotar uma abordagem ágil, as equipes de desenvolvimento de software podem criar novos produtos e serviços rapidamente, transformar processos e até ajudar a reinventar a organização. Porém, as equipes ágeis podem tropeçar à medida que interagem e dependem de outras pessoas, tornando-se uma questão de antecipar e mitigar esses pontos de estrangulamento na organização.
Considere uma empresa de cartão de crédito que deseja atualizar seu aplicativo móvel para que os clientes possam verificar e resgatar facilmente seus pontos de recompensa. A empresa cria uma equipe ágil de desenvolvedores, designers e um proprietário de iniciativa que entende o comportamento do cliente e pode tomar decisões sobre foco e prioridades. Essa equipe atualiza o aplicativo em poucas semanas, mas leva meses para outra parte da organização fornecer os feeds de dados do sistema de recompensas e ainda mais para outra parte integrar essas alterações ao aplicativo, atrasando o lançamento da nova funcionalidade.
Os clientes gostam do novo recurso, mas agora também querem ver a atividade de pontos recentes ao fazer login. Os membros da equipe ágil original seguiram em frente e, como todos estão ocupados, leva alguns meses para reunir uma nova equipe. Essa equipe faz as alterações, mas ignora um defeito que faz com que a atualização falhe no teste de vulnerabilidade. Uma vez consertada, a equipe de operações se recusa a liberar o código para os clientes sem testes mais completos. Discordâncias entre as equipes de desenvolvimento e operações sobre a extensão desses testes atrasam ainda mais a nova atualização.
Esse tipo de história é muito comum para muitas empresas, mesmo aquelas com forte foco tecnológico. O que essas organizações encontraram em suas narrativas de transformação nos levam a uma lição importante: a abordagem ágil é poderosa, mas não é suficiente. Para ter uma organização digital verdadeiramente eficaz, as empresas precisam corrigir os obstáculos que retardam o rápido progresso do desenvolvimento ágil de software. Três impedimentos, em particular, trabalham contra o ágil na maioria das organizações: arquitetura rígida, gerenciamento deficiente de talentos e falta de mentalidade de produto. Neste artigo, exploraremos cada um deles e apresentaremos as formas pelas quais as organizações podem superá-los.
Arquitetura de tecnologia rígida
Na maioria das empresas, os aplicativos que interagem com os clientes e administram os negócios foram desenvolvidos antes que as abordagens arquitetônicas modernas se enraízassem e, portanto, sofrem com essa rigidez, com muitos recursos e funções frequentemente interdependentes.
Na maioria dos casos, não é realista re-arquitetar todos os sistemas para atender aos modernos padrões de integração usando APIs e microsserviços. Em vez disso, a maioria das organizações adota uma das quatro abordagens comuns.
- Fazer nada - Alguns aplicativos são muito pequenos ou com pouca frequência atualizados para garantir a modernização do investimento.
- Enrole e prenda - Exponha os principais recursos e funcionalidades do aplicativo por meio de interfaces bem definidas (APIs) enquanto cria novas funcionalidades em sistemas modernos.
- Re-arquiteto ou refatorado - Altere o design do aplicativo, incluindo dividir a base de código em uma série de partes funcionais discretas e independentes e remover valores codificados.
- Substitua - Desenvolva um novo aplicativo usando padrões arquiteturais modernos, como microsserviços.
Diferentes abordagens farão sentido para diferentes áreas da arquitetura e os executivos devem pensar no valor potencial ao decidir qual caminho seguir. Os fatores a serem considerados incluem demandas por novas funcionalidades, frequência de interações entre sistemas, custo da complexidade atual dos aplicativos, fragmentação de dados valiosos e riscos de interrupções nos negócios.
Repensando a gestão de talentos em uma abordagem ágil
O talento está no centro do modelo operacional da tecnologia digital, e os executivos seniores sabem que precisam recrutar os melhores talentos que podem pagar. Infelizmente, algumas das melhores práticas dos últimos anos tornaram realmente mais difícil contratar as pessoas certas e aumentar a agilidade da loja de TI.
O uso não controlado de empresas terceirizadas contribui para o déficit de talentos. Alguma quantidade de suprimento de mão-de-obra é saudável, pois pode ajudar as empresas a preencher lacunas rapidamente, adquirir novas habilidades ou tirar proveito de menores taxas de mão-de-obra. Mas algumas empresas sacudiram esse cofrinho com muita frequência para atender a aumentos repentinos na demanda ou evitar o congelamento da contagem interna. À medida que o talento interno passava mais tempo gerenciando contratados, suas próprias habilidades técnicas se atrofiavam.
Um outro problema foi criar modelos nas organizações sobre como os produtos são criados e mantidos e quem é responsável quando as coisas dão errado. As empresas adotaram um modelo de separar onde as coisas são construídas e onde são suportadas, porque isso lhes permite cultivar manutenção e suporte a terceiros. A integração das atividades de desenvolvimento, manutenção e suporte no nível da equipe ágil ajuda a eliminar transferências desnecessárias, ao mesmo tempo em que estabelece responsabilidade de ponta a ponta. Este é um elemento central dos princípios do DevOps.
Para resolver esses problemas, as organizações de tecnologia precisarão fazer grandes mudanças para fortalecer suas habilidades técnicas, reduzir a dependência de contratados e esclarecer a responsabilidade. Hoje, a maioria das organizações de tecnologia tem três tipos de papéis: observadores, executores e pensadores. A adoção mais ampla de formas de trabalho ágeis e novas significará sobrecarga simplificada, maior responsabilidade e transparência e menos necessidade de tradutores entre a equipe comercial e a equipe técnica.
Algumas empresas reconhecem a necessidade de uma mudança revolucionária e estão redesenhando seu modelo de talento desde o início, com base em alguns princípios:
• Foco na função de gerente de engenharia - Suplementar o gerente de TI voltado para os negócios é um verdadeiro gerente de engenharia, com as técnicas necessárias para verificar o código de outras pessoas, além de conhecimento de negócios suficiente para trabalhar em estreita colaboração com gerentes de produto e proprietários de empresas. O gerente de engenharia ajuda a reconstruir a credibilidade e a proeza técnica que atraem talentos de engenharia, o que significa contratações experientes e recrutas no campus.
• Retomar os observadores - Identifique o talento mais forte nessas fileiras e treine-o novamente para funções que agregam mais valor. Por exemplo, gerentes de projetos abertos à mudança podem se tornar mestres de scrum, e alguns analistas de negócios podem se tornar proprietários de produtos.
• Democratizar a responsabilidade - O novo modelo de talento envolve executores assumindo papéis e responsabilidades mais amplos.
• Reduzir a dependência de contratados externos - A inovação de software dentro de uma empresa precisa vir dos funcionários. Isso significa selecionar diferentes tipos de trabalho e formar equipes ágeis que combinam a combinação certa de talentos internos e externos. Obviamente, o objetivo não é cortar cegamente os empreiteiros em busca de uma proporção artificial. As empresas devem ser espertas sobre onde querem ir e pensar criticamente sobre qual mix as levará até lá, à medida que agrupam recursos entre gerenciamento e recrutamento de tecnologia.
Práticas de gerenciamento de produtos a serem adotadas ao migrar para a abordagem ágil
Em um mundo cada vez mais ágil, as fraquezas da abordagem tradicional em cascata, baseada em projetos, são exacerbadas. Comparado com uma abordagem ágil baseada em produtos, o método em cascata é menos flexível e menos sensível às necessidades da empresa e de seus clientes. A aplicação de práticas e disciplinas de gerenciamento de produtos pode ajudar a preencher essa lacuna.
• Organize-se em torno de produtos, não de projetos - A organização do trabalho em torno de um produto e não de um projeto alinha o desenvolvimento diretamente aos resultados dos negócios. As equipes de tecnologia e negócios devem colaborar para desenvolver metas e prioridades. Cada produto recebe um proprietário que é responsável por desenvolver um roteiro, definir métricas para medir o progresso e tomar as decisões corretas para mantê-lo em movimento.
• Crie equipes persistentes - Em uma abordagem de projeto, as equipes se formam e se dissolvem. Por outro lado, as equipes de produtos persistem por toda a vida útil do produto, prontas para continuar trabalhando no produto à medida que ele evolui. Essa estabilidade torna a equipe mais ágil, produtiva e responsável.
• Fundo para o longo prazo - Como os produtos têm um ciclo de vida mais longo, eles precisam ser financiados anualmente para apoiar seu roteiro de longo prazo. A revisão do financiamento trimestralmente permite que as empresas ajustem-se a mudanças de prioridades ou mudanças no apetite por investimentos - ou busquem outros produtos com maior retorno.
A abordagem ágil é poderosa para agregar valor, mas por si só não é suficiente e muitas organizações lutam para colher todos os benefícios que a abordagem pode oferecer para o gerenciamento de tecnologia, talento e produto. Abordar a rigidez arquitetônica, fechar as lacunas de talento e adotar uma mentalidade de produto exige comprometimento e um esforço sustentado dos líderes de negócios e de tecnologia. Eventualmente, essas abordagens podem parecer tão óbvias quanto o alinhamento das prioridades de negócios e tecnologia de hoje. Até então, os benefícios serão acumulados apenas para aqueles dispostos a se esforçar para preparar toda a organização para a agilidade.