O desenvolvedor cidadão é a nova face da agilidade?

Publicados: 2022-03-11

Com a esmagadora maioria das empresas digitalizando suas operações e equipes de desenvolvimento talentosas cronicamente com falta de pessoal, a data de expiração de implementações de software complexas está se aproximando rapidamente.

A escassez de talentos e os custos para remediar isso ocorrem em um momento em que as plataformas de desenvolvimento low-code estão oferecendo soluções impressionantes. A premissa do low-code é direta: reduza a complexidade do desenvolvimento ao ponto em que os usuários de negócios possam criar soluções sem um profundo conhecimento de programação, APIs ou como implantar aplicativos da Web ou móveis. Muitas vezes empacotadas como uma oferta de nuvem SaaS (software como serviço) ou PaaS (plataforma como serviço), as soluções de baixo código simplificam muitos detalhes complexos de desenvolvimento para que o usuário possa se concentrar na criação de funcionalidade.

A empresa de pesquisa tecnológica Gartner prevê que, em 2022, o mercado de plataformas de aplicativos de baixo código aumentará mais de 30% em relação aos níveis de 2020. Como líderes de projeto de TI e partes interessadas em processos de negócios, os gerentes de projeto estão em posição de atender aos interesses às vezes díspares e muitas vezes isolados de TI e negócios adotando essas soluções de baixo código.

Mas quais são os benefícios e limitações dessas soluções e como elas podem ser implementadas e aplicadas em suas equipes de projeto? A resposta pode estar no desenvolvimento do cidadão – aumentando uma coorte de membros não técnicos da equipe para lidar com parte do trabalho que sobrecarrega as equipes de TI. Como gerente de projeto com a orientação certa e as melhores práticas implementadas, você pode usar o desenvolvimento cidadão para levar a adoção de low-code de disruptiva a negócios como de costume em sua empresa.

Os primeiros motores do desenvolvimento cidadão

A ideia de usuários não técnicos desenvolvendo soluções técnicas não é nova. Já em 1987, o HyperCard da Apple usava uma interface gráfica e uma linguagem de programação simplificada para permitir que não programadores produzissem aplicativos simples, semelhantes aos aplicativos baseados na web de hoje. Mas o termo “desenvolvedor cidadão” apareceu pela primeira vez em uma apresentação no Gartner Symposium/ITxpo de 2009 em Orlando. E em 2014, um relatório da Forrester apelidou uma nova onda de plataformas para criar aplicativos voltados para o cliente de “low code”. O relatório identificou vários pioneiros na indústria emergente, incluindo Mendix, Salesforce e Appian. Esses pioneiros estavam fornecendo “alternativas mais rápidas às plataformas de programação tradicionais” e permitindo que os usuários “acelerem a entrega de aplicativos reduzindo drasticamente a quantidade de codificação manual necessária”. Desde então, eles se juntaram a outros jogadores, como Betty Blocks, ServiceNow e Microsoft Power Platform. Com a orientação adequada, esses desenvolvedores cidadãos podem criar soluções em pequena escala para si ou para suas equipes ou, em alguns casos, criar soluções digitais para toda a empresa.

Uma pesquisa da IBM de 2014 descobriu que 80% dos tomadores de decisão de TI e de negócios usavam desenvolvedores cidadãos em alguma capacidade. Mesmo assim, a adoção foi provisória e em pequena escala. Foi somente em 2021 que o Project Management Institute introduziu uma série inédita de cursos para desenvolvedores cidadãos. Assim, por quase uma década não houve padrões da indústria, benchmarks ou treinamento formalizado para os empregadores consultarem, muito menos para os gerentes de projeto implementarem. Durante a maior parte da década de 2010, as plataformas low-code foram consideradas muito disruptivas, criando um retrocesso nas organizações.

As coisas mudaram desde então, para dizer o mínimo. O Gartner estima que até 2024, 80% de todos os produtos e serviços de tecnologia serão construídos por desenvolvedores cidadãos, contra apenas 25% em 2014. Ele atribui essa rápida expansão à pandemia do COVID-19: à medida que as empresas se esforçam para adotar serviços em nuvem e digital iniciativas para lidar com uma força de trabalho repentinamente remota, surgiram novos modelos e processos de negócios. Esses eventos seguiram a adoção acelerada de frameworks ágeis nos últimos anos, com ênfase na velocidade e ciclos de desenvolvimento mais curtos.

Tudo isso, combinado com a escassez de desenvolvedores, criou uma oportunidade para os desenvolvedores cidadãos resolverem vários problemas.

Linha do tempo intitulada "Uma História do Desenvolvimento Cidadão". Inclui "1987: a Apple lança o HyperCard, o primeiro de uma nova geração de plataformas de desenvolvimento rápido de aplicativos". "2009: Gartner cunha o termo "desenvolvedor cidadão" em seu Gartner Symposium/ITxpo anual em Orlando." "2014: A Forrester lança um relatório que introduz o termo 'low code' no contexto da identificação de vários pioneiros, incluindo Mendix, Salesforce e Appian." "2019: A Salesforce adquire o Tableau para expandir os recursos de pouco código/sem código." "2021: o Gartner estima a receita total de tecnologias de desenvolvimento de baixo código em US$ 11,3 bilhões."

Benefícios do Low Code

Velocidade

Para os gerentes de projetos de TI, os programas de desenvolvimento cidadão aceleram os cronogramas, simplificando as atividades de inovação e reduzindo a dependência de um grupo limitado de desenvolvedores profissionais. Pode levar meses para preparar um aplicativo da Web tradicional para o lançamento inicial; mesmo um produto mínimo viável (MVP) leva semanas para ser desenvolvido. Usando uma plataforma low-code, uma equipe pode reunir vários MVPs no mesmo período de tempo e usar as informações deles para orientar seus esforços de desenvolvimento. Os ciclos de iteração diminuem proporcionalmente.

Por exemplo, um desenvolvedor profissional que cria uma ferramenta de notificação pode passar um dia inteiro arquitetando um front-end simples para interagir com uma API, configurando autenticação e segurança, testando e, finalmente, implantando o aplicativo para uso interno. Em uma plataforma low-code, um desenvolvedor cidadão pode alcançar o mesmo nível de funcionalidade e segurança em poucos minutos e, três cliques depois, compartilhar sua criação com o restante da equipe.

Flexibilidade

O software pronto para uso nem sempre se ajusta ao fluxo de trabalho ou à estrutura de uma empresa. Mas as soluções construídas em plataformas low-code podem ser personalizadas de acordo com as necessidades específicas do seu negócio. Por exemplo, se o seu processo de negócios exigir a capacidade de escalar um problema para um determinado gerente e o pacote pronto para uso não puder fazer isso, uma solução personalizada de baixo código é uma boa alternativa.

Uma solução low-code também pode preencher lacunas na integração entre seus sistemas existentes sem precisar trabalhar diretamente com uma API. Por exemplo, se o seu CRM existente não for capaz de postar uma mensagem em um canal específico do Slack, uma solução low-code pode preencher essa lacuna de maneira rápida e fácil. A maioria das plataformas tem amplas opções de integrações que permitem que seus serviços se comuniquem com os bancos de dados e APIs de aplicativos populares baseados em nuvem ou no local, como Jira, Gmail, Oracle ou Shopify. Essas integrações dão a um projeto mais opções do que uma solução mal ajustada e pronta para uso ou uma solução cara e personalizada; você pode construir com mais recursos usando código baixo.

Imagine a diferença que isso pode fazer para seus projetos. O backlog da equipe de desenvolvimento pode ser reavaliado, com algumas necessidades desmembradas e direcionadas para uma solução low-code desenvolvida pelo cidadão. Isso pode permitir que a TI tenha tempo para resolver problemas como dívida técnica, que muitas vezes pode ser ignorada quando os cronogramas são apertados. E as soluções implementadas por meio de uma plataforma low-code aprovada pela TI podem mitigar os problemas criados pela shadow IT. A própria equipe de desenvolvimento pode analisar um conjunto de necessidades ou requisitos e, em seguida, recomendar e implementar soluções usando uma plataforma de baixo código como parte ou toda a pilha de tecnologia.

Quando usar o código baixo

Por mais que o código baixo possa melhorar as taxas de velocidade para a solução e reduzir os custos para criar software, ele apresenta algumas desvantagens. Como gerente de projeto, você precisará entender os limites dos serviços low-code para poder tomar decisões acertadas sobre quando a plataforma escolhida é apropriada para um projeto. Aqui estão algumas dicas:

  1. Prepare-se para ficar em uma plataforma. A estrutura e a funcionalidade de baixo código são diferentes em cada serviço, portanto, uma solução útil que você cria em um geralmente não será transportada para outro. Isso significa que, à medida que as organizações usam uma plataforma low-code específica para mais soluções, o custo da mudança subsequente aumenta com a maior dependência dessa plataforma, criando um forte desincentivo para tentar uma diferente no futuro.
  2. Considere as limitações de UI/UX. Para tornar a experiência mais simples para os desenvolvedores cidadãos, um controle muito mais preciso em torno de manipulação de eventos, estilo e funcionalidade de nicho é predeterminado e relativamente imutável em plataformas de baixo código. É restrito o suficiente para frustrar um bom designer. Por exemplo, o low code normalmente oferece menos opções para recursos móveis offline, vários métodos de autenticação e controles de usuário especializados, como rodas de cores. Pergunte a si mesmo se o projeto ficará bem com um design “bom o suficiente”. Se sua equipe precisa de controle requintado sobre a aparência e o fluxo do aplicativo, o código baixo não é o caminho a seguir.
  3. Fique atento a problemas de manutenção. Os desenvolvedores cidadãos podem não ter uma compreensão profunda de testes de software eficazes ou um ponto de vista experiente sobre como as soluções podem precisar mudar no futuro. Para soluções simples, isso não é um grande problema, mas à medida que uma solução de baixo código se torna mais complexa, é mais provável que ela seja cheia de bugs, insegura e difícil de manter. Se sua solução planejada tiver um alto grau de complexidade ou for de missão crítica, considere uma pilha de tecnologia sem código baixo ou envolva desenvolvedores mais experientes na construção da solução.

Plataformas low-code não são ideais para situações que exigem:

  • Mais de 200 usuários internos consistentes, o que pode afetar o licenciamento e o desempenho.
  • Recursos altamente especializados, como blockchain, jogos ou navegação em tempo real.
  • Ênfase em baixa latência e desempenho de primeira linha.
  • Uma experiência de usuário cuidadosamente projetada.

Apesar dessas limitações, não há escassez de casos de uso em potencial para plataformas low-code. Considere-os para projetos que envolvem:

  • Criação de ferramentas internas, como aplicativos integrados, rastreadores de tarefas ou soluções de gerenciamento de ativos para milhares de dispositivos da empresa.
  • Atualizar sistemas legados adicionando novos recursos à infraestrutura desatualizada, mas incorporada, ou digitalizando fluxos de trabalho.
  • Projetar protótipos ou MVPs de baixo risco que possam servir como uma simples prova de conceito nos estágios iniciais de um projeto sem grandes investimentos de tempo ou recursos. (Uma vez que o teste do usuário tenha começado, o salto pode ser feito para a TI tradicional e a maior escalabilidade que ela oferece.)

Capacite os desenvolvedores cidadãos

As plataformas low-code são projetadas para reduzir a curva de aprendizado a um nível mais gerenciável, permitindo que os gerentes de projeto cultivem desenvolvedores cidadãos em suas organizações. Os desenvolvedores cidadãos podem vir de qualquer área que não seja de TI e são provenientes de áreas tão diversas quanto análise de negócios, gerenciamento de projetos, financiamento ou operações. Qualquer pessoa com experiência em tecnologia e vontade de aprender pode ser treinada para incorporar o desenvolvimento de baixo código em seu trabalho, desde que o gerente de projeto entenda as lacunas entre suas capacidades e as de desenvolvedores profissionais. Os desenvolvedores cidadãos não precisam ser mestres em codificação para colaborar com a TI para unir as necessidades de tecnologia e negócios. Ao obter uma melhor compreensão do ciclo de vida de entrega de software e assumir algumas das responsabilidades que tradicionalmente exigem conhecimento de programação, eles se tornam parte especialistas no assunto, parte analista de negócios e parte recurso de TI.

As organizações aproveitam ao máximo as plataformas low-code e os desenvolvedores cidadãos seguindo estas práticas recomendadas:

  • Fornecer treinamento. Facilite a adoção de low-code por meio de sessões de treinamento e demonstrações de casos de uso relevantes.
  • Ensine novos conceitos. Apresente aos desenvolvedores cidadãos os conceitos de teste, documentação e componentes reutilizáveis ​​para melhorar a qualidade das soluções que eles criam.
  • Estabeleça guarda-corpos. Forneça suporte de governança para desenvolvedores cidadãos, como adicionar políticas específicas de proteção contra perda de dados e configurar ambientes de sandbox para experimentação.
  • Incentive a colaboração. Incentive os desenvolvedores cidadãos e profissionais a gerar soluções juntos, principalmente em projetos complexos que integram low code. Isso pode levar a uma melhor compreensão dos requisitos, oportunidades de treinamento cruzado e uma maior apreciação por seus papéis distintos na organização. A combinação do conhecimento técnico da equipe de TI com a perspicácia de negócios dos desenvolvedores cidadãos pode levar a soluções que atendem melhor à organização.

Os desenvolvedores cidadãos devem ter esses tipos de orientação. Alguns serão muito tímidos para tentar qualquer coisa além de um primeiro passo, e outros criarão bagunça devido ao seu entusiasmo excessivo. Fornecer treinamento e diretrizes ajuda os novos usuários de low code a encontrar um meio-termo melhor, levando a uma adoção de maior qualidade dentro da empresa.

Os desenvolvedores cidadãos oferecem uma nova capacidade para a organização que pode ser aproveitada tática e estrategicamente. Alguns usarão suas novas habilidades em suas funções de negócios existentes, contribuindo para os esforços de mudança digital e projetos de TI com uma compreensão recentemente aprimorada de desafios e fluxos de trabalho. Outros podem entrar em um trabalho totalmente novo, assumindo o desenvolvimento de aplicativos de baixo código ou o design de recursos como parte de suas funções principais.

Os provedores de plataforma low-code sabem que o suporte forte é importante e estão adicionando recursos de acordo. As plataformas mais desenvolvidas oferecem recursos de governança de nível empresarial, comunidades de usuários prósperas e várias maneiras de aprender.

Infográfico intitulado "Melhores práticas para adoção de código baixo" com quatro itens. "Fornecer treinamento" é acompanhado por uma imagem de um quadro de apresentação e o texto "Demonstre soluções de baixo código com casos de uso relevantes". "Ensinar novos conceitos" é acompanhado por uma imagem de uma lâmpada dentro de setas circulares e o texto "Melhore a produção ajudando os desenvolvedores cidadãos a aprender práticas que são uma segunda natureza para a TI, mas desconhecidas para eles". "Establish Guardrails" é acompanhado por uma imagem de uma prancheta e o texto "Crie um ambiente bem governado onde a experimentação não leve a resultados ruins". "Encorajar a colaboração" é acompanhado por uma imagem de um aperto de mão e o texto "Não mantenha desenvolvedores cidadãos e profissionais em silos separados; deixe-os trabalhar juntos".

Para incentivar uma adoção mais ampla por desenvolvedores profissionais, algumas plataformas estão adotando conceitos familiares, como controle de código-fonte, módulos de teste e gerenciamento do ciclo de vida do aplicativo. Isso oferece o melhor dos dois mundos: eles podem usar pouco código com um conjunto robusto de ferramentas para criar aplicativos de qualidade rapidamente sem abrir mão de suas ferramentas existentes para soluções mais complexas. E inovações como metodologias de design para código prometem aliviar as restrições existentes dessas plataformas, como opções limitadas de UX/UI, nos próximos anos.

Um campo em expansão

Investimentos significativos estão sendo feitos em plataformas low-code tanto por players estabelecidos quanto por startups. A Microsoft relatou recentemente um crescimento de 97% ano a ano em sua Power Platform e está lançando novos recursos em um ritmo impressionante. O investimento em startups low-code/no-code como Bubble e Airtable aumentou em US$ 415 milhões no mercado dos EUA em um período de cinco anos. À medida que as empresas buscam expandir ainda mais suas capacidades digitais, os desenvolvedores profissionais continuarão em falta e o número de desenvolvedores cidadãos crescerá. As projeções mostram que os desenvolvedores cidadãos superarão os desenvolvedores profissionais de 4 para 1 até 2023.

Para um importante subconjunto de aplicativos, o desenvolvimento do cidadão pode oferecer uma combinação prática de velocidade, simplicidade e flexibilidade. Ele não substituirá o trabalho de equipes de desenvolvimento profissional, mas pode gerar soluções poderosas para aprimorar essas equipes à medida que navegam no cenário de software em constante mudança.