Desenvolvimento

Ξ Deixe um comentário

Aplicações modernas em um mundo digital e hiperconectado

publicado por Cezar Taurion

Aplicações modernas em um novo mundo digital e hiperconectadoO novo mundo digital e hiperconectado é um desafio e tanto para as áreas de TI. 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 emponderam os usuários, demandam um pensar diferente de como a TI deve funcionar e como desenvolver seus novos sistemas. O atual conceito que predomina, da área de TI ser a 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 rapidas 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 desenvolve-las. Mas, como serão estas aplicações? Considero que as aplicações modernas devem ter algumas destas características:

  1. Serem omnichannel ou sejam, desenvolvidas para os seus usuários usa-las em qualquer dispositivo, seja ele um desktop, um tablet ou um smartphone. Devem também considerar que os usuários podem usar 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 ter mais ou menos usuários sem necessidade de passar 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ânicos 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 deve, portanto, ser repensada para ser flexível e ágil, 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 reengenheirar 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” em http://www.cutter.com/content-and-analysis/resource-centers/agile-project-management/sample-our-research/apmu1306/apmu1306.pdf. 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. Não terá mais sua estratégia de TI mas será parte integrante, ativa e alavancadora da estratégia de negócios da corporação.

[Crédito da Imagem: Aplicações Modernas – ShutterStock]

  •  
  •  
  •  
  •  
  •  
  •  
  •  

Compare preços de Uber, 99 e Taxi

Minimum Way

Autor

Cezar Taurion é head de Digital Transformation da Kick Ventures e autor de nove livros sobre Transformação Digital, Inovação, Open Source, Cloud Computing e Big Data.

Cezar Taurion

Comentários

You must be logged in to post a comment.

Busca

Patrocínio

Publicidade




Siga-nos!

Newsletter: Inscreva-se

Para se inscrever em nossa newsletter preencha o formulário.