TECNOLOGIA

Plataformas Low Code podem melhorar processos e aumentar produtividade na área de TI?

21/11/2022 15:30:00

Artigo por Carlos José Pereira, empresário do setor de TI e Diretor do Seprosc

Plataformas Low Code podem melhorar processos e aumentar produtividade na área de TI?

Bill Gates e os preguiçosos

Bill Gates afirma que prefere pessoas preguiçosas para um trabalho árduo, pois elas encontram uma maneira fácil de fazê-lo. (1)

Já vi muitas interpretações a respeito dessa afirmação, mas poucas delas levam em consideração o tipo de organização que Gates e seus pares criaram e a origem dele como profissional destacado na arte de programar computadores. 

Um ditado complementa bem a frase de Gates e esclarece o fato de que muito trabalho pode ser necessário para que um trabalho árduo não seja realizado: “Certas pessoas são capazes de tudo só para não fazer nada.” (2) 

Voltarei a esse assunto ao final do artigo.

A hiperautomação, a falta de mão de obra e ênfase na produtividade

A demanda por técnicos da área de informática atinge proporções alarmantes. 

A carência de mão de obra não é nova, mas se agravou nos últimos anos, haja vista o fenômeno mundial da hiperautomação. O problema se concentra principalmente na área de programação de computadores.

A primeira reação da sociedade, à falta de mão de obra qualificada, é um incentivo à formação e qualificação de novos profissionais. 

Programas como o Jovem Programador, (3) além da preocupação de inserção rápida de jovens no mercado de trabalho, têm o condão de chamar a atenção dos jovens para a área de programação de computadores, uma das profissões que ficará por muito tempo.

O Programa Jovem Programador, faz parte das respostas da sociedade à carência de mão de obra, e se soma às iniciativas existentes. 

Santa Catarina tem um sistema educativo bem estruturado, desde o ensino fundamental até os níveis superiores, passando por escolas técnicas e cursos rápidos de introdução de jovens no mercado de trabalho de TI, mesmo assim, com esta rede bem estabelecida, não consegue ofertar profissionais na quantidade necessária. 

Um estado tecnológico, como é o de Santa Catarina, tem uma demanda por novos profissionais muito maior do que a oferta deles.

Os empresários do setor de TI começam a despertar para uma outra forma de resolver o problema da demanda, um aspecto que até então tinha recebido pouca atenção: a produtividade.

A área de Tecnologia da Informação, mormente aquela ligada ao desenvolvimento de softwares, programas e sistemas, se baseia fortemente em processos cérebros-intensivo, em criatividade, e, portanto, são atividades de difícil controle em termos de tempo, qualidade e custos. Como estabelecer comparativos entre equipes e profissionais, para se determinar quais são mais produtivos? 

Estimar tempos para o desenvolvimento de softwares já esteve mais na mão de “oráculos” do que atualmente. 

Hoje existem métodos que se baseiam em variáveis do projeto e permitem estimativas razoáveis

Estes métodos, que permitem estimativas aproximadas, são muito úteis para projetos muito grandes e para organizações que necessitem contratar empresas terceiras para o desenvolvimento de sistemas. Prazo e custos são mais bem explicitados.

Ainda assim, não é raro que as estimativas de tempo e custos reais sejam incompatíveis com as previsões realizadas e, principalmente, não se pode medir a qualidade dos códigos que foram entregues. O problema com a qualidade se evidenciará em manutenções futuras desses sistemas, tardiamente, quando não se pode fazer mais nada a respeito.

Do ponto de vista dos gestores e financiadores, principalmente não ligados à área de TI, “fazer programas e sistemas é muito demorado”.

Sabe-se, empiricamente, que desenvolver sistemas é mais demorado do que se espera, custa mais do se espera e eles fazem menos do que se espera.

Com o foco na produtividade, as perguntas que devem ser respondidas são:  como tornar os profissionais mais produtivos? Como fazer programas e sistemas mais rapidamente e com custos menores? 

A técnica resolvendo os problemas da técnica

Uma resposta para incremento na produtividade, na área de desenvolvimento de softwares, principalmente àqueles ligados à automação das organizações, são as plataformas denominadas Low Code (Pouco código).

Plataformas Low Code são ferramentas, programas, para auxiliar os programadores a desenvolver programas e sistemas; metalinguagens.

A utilização de ferramentas Low Code, como o próprio nome diz, não elimina totalmente a necessidade de códigos, mas permitem que se entregue o mesmo sistema, com menos código. 

Como é possível fazer um mesmo programa ou sistema com menos código? 

Ferramentas Low Code eliminam códigos que em geral se repetem em diversos sistemas. São códigos genéricos que se aplicam para solução de problemas que se repetem. 

A classificação de códigos em uma categoria denominada “códigos genéricos”, não implica que esses códigos sejam menos complexos que os demais, tampouco que não represente quantidade significativa dos códigos presentes em um sistema. Na maioria das vezes é o contrário, são tão complexos quanto quaisquer outros códigos e requerem muito tempo e esforço.

Estes códigos podem representar entre 30% e 60% dos códigos de um sistema. Depende do sistema especificamente que está sendo construído. Alguns sistemas têm mais benefícios que outros, ao utilizarem ferramentas Low Code.

Abaixo exemplos de atividades em que as ferramentas Low Code podem ser aplicadas com melhoria de produtividade — rapidez, custo menor e qualidade igual ou superior:

  • Algoritmos que controlam usuários que acessam um sistema. Segurança, restrições de acesso, autenticações e autorizações. Algumas plataformas Low Code disponibilizam essas rotinas prontas.
  • Geração de relatórios de diversos tipos com filtros variados. As ferramentas Low Code “conhecem os dados” e facilitam a extração de informações, com interfaces padronizadas ou de fácil construção.
  • Geração de gráficos e utilização de bases de dados para combinações diversas, permitindo a extração de informações variadas;
  • Recursos de web services.
  • Processos automatizados de atualizações de versões.
  • Geração facilitada de telas e interfaces.
  • Facilidade na inserção de campos de dados e customizações variadas.
  • Compatibilidade com mais de um banco de dados. Aplicam comandos otimizados para cada um dos bancos.
  • Integração facilitada com ferramentas de Machine Learning, que ao final são elas mesmas ferramentas Low Code.

Estes são apenas alguns exemplos.

Utilização de ferramentas Low Code em ascensão 

As ferramentas Low Code ganham terreno na área de desenvolvimento de programas e sistemas.

Low Code é um termo genérico que abrange diversas categorias e há ferramentas específicas para diversas áreas, mas o crescimento da utilização delas se dá em todas as áreas.

Não se pode afirmar que ferramentas Low Code sejam a única solução, uma “bala de prata”, para o problema de falta de mão de obra na área de TI, mas certamente estão entre os componentes mais importantes quando se fala em produtividade dos profissionais ligados à análise de sistemas e programação de computadores.

As previsões de receitas com essas ferramentas passaram, de 9 bilhões em 2020, para 13 bilhões em 2021. (4) 

As ferramentas de Aprendizado de Máquina (Machine Learning) são também ferramentas Low Code, mas se encaixam numa categoria nova que pretendo explorar em outro artigo. 

As ferramentas de Aprendizado de Máquina permitem soluções que são impossíveis de serem obtidas com algoritmos tradicionais.

Voltando à frase de Gates

Ao se observar as ferramentas Low Code, conclui-se que para facilitar as atividades de construção de algoritmos, beneficiando milhões de programadores e organizações, outros programadores têm que realizar um trabalho árduo na construção dessas ferramentas. 

Eles têm de pensar em como disponibilizar algoritmos que são ferramentas para retirar dos demais programadores as atividades enfadonhas, repetitivas e desnecessárias. Tornar a vida dos demais programadores mais fácil e divertida, afinal é isso que eles também desejam. Programadores têm “preguiça” de realizar atividades repetitivas e enfadonhas.

Ferramentas Low Code permitem que os programadores, que as utilizem, se dediquem à construção dos algoritmos que sejam específicos de uma aplicação, singulares e ligados àquela aplicação em especial. Nestes casos, suas criatividades são mais bem aproveitadas. Afinal, “pouco código” não significa “nenhum código”. 

Fazer algoritmos é divertido, mas não sempre os mesmos algoritmos para resolver os mesmos problemas. 

Quando minha atividade principal era a de programação de computadores, eu detestava perder serviço. Escrever tudo novamente era o pior dos mundos; nessas situações eu tinha aversão ao trabalho, preferia o ócio e a vadiagem, termos que definem bem o que é preguiça.

 

-------------------------

(1) "I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it." 

GATES, Bill. Apud TANK, Aytekin. Bill Gates Says Lazy People Make the Best Employees. But Is Your Laziness Actually Masking a Deeper Issue?. Disponível em: www.entrepreneur.com. Acesso em: nov. 2022.

(2) DITADO. SÁ BORGES, Margarida. Seleções do Reader's Digest, Lisboa: Reader's Digest, edição TOMO XVII, n. 103 - dezembro, 1979, p. 60.

(3) www.jovemprogramador.com.br: curso gratuito para determinada faixa de renda familiar per capita e as inscrições para a edição 2023 abrem em 10 de dezembro de 2022.

(4) STAMFORD, Conn. Gartner Forecasts Worldwide Low-Code Development Technologies Market to Grow 23% in 2021. Disponível em: www.gartner.com. Acesso em: nov. 2022.