O que a revolução do software de low-code significa para você?
3 de agosto de 2022O ramo de software introduz regularmente novos buzzwords. Um que tem surgido cada vez mais nos últimos anos é o low-code. De onde se origina, o que é e em particular: o que ele pode fazer por você?
A indústria de software se considera muito madura e de alta tecnologia, mas essa é uma suposição correta? Que indústrias são realmente maduras e hightech’s? Exemplos de indústrias de alta tecnologia e maduras, são as indústrias aeroespacial e automotiva. Ou, considere a construção de um arranha-céu ou uma ponte grande. Todos eles envolvem a fabricação de produtos finais altamente complexos, mas confiáveis. Então por que isso não se aplica ao software?
Na maioria das vezes, a produção de software continua sendo um processo muito trabalhoso e manual. O design de um sistema é geralmente escrito como texto simples em documentos grandes e desordenado. Esses documentos são então interpretados por programadores que tentam capturar o design pretendido dentro de milhões de linhas de código. Depois, todos ficam surpresos que o software não funcione como o planejado. Bem, eu ficaria surpreso se acontecesse.
CAD/CAM versus desenvolvimento de software
Indústrias de alta tecnologia reais não operam dessa forma. Eles têm usado tipos de aplicativos CAD/CAM por muitas décadas. Usando CAD (Computer Aided Design) é feito um modelo digital do produto final. Este modelo já foi testado de todas as formas. Por exemplo, antes de um arranha-céus ser construído, já sabemos como ele se comporta em situações de vento forte, pois isso foi testado no modelo CAD. O mesmo vale para produtos finais em outras indústrias de alta tecnologia. Depois que o design foi finalizado, o modelo CAD é colocado em produção usando CAM (Computer Aided Manufacturing), o processo de produção CAM geralmente é fortemente automatizado. Como o produto final, seja um avião ou um carro, já foi testado durante a fase CAD, não haverá surpresas com o produto acabado. Compare isso com o ramo de software, que está cheio de surpresas depois que um produto final é colocado em operação.
Infelizmente, o desenvolvimento tradicional não é o único problema. O software tem outra característica irritante: a solução está indissociável ligada à tecnologia escolhida. Por exemplo: assim que uma linguagem de programação com a qual desenvolver o software foi escolhida, você poderá continuar construindo seu sistema. Mas é impossível mudar para uma nova linguagem de programação sem começar tudo de novo. Novas tecnologias continuam chegando cada vez mais rápido, mas o software é incapaz de aderir. É lamentável ter que concluir que a indústria de software não é realmente muito boa no desenvolvimento de software. E com o ritmo crescente com que as tecnologias se tornam disponíveis, tem que se reconstruir com mais frequência.
Qual a importância do software para o negócio?
A transformação digital (outro buzzwords) está em pleno andamento e aceleração por causa da pandemia da COVID-19. Mas o que isso realmente significa? Imagine que você tem uma companhia de táxi. Qual a importância do software para você? Você tem que ser capaz de planejar uma reserva, aceitar o pagamento no táxi e você gostaria de ter informações de gestão disponíveis. Ou você é o dono de um hotel, onde fazer reservas também é importante, assim como registrar a entrada e saída, e o planejamento da limpeza. Para ambas as empresas o software não parece ser muito importante e, é um mal necessário (leia-se: um item de custo). Até que, de repente, empresas como Uber e Airbnb apareceram no mercado; empresas que abordam as coisas de uma forma completamente diferente. O táxi e o próprio hotel não são mais o asset mais importante, esta é agora sua plataforma de software única.
A questão agora é: quem é o Uber ou o Airbnb no seu segmento de atuação, ou talvez você gostaria de assumir esse papel? O impacto imenso que o software de negócios pode ter no sucesso de uma empresa, não pode mais ser ignorado. Infelizmente, o principal obstáculo continua sendo a maneira tradicional pela qual desenvolvemos software. E como se isso não bastasse, os especialistas em TI são cada vez mais escassos no mercado de trabalho, com salários cada vez mais elevados.
Em resumo, temos os seguintes problemas: o desenvolvimento de software continua sendo uma rotina muito intensa e os desenvolvedores de software bons são muito escassos. Além disso, devido à introdução de novas tecnologias, temos que desenvolver software existente do zero para abraçar o progresso que essas novas tecnologias trazem ao mercado. Ao mesmo tempo, a necessidade do negócio por softwares inovadores continuam aumentando. Como resolvemos isso?
Três estratégias de software
Existem três estratégias disponíveis para resolver os problemas listados acima:
- Nearshoring ou offshoring. Você terceiriza as atividades de programação para um país onde essa experiência é menos escassa, provavelmente a uma taxa horária mais baixa. Você tem que lidar com uma barreira adicional de comunicação, tradução, fuso horário e cultura e, no fim, a causa raiz do problema não está sendo tratada. A programação continua tradicional. Na verdade, na melhor das hipóteses, seu problema se torna menos caro.
- Você compra um pacote de software. Isso transfere o problema para o fornecedor de pacotes, que também continua a trabalhar usando métodos tradicionais e você paga os custos disso. E quantos fornecedores de pacotes no passado fizeram a transição do DOS, para o Windows, para a Web e para o celular em tempo hábil? E você poderia facilmente transferir para a versão mais recente do software deles, sem assumir altos custos e grandes riscos na migração?
- Automatize o desenvolvimento de software implantando a tecnologia baseada em CAD/CAM (model driven). No ramo de software, o desenvolvimento de low-code é o equivalente ao CAD/CAM. Essa abordagem tem se provada na prática, um aumento da produtividade por um fator de que 10, é muito realista. Com algumas plataformas também é bem possível mudar automaticamente para uma nova tecnologia. Esta é uma revolução completa, mesmo que o low-code é bastante específico por área de atuação. Algumas plataformas são especializadas no desenvolvimento de aplicativos, outras para a construção de grandes soluções baseadas em ERP. Isto é comparável a uma fábrica de automóveis, que não é capaz de construir um avião. Finalmente, o low-code é acessível para o próprio negócio, fazendo com que as pessoas possam produzir modelos de negócios e, assim, assumir o controle do projeto de software.
O que significa low-code para o próprio ramo de software?
Por muitos anos, o ramo de software teve um impacto disruptivo em outros ramos. Os processos administrativos foram automatizados e os papéis dos colaboradores mudaram.
Hoje em dia o low-code é disruptivo para o próprio ramo de software. O ramo de software, está agora realmente dividido em um grupo que desenvolve plataformas de low-code, e um grupo que desenvolve soluções de software para o cliente que utilizam essas plataformas.
Você precisa de especialistas técnicos em TI para construir as plataformas de low-code. Essas pessoas são extremamente escassas, mas não precisamos de muitas dessas plataformas. O desenvolvimento de soluções de software, usando uma plataforma de low-code é realizado por especialistas em TI de negócios. Essas pessoas também são escassas, mas ainda não tanto, e a sua produtividade aumenta em um fator de 10. Esta é uma excelente notícia para o negócio.
Como você pode incorporar low-code na sua empresa?
Você pode aplicar plataformas de low-code de várias maneiras, dependendo de suas próprias circunstâncias e visão do futuro. Aqui estão quatro possibilidades:
- Você tem um pacote padrão que você não pode (decisão da sede) ou não quer se livrar, mas ao mesmo tempo você quer melhorar seus processos. Nesse caso, você pode optar por uma plataforma de low-code com a qual você pode desenvolver aplicativos para complementar seu pacote padrão. É importante determinar quantos processos estão envolvidos. Já existem empresas com mais de 10.000 aplicativos, e isso não é bom para a gestão futura e a segurança de dados.
- Com uma plataforma de low-code ERP, você pode desenvolver seu próprio software de negócios distinto, o que antigamente era impossível. Você já pode conseguir muita coisa com apenas uma pessoa da empresa e um funcionário de TI. Muitas vezes você pode usar modelos de referência existentes, e suplementá-los com seus requisitos exclusivos.
- Opção 2, porém terceirizado para uma empresa integradora ou software house. Há um número crescente de provedores de serviços de TI com conhecimento de plataformas de low-code, que podem ajudá-lo com suas necessidades com a vantagem de ter entregas mais rápidas, maior qualidade das ferramentas, e menor custo.
- Se você está basicamente satisfeito com o seu fornecedor de software de prateleira, mesmo que ele não possa mais acompanhar os desenvolvimentos tecnológicos, então você também pode propor a eles para transferir o software para uma plataforma de low-code. Existem fornecedores de plataformas de low-code especializados em apoiar fornecedores de software low-code. Você continua sendo um cliente do seu fornecedor de software de prateleira, mas ainda lucra com os benefícios de low-code.
Uma quinta opção que eu certamente não recomendaria é: ignorar completamente o low-code. Você pode realmente fazer a diferença para o seu negócio, fazendo a escolha certa. Qual opção você vai aplicar?