Há perguntas mais ou menos úteis do que outras, a questão da tecnologia em 10 anos me parece mobilizadora. É mobilizadora quando tentamos responder qual será a tecnologia que estaremos produzindo, cada um de nós. No caso de GeneXus, não temos uma bola de cristal, mas tentar responder à pergunta implica na conscientização do avanço acelerado do mundo e que nossa missão de simplificar o desenvolvimento do software tem que estar à altura dos altos requisitos auto-impostos e da indústria em termos de funcionalidade, qualidade, segurança e velocidade. Nesse sentido, este é um post que fala sobre uma mudança no processo interno de produção de software GeneXus.
Em GeneXus falamos muito sobre transformação digital
, apoiamos nossos clientes para transformar seus negócios e, através das soluções que eles constroem, também ajudam seus clientes na mesma direção. Hoje quero mencionar uma mudança especial que implementamos em GeneXus, transpondo esse caminho, ou seja, transformando digitalmente nossos próprios processos de produção. Fazer você mesmo o que você prega.
É que, assim como nós pregamos a transformação em todas as áreas, aplicamos essa transformação no coração da nossa indústria (é curioso pensar que o software transformou tudo, mas muitas vezes não tem transformado a maneira como fazemos software). Quem nos conhece sabe que GeneXus desde sua concepção é uma mudança de paradigma no desenvolvimento. Hoje, transformamos nossos processos para estar à altura da velocidade dos bits, para apoiar nossa grande comunidade de desenvolvedores e ajudá-los a criar e manter soluções fortes.
Bits de mudanças
Desde março de 2016, nosso processo interno mudou e nos acompanhou durante todo o ciclo de atualização de GeneXus 15. Basicamente, mudamos o ciclo e o processo de lançamento de GeneXus para que nossos clientes possam desenvolver e manter suas soluções com as ferramentas mais recentes do mercado. (O que significa, por exemplo, dar-lhes imediatamente – ou antes que eles peçam – o mais recente gerador iOS que lhes permite criar aplicativos com as funções mais recentes e ser pioneiros ao publicá-los na loja).
O processo de desenvolvimento de software dura ao longo do tempo: meses, anos. E estamos cientes de que nossos clientes podem lançar soluções hoje, com o GeneXus hoje, mas eles também precisam mantê-lo em dez anos com GeneXus, que estará disponível em 10 anos.
Por que não mantê-lo em 10 anos com o GeneXus hoje?
Devido a três razões principais:
Primeiro, que a tecnologia evolui rapidamente, a integração com componentes de terceiros hoje é muito provável que em 10 anos não funcionará; em 10 anos, a solução pode exigir a integração com outros softwares e formas de integração que não existem hoje. Podemos fazer um exercício retrospectivo, o que foi a tecnologia há 10 anos? As soluções criadas ainda não expunham os serviços REST, e algumas tinham componentes .NET Mobile para serem executados em dispositivos
Handheld
. Hoje o protocolo REST já está em sua próxima etapa, os serviços evoluindo para o ODATA; e o .NET Mobile (junto com os Handhelds) sucumbiu à revolução dos dispositivos inteligentes.
Segundo, porque eles também inventam e continuam inventando maneiras melhores de capturar conhecimento e explorar dados que permitem níveis mais altos de produtividade. Dez anos atrás, os provedores de dados estavam apenas começando a ser usados; hoje começamos a ter Data Stores em fontes ODATA (e em breve em mais fontes de dados, como o Amazon DynamoDB ou o Apache Kafka) que nos permitem navegar com ‘for each’ sobre serviços ou dados não estruturados; Isso implica níveis incrivelmente mais altos de produtividade em cenários que serão cada vez mais frequentes!
Terceiro, porque eventos específicos nos lembram o nível de ruptura e o progresso vertiginoso da indústria repetidas vezes. Como por exemplo, as mudanças nas demandas do Google e da Apple para os aplicativos que em suas lojas estão à venda. Aqui está uma notícia sobre isso.
É por isso que enfatizamos e informamos aos nossos clientes que é melhor estar com a versão mais recente de GeneXus, pois eles garantem as maiores vantagens.
Estar atualizado com o último GeneXus nem sempre foi tão fácil no passado. Este foi um ponto chave para melhorar o processo de produção de GeneXus. Hoje, o esforço para passar de uma atualização de GeneXus 15 para outra atualização de GeneXus 15 não é tão alto em comparação, e uma das razões é que cada atualização sai do mesmo canal de publicação.
O novo processo é o seguinte: cada característica que surge das necessidades da indústria é estabilizada primeiro, é completada e apresentada aos avaliadores beta no canal Beta Testers (Canal Beta Testers), e quando está pronta, passa para o canal pré-visualização (PreviewChannel).
Tanto o canal Beta Testers quanto o canal de visualização são atualizados diariamente ou, mais precisamente, são atualizados diariamente, mas são efetivamente atualizados quando os testes garantem os níveis de qualidade especificados para cada canal e todas as etapas de publicação são satisfatoriamente atendidas. É claro que tudo isso é feito através de processos automatizados de integração e entrega contínua (CI / CD) usando ferramentas específicas para cada estágio do processo. Isso é complementado pela extrema atenção e resposta rápida ao feedback daqueles que adotam essas versões precocemente e, assim, o ciclo de produção é fechado em uma estrutura de melhoria contínua. Os benefícios da transformação digital mencionados acima são visíveis.
A partir daí, cada atualização (Atualização GeneXus) é liberada do canal de pré-visualização em um determinado dia, a cada 2 meses. E assim, de acordo com esse cronograma, está estabelecido que no dia 24 de setembro será lançado o GeneXus 16 (Sim! O primeiro dia do GX28!). E a atualização 1 de GeneXus 16 (Tero) será lançada em 28 de novembro.
O GeneXus 16 incluirá os recursos que já foram lançados em GeneXus 15 e suas atualizações. É apenas outra atualização. Com este processo, nenhuma atualização posterior de GeneXus 15 será lançada após sua atualização 12, pois tecnicamente falando GeneXus 16 em seu lançamento será a continuidade de GeneXus 15 em sua atualização 13.
Como resultado direto, atualizar para o GeneXus 16 ou qualquer um de seus upgrades subsequentes será tão simples quanto mudar entre a atualização de GeneXus 15; e esperamos ainda mais simples, porque continuamos melhorando este processo continuamente.
É claro que nesse processo, não apenas falamos sobre a entrega de bits, mas também todos os outros materiais: configurações, documentos no Wiki da Comunidade que ajudam a adotar as novas funcionalidades, documentos que mostram melhorias ou corrigem erros e indicam o caminho de adoção em relação a aspectos de compatibilidade para levar em conta ou novos requisitos que surjam para diferentes necessidades. Este material é frequentemente acompanhado de bases de conhecimento (KBs) com exemplos, atualizações de curso e muito mais.
A maneira como sabemos alcançar esses processos, e as transformações que os levam, é através de pessoas que dominam o assunto, aprendem todos os dias e avançam como uma equipe em direção ao objetivo; como uma equipe, onde a máxima é: Confiança e Respeito.
Respondendo à pergunta inicial, posso garantir que com GeneXus não temos uma bola de cristal para saber como será a tecnologia daqui a 10 anos. Mas, sim, temos a capacidade de nos adaptar às mudanças, um mecanismo de produção melhor que o anterior, e isso facilita aos nossos clientes a adoção das atualizações e a permanência nas versões mais recentes de GeneXus. Para que?
Para facilitar nossos clientes a criar, evoluir e manter soluções de software sem precedentes automaticamente e sustentadas ao longo do tempo.
