fbpx
 

5 características indispensáveis às aplicações modernas

5 características indispensáveis às aplicações modernas

O novo mundo digital e hiperconectado é um desafio e tanto para as áreas de TI das empresas. A convergência das ondas tecnológicas, como CAMS (Cloud Computing, Analytics/Big Data, Mobile e Social Business), e o processo de consumerização que empondera os usuários, demandam um pensar diferente de como a TI deve funcionar e desenvolver seus sistemas. O atual conceito que predomina, da TI responsável end-to-end por todas as demandas de tecnologia da empresa, está caminhando rápido para a obsolescência.

A velocidade das mudanças e até mesmo disrupções que o cenário de negócios coloca diante das empresas, faz com que a velocidade de resposta do atual modelo tecnológico e organizacional de TI se mostre inadequado. O modelo que adotamos hoje mostra-se lento demais nas respostas. É um modelo criado para um cenário que já não representa o cenário competitivo atual.

Por outro lado, a pressão por respostas rápidas aumenta de forma crescente pelo simples fato que cada vez mais os valores dos negócios do mundo físico (átomos) se deslocam para o mundo digital (bits). A informação sobre os produtos passa a valer tanto ou mais quanto os próprios produtos físicos.

Das várias transformações que a TI deve sofrer, vamos debater neste texto uma, muito importante: como serão as aplicações deste novo mundo e como desenvolvê-las.

Considero que as aplicações modernas devem ter algumas destas características:

  1. Serem omnichannel ou desenvolvidas para que possamos usá-las em qualquer dispositivo, seja um desktop, um tablet ou um smartphone. Devem também considerar que iremos usá-las a partir de diferentes interfaces como mouse, touch ou voz.
  2. Serem elásticas e para isso aproveitarem a elasticidade típica do ambiente de computação em nuvem. Implica, por exemplo, em terem mais ou menos usuários sem necessidade de passarem por upgrades de software ou hardware.
  3. Serem uma plataforma ou “ API-oriented”. Desta forma os usuários poderão acrescentar funcionalidades desenvolvidas por eles ou por terceiros. Muitos usuários estão cada vez mais conhecedores de tecnologia e podem eles mesmos desenvolverem ou contratarem externamente novas e especificas funcionalidades para aumentar a amplitude da aplicação. E já estão cansados de ouvir “não” da área de TI…
  4. Serem orgânicas ou evoluírem de forma gradual e constante. É bem diferente do modelo atual que agrupa as atualizações para serem implementadas em longos intervalos de tempo entre cada versão. A aplicação moderna deve ser altamente componentizada e cada componente pode ser atualizado de forma contínua, sem afetar os demais componentes.
  5. Serem contextuais ou inteligentes suficientes para identificarem o contexto de onde e como o usuário pretende usá-la. É a inserção do conceito de Big Data na arquitetura das aplicações.

Esta nova arquitetura reflete mudanças nos processos de desenvolvimento e operação.  Começa a fazer todo o sentido o conceito de DevOps ou entrega contínua, com aumento da colaboração e eliminação de barreiras burocráticas entre desenvolvimento e operações. TI passa a ser o responsável apenas pelas plataformas, serviços e sistemas “core” (além das funções básicas como segurança, disponibilidade, etc), e com isso possibilita a distribuição do desenvolvimento pelos usuários. O elo de ligação deste processo de co-criação são as APIs.

O stack de software muda do cenário atual end-to-end nas mãos da TI para um cenário onde a  base é desenvolvida pela TI (core systems e o middleware, que passa a ser as APIs) com os sistemas na ponta, que tocam os usuários, desenvolvidos por todos, alguns pela TI e outros (provavelmente a maioria) pelos próprios usuários ou parceiros de negócio. A arquitetura cliente-servidor é, portanto, transformada para uma arquitetura baseada em APIs. As APIs devem ser tratadas como produtos de software e gerenciados como tal, com seus projetos e equipes responsáveis.

Esta mudança arquitetônica  implica em uma mudança cultural. A TI passa a assumir um papel de orquestrador e entre outras novas funções aparece a de articulador e incentivador de comunidades de desenvolvedores que criarão novas aplicações em cima das APIs. Claro que não é possível termos uma transição estilo “Big bang”, mas sim uma evolução gradual, onde vai-se aos poucos se conseguindo  maturidade nos conceitos e vivência de criação de APIs e comunidades de desenvolvedores externos.

A própria organização de TI deve passar por uma profunda reformulação.  Ela é hoje estruturada para operar em setores distintos como desenvolvimento e operação, cada uma com suas próprias práticas e métodos. As metodologias atuais muitas vezes criam barreiras entre os setores, burocratizando a passagem de bastão da aplicação de um setor para o outro. Na verdade, elas foram feitas para otimizarem as atividades de cada setor isoladamente.

Os processos e a organização de TI devem, portanto, serem repensados para serem flexíveis e ágeis, sem barreiras burocráticas. Os processos criados para sistemas complexos e monolíticos, com os upgrades agrupados não são adequados para uma TI baseada em entrega contínua. Um modelo a pensar é reestruturar a organização em células multifuncionais, responsáveis pelo processo end-to-end de módulos da aplicação. Os sistemas passam portanto de monolíticos a modulares, com equipes multifuncionais responsáveis por cada módulo. Conceito de DevOps por excelência…

As barreiras são grandes. Existe o ceticismo, existe a carência de expertise em novos conceitos e, claro, existe o paradigma atual, arraigado em vinte ou mais anos de desenvolvimento e operação no modelo atual. Os CIOs por sua vez, tem o imenso desafio de, simultaneamente, promover a reengenharia da sua TI para desenvolver as novas e modernas aplicações ao mesmo tempo que mantém os sistemas legados.

Como começar? Sugiro desenhar a futura organização de TI e a arquitetura dos sistemas da próxima geração, fazer um diagnóstico (assessment) da situação atual, tanto em termos de tecnologia, como organização e expertise, e a partir daí iniciar o processo de transformar a própria TI.

Os CIOs devem compreender o potencial de ruptura da consumerização e do CAMS e entender a importância da API Economy (para saber mais da API Economy recomendo ler o paper “A survey of the API Economy”.  Um CIO não pode mais ignorar estes conceitos, pois não são puramente aspectos tecnológicos, mas essenciais aos negócios da corporação.

Dentro de poucos anos um CIO que desconheça e não tenha colocado em prática uma estratégia de CAMS, DevOps e APIs terá grandes dificuldades de se manter no cargo…

Resumo da ópera, a nova TI deverá ser responsiva, elástica e orientada a negócios. Tecnologia passa a ser apenas o meio com que realiza as demandas dos usuários, não um fim em si mesmo. A estratégia de TI será parte integrante, ativa e capaz de alavancar a estratégia de negócios da corporação.

De Cezar Taurion – CEO da Litteris Consulting, originalmente publicado por: http://cio.com.br/tecnologia/2014/08/01/cinco-caracteristicas-das-aplicacoes-modernas/

Com sede em Caxias do Sul – RS e escritório em São Paulo – SP, a NL atende a clientes de todo o país. A carteira soma mais de 25 mil usuários em mais de 9 mil PDVs ativos, com cerca de 180 mil NFs geradas mensalmente, e inclui nomes como Lojas Marisa, Grupo Grazziotin, Flavio’s, Top Internacional, Pittol e Sodexo, entre diversos outros cases de sucesso.

DEIXE UM COMENTÁRIO