Como não se perder e perder tempo dentro de uma abordagem ágil?
A agilidade é fundamental para as empresas que tentam acompanhar as expectativas do cliente e as tendências de negócios emergentes. Ao adotar uma abordagem ágil, as equipes de desenvolvimento de software podem criar novos produtos e serviços rapidamente, transformar processos e até mesmo ajudar a reinventar a organização. Mas as equipes ágeis podem tropeçar à medida que interagem e dependem dos outros, por isso, torna-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 para dispositivos móveis. Ela cria uma equipe ágil de desenvolvedores, designers e um gerente que entende o comportamento do cliente e pode tomar decisões sobre foco e prioridades. Essa equipe atualiza o aplicativo em algumas semanas, mas leva meses para que outra parte da organização forneça os feeds de dados do sistema de recompensas e ainda mais tempo para que outra parte integre essas alterações no aplicativo, atrasando o lançamento da nova funcionalidade.
Os clientes gostam do novo recurso, mas agora eles querem outros novos recursos. Os membros da equipe original ágil seguiram em frente e leva alguns meses para reunir uma nova. Esta faz as alterações, mas ignora um defeito que faz com que a atualização falhe no teste de vulnerabilidade. Depois de corrigida, a equipe de operações se recusa a liberar o código para os clientes sem um teste mais completo. Desacordos entre as equipes de desenvolvimento e operações sobre a extensão desse teste atrasam ainda mais a nova atualização.
Esse tipo de história é muito comum para muitas empresas. Os obstáculos que diversas 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 consertar os problemas de velocidade que retardam o rápido progresso do desenvolvimento ágil de software. Há três impedimentos em particular: arquitetura rígida, gerenciamento inadequado de talentos e falta de uma mentalidade de produto.
Arquitetura de tecnologia rígida
Na maioria das empresas, os aplicativos que envolvem os clientes e administram os negócios foram desenvolvidos antes que as arquiteturas modernas se enraizassem e, por isso, sofrem com essa rigidez, com muitos recursos e funções frequentemente interligadas de forma interdependente. Quando você altera um aspecto do código, o efeito pode ser em cascata.
Na maioria dos casos, não é realista reestruturar todos os sistemas para se adequar aos padrões modernos 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 raramente atualizados para garantir o investimento para modernizar.
Envolver e prender - Exponha os principais recursos e funcionalidades do aplicativo por meio de interfaces bem definidas (APIs) e, ao mesmo tempo, crie novas funcionalidades em sistemas modernos.
Rearquitetar ou refatorar - Altere o design do aplicativo, incluindo a quebra da base de código em uma série de partes funcionais separadas e independentes e a remoção de valores codificados.
Substituir - Desenvolva um novo aplicativo usando padrões arquiteturais modernos, como microsserviços.
Abordagens diferentes farão sentido para diferentes áreas da arquitetura e os executivos devem pensar em valor potencial ao decidir qual caminho tomar. Os fatores a serem considerados incluem as demandas por novas funcionalidades, frequência de interações entre sistemas, custo da complexidade de aplicativos atuais, fragmentação de dados valiosos e riscos de interrupções nos negócios.
Repensando o gerenciamento de talentos
O talento está no centro do modelo operacional de tecnologia digital e os executivos seniores sabem que precisam recrutar os melhores talentos que podem pagar. Infelizmente, algumas das melhores práticas de anos anteriores tornaram mais difícil contratar as pessoas certas e aumentar a agilidade da loja de TI.
Por exemplo, quando as empresas começaram a perceber que seus gerentes de TI nem sempre viam problemas por meio de uma lente de negócios, começaram a contratar outros com mais experiência em negócios. O problema era que muitos deles não eram tecnólogos profundos. Como esses gerentes contrataram mais como eles mesmos, as habilidades tecnológicas de muitas empresas sofreram.
O uso descontrolado de contratados externos também contribuiu para o déficit de talentos. Uma certa quantidade de mão-de-obra é saudável, pois pode ajudar as empresas a preencher rapidamente as lacunas, adquirir novas habilidades ou aproveitar as 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 de contas internas. Como o talento interno passava mais tempo gerenciando empreiteiros, suas próprias habilidades técnicas atrofiavam.
Um terceiro problema tem sido a criação de modelos nas organizações para como os produtos são construídos e mantidos e quem é responsável quando as coisas dão errado. As empresas adotaram um modelo de separação no qual as coisas são construídas a partir de onde elas são suportadas, porque elas permitem a manutenção e o suporte a terceiros.
Hoje, a maioria das organizações de tecnologia tem três tipos de funções: observadores, realizadores e pensadores. Entretanto, à medida que o futuro da TI tomar forma, esses papéis precisarão mudar. Os observadores em particular - gerentes de projeto, analistas de negócios, gerentes de relacionamento e recursos - precisarão encontrar novos papéis para desempenhar. Uma adoção mais ampla da abordagem ágil e novas de trabalho significará sobrecarga simplificada, maior responsabilidade e transparência e menor 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 a partir do zero, com base em alguns princípios:
Concentre-se no papel de gerente de engenharia - este ajuda a reconstruir a credibilidade e as habilidades técnicas que atraem talentos de engenharia, o que significa contratações experientes e recrutas no campus;
Recapacite os observadores - Identifique os talentos mais fortes nesses níveis e treine-os novamente em papéis que agregam mais valor;
Democratize a prestação de contas - O novo modelo de talentos envolve que os empreendedores assumam papéis e responsabilidades mais amplos;
Reduza a dependência de contratados externos - A inovação de software dentro de uma empresa precisa vir dos funcionários. Isso significa triagem de diferentes tipos de trabalho e construção de equipes ágeis que tenha a combinação certa de talentos internos e externos. Obviamente, o objetivo não é cortar cegamente os contratados em busca de uma relação artificial. As empresas devem ser inteligentes sobre onde querem ir e pensar criticamente sobre qual combinação os levará para lá, à medida que empenham recursos em gerenciamento de tecnologia e recrutamento.
Práticas de gerenciamento de produto para usar ao migrar para a abordagem ágil
Em um mundo cada vez mais ágil, as fraquezas da tradicional abordagem em cascata, baseada em projetos para o desenvolvimento são exacerbadas. Comparado com uma abordagem ágil e baseada em produtos, o método cascata é menos flexível e responde menos às necessidades dos negócios e de seus clientes.
Mudar para agile resolve alguns desses problemas, mas não vai longe o suficiente para resolvê-los para produtos e serviços digitais. A aplicação de práticas e disciplinas de gerenciamento de produtos pode ajudar a fechar essa lacuna.
Organize-se em torno de produtos, não de projetos - Organizar o trabalho em torno de um produto em vez de um projeto alinha o desenvolvimento diretamente aos resultados do negócio. Os produtos são organizados em torno de problemas e oportunidades de negócios, geralmente relacionados a um novo recurso ou a uma experiência do cliente que pode ser melhorada. 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 certas para mantê-lo em movimento.
Configure equipes persistentes - Em uma abordagem de projeto, as equipes se formam e se separam. Por outro lado, as equipes de produtos persistem durante a vida útil do produto, prontas para continuar o trabalho no produto à medida que evoluem. Essa estabilidade torna a equipe mais responsiva, 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. Um modelo de produto permite uma medida de resultados mais consistente do que as abordagens de casos de negócios tradicionais porque os resultados dos produtos são medidos continuamente. A revisão do financiamento trimestralmente permite que as empresas ajustem as mudanças nas prioridades ou mudanças no apetite ao investimento.
Por si só, a agilidade não é suficiente e muitas organizações lutam para colher todos os benefícios que a abordagem pode oferecer para tecnologia, talentos e gerenciamento de produtos. Embora alguns detratores da abordagem ágil possam dizer que funciona apenas para nativos digitais, vemos um potencial muito mais amplo. Eventualmente, essas abordagens podem parecer tão óbvias quanto alinhar as prioridades de negócios e tecnologia é hoje. Até lá, os benefícios serão acumulados apenas para aqueles dispostos a se esforçarem para tornar toda a organização pronta para ser ágil.