Francisco Costa

frfc

Partner & Enterprise Solutions Lead - Xpand IT

Elevar a eficiência das equipas de negócio com Jira

ESTE ARTIGO EM 5 SEGUNDOS:
  • Utilizar ferramentas de gestão de projetos como o Jira é crucial para elevar a eficiência e produtividade das equipas, organizando tarefas e projetos de forma personalizada.
  • Esta é uma ferramenta útil para áreas como Recursos Humanos, Marketing e Apoio ao Cliente, facilitando a gestão de auditorias, recrutamento, campanhas de marketing, criação de conteúdos, e reclamações de clientes.
  • O Jira promove comunicação clara entre todos os membros da equipa e automatiza tarefas repetitivas, permitindo que os elementos se possam concentrar em tarefas mais importantes.

Elevar a eficiência, a produtividade e a colaboração é essencial numa realidade empresarial competitiva e dinâmica. As equipas de negócio deparam-se, cada vez mais, com a necessidade de gerir projetos de forma eficiente, garantindo que todos os stakeholders estão envolvidos e alinhados com os objetivos organizacionais.

Na realidade em que trabalhamos, sabemos que os recursos são escassos – seja tempo, dinheiro, conhecimento, etc. – e é necessário tirarmos partido de ferramentas adequadas que apoiem as organizações a gerir o seu trabalho eficazmente com soluções colaborativas.

Como tal, as ferramentas de gestão de projetos são um veículo central para o sucesso de qualquer organização. A ferramenta Jira Software, da Atlassian, já muito conhecida pelas equipas de desenvolvimento de software, é igualmente poderosa para as equipas de negócio. Ainda assim, maximizar a produtividade das diferentes equipas de negócio não começa e acaba com a implementação de ferramentas como o Jira.

Alcançar a excelência operacional é uma jornada onde o primeiro passo deverá ser a avaliação dos desafios que as equipas enfrentam, de modo que seja possível compreender como otimizar os seus processos. Desta forma, será possível mapear a ferramenta de acordo com as metodologias de trabalho que mais se adequam à realidade das equipas.

Como o Jira transforma as equipas de negócio

O Jira é uma plataforma de colaboração versátil, que se adapta aos diferentes contextos e necessidades das organizações. Um dos seus objetivos é facilitar a gestão de tarefas, desde as mais simples até projetos complexos.

A sua flexibilidade permite uma total personalização e customização das diferentes funcionalidades, por forma a que seja possível transformar e suportar variadas metodologias de trabalho, em diferentes indústrias e departamentos, seja em Recursos Humanos, Marketing, Financeiro ou outros.

O Jira, com a sua elevada capacidade de adaptação e personalização, ajuda a transformar os processos de diferentes equipas de negócio:

Compliance:

  • Gestão de auditorias: medir e gerir o progresso de auditorias, incluindo o planeamento, execução, documentação de resultados e respetivas recomendações – em tempo real e com visibilidade do progresso de diferentes auditorias;
  • Gestão de documentação: criar, rever e aprovar documentação relativa a regulamentos específicos.

Recursos Humanos (RH):

  • Performance: configurar e acompanhar ciclos de avaliação de desempenho, registando feedback de modo a definir objetivos para os colaboradores;
  • Recrutamento: gerir o processo de recrutamento, desde as diferentes vagas abertas, monitorização de diferentes candidaturas on-going e respetivo acompanhamento das etapas de entrevista e consequente seleção.

Marketing:

  • Gestão de campanhas: planear e monitorizar campanhas de marketing, desde a fase de ideação, à execução e análise de resultados;
  • Gestão de conteúdos: coordenação da criação, revisão, tradução e publicação de conteúdos, facilitando a colaboração entre os diferentes membros que participam no processo (designers, redatores do conteúdo, revisores, especialistas de SEO, tradutores, etc.).

Equipas de apoio ao cliente:

  • Gestão de reclamações: criar, priorizar e monitorizar reclamações, por forma a ser possível acompanhar a situação relatada pelo cliente, desde a abertura até à sua resolução, garantindo uma resposta rápida e eficiente;
  • Automatização: configurar regras de automação para situações altamente comuns, como as regras de escalar reclamações, notificações automáticas para a revisão de situações pendentes, atualizações automáticas de estado, por forma a melhorar a eficiência operacional.

O Jira conta com um número alargado de funcionalidades: a um nível mais operacional, é possível criar tarefas, definir prioridades, definir prazos de entregas, assignar diferentes responsabilidades e acompanhar o progresso de diferentes tarefas.

Numa vertente colaborativa, um dos principais benefícios desta ferramenta é facilitar e promover, entre diferentes membros de uma dada equipa e departamento, uma comunicação clara e eficaz.

Através de funcionalidades como comentários, anexação de documentos, menções e notificações em tempo real, é possível que todos os stakeholders se encontrem atualizados com as últimas informações e decisões em projetos específicos.

Este acompanhamento em tempo real é indispensável para que as equipas se mantenham on track com prazos de entrega, evita que a informação se disperse no espaço e no tempo e mal-entendidos.

Para líderes de equipas, promove uma visão totalmente transversal de todas as tarefas de um dado projeto e capacita-os para a tomada de decisões mais informadas, face ao progresso das tarefas, à capacidade da equipa, à dependência com outros departamentos, etc.

Para além disso, é também possível que diferentes equipas de negócio criem kanban boards, com informações personalizadas, que oferecem uma visão clara e direta do estado dos projetos, onde é possível escolher que tipo de informação é apresentada de forma direta, seja quem está responsável pela tarefa, o prazo de entrega, dependências entre tarefas e outro tipo de categorizações que sejam necessárias (área de negócio, budget, etc.).

kanban-board

Exemplo de Kanban board com a visão geral das tarefas e respetivos estados (por começar, em progresso, em validação e aprovadas).

Adicionalmente, as equipas conseguem também construir dashboards para responder a diferentes propósitos. Os gestores de projeto, por exemplo, podem configurar dashboards que lhes forneça informação crítica sobre os diferentes projetos. Seja uma lista das tarefas pendentes, o progresso de diferentes iniciativas, prazos que estão iminentes, a distribuição de tarefas por colaborador ou por área de negócio, também facilita a gestão do dia-a-dia e tomadas de decisão informadas, tornando mais fácil elevar a eficiência da sua equipa.

jira-dashboard

Exemplo de dashboard personalizado com informações de um projeto: contagem de tarefas por prioridade, conjunto de tarefas distribuído por status, sprints com associação da taxa de esforço por colaborador e tarefas concluídas por sprint.

Não menos importante é a capacidade de automatização de processos altamente repetitivos. Numa era em que elevar a eficiência é chave, automatizar é crucial.

Por via da automação, as diferentes equipas de negócio conseguem configurar o Jira para executar algumas ações automaticamente. Seja atualizar o estado de uma tarefa, assignar tarefas a diferentes owners consoante diferentes alterações, enviar notificações, solicitar aprovações, esta automação permite que os colaboradores estejam focados na entrega de atividades de maior valor, elevando assim a produtividade de toda a equipa.

Estas são apenas algumas das funcionalidades que o Jira oferece atualmente às equipas, por forma a que lhes seja possível centralizar as suas tarefas, construir uma base de trabalho colaborativa focada na produtividade, na eficiência e também na transparência.

Na Xpand IT, acreditamos que adotar o Jira vai além de implementar uma ferramenta de gestão de projetos: fazê-lo implica questionar processos antigos que perpetuam ineficácia, encontrar novas metodologias de trabalho, e finalmente, capacitar as diferentes equipas com a tecnologia e as soluções necessárias para potenciar a sua produtividade, melhorar a colaboração e incrementar a entrega de projetos com qualidade.

Contacte-nos para apoiar a sua equipa neste processo de transformação.

Francisco CostaElevar a eficiência das equipas de negócio com Jira
read more

Estratégias para maximizar a produtividade e colaboração nas equipas

ESTE ARTIGO EM 5 SEGUNDOS:
  • Garantir a eficácia das equipas exige estratégias e ferramentas de gestão de projeto. As organizações devem dar prioridade à produtividade da equipa, garantindo uma liderança motivadora, comunicação transparente e definições de objetivos claros;
  • No cenário competitivo atual, maximizar a produtividade é crucial. O ecossistema de produtos da Atlassian, que inclui ferramentas como o Jira Work Management, facilita o fluxo de trabalho, colaboração e visibilidade entre as equipas;
  • As ferramentas da Atlassian oferecem personalização, melhoram a comunicação e garante maior visibilidade do progresso do trabalho. A integração com produtos como o Confluence e o Tempo Timesheets otimiza a organização de projetos, colaboração e controlo de tempo para um crescimento sólido e eficaz.

Garantir que as equipas são eficazes pode ser um verdadeiro desafio quando não se aplicam estratégias ou ferramentas de gestão de projetos. Atualmente, as organizações estão mais despertas para a necessidade de maximizar a produtividade das suas equipas, sendo esta a pedra basilar do sucesso organizacional. Damos-lhe a conhecer alguns dos pilares fundamentais:

  • Liderança motivadora;
  • Comunicação transparente;
  • Ambiente de trabalho positivo;
  • Definição clara de objetivos;
  • Gestão de tempo e atribuição de tarefas;
  • Ferramentas e tecnologias adequadas.

Maximizar a produtividade das equipas nas organizações

De acordo com o aumento de competitividade nos tecidos empresariais, torna-se imprescindível aplicar ferramentas que impulsionem a maximização de produtividade e gestão de equipas, sendo estes catalisadores para o sucesso que as organizações procuram.

Por exemplo, se tivesse 55 tarefas para delegar, como faria a distribuição? Ou se tivesse que distribuir por prioridades? Estas são algumas das questões que os nossos clientes fazem quando pretendem encontrar uma solução inovadora para a gestão de equipas do seu negócio.

ferramentas-colaborativas

Produtos Atlassian para gestão organizacional

A Atlassian vem tentar colmatar as principais dificuldades em gestão de equipas e maximização de produtividade, utilizando o potencial do seu ecossistema de produtos, adequados para melhorar a rentabilização de trabalho entre equipas.

O Jira Work Management é um desses produtos que veio potenciar o fluxo de trabalho entre equipas, bem como garantir que existe colaboração e visibilidade entre as mesmas.

São vários os benefícios da sua integração:

• Personalização, adaptando-se a qualquer processo ou necessidade;

• Melhorias na comunicação e colaboração entre os membros da equipa através da atribuição de tarefas, comentários em tempo real e integração com outras ferramentas de comunicação;

• Aumento da visibilidade entre equipa e gestão do progresso do trabalho e capacidade de equipa, contribuindo também para uma gestão eficiente dos recursos;

• Aumento da produtividade com automatização de tarefas rotineiras e organização de trabalho de forma inteligente;

• Capacidade de integração com outros produtos e plataformas, facilitando a escabilidade de tarefas.

Se pensarmos nestes benefícios aplicados à área da banca, compreendemos que existe:

• Possibilidade de criar projetos específicos para implementar novos produtos financeiros, detalhando cada fase do processo, orçamentos e cronogramas;

• Maior controlo de compliance e auditoria, assegurando as boas práticas de segurança e privacidade.

Ao amplificarmos o potencial deste produto, e combinarmos com o Confluence – um produto dedicado à colaboração e organização de documentos – obtemos um espaço centralizado para guardar as informações relevantes sobre projetos, processos e procedimentos internos.

À medida que vemos estas ferramentas integrarem-se e desenvolverem os seus potenciais, percebemos que pode ser interessante implementar o Tempo Timesheets – plataforma de registos automáticos de tempo e criação de relatórios pormenorizados sobre workflow, entre outras ferramentas associadas – onde conseguimos controlar a quantidade de tempo alocada a determinadas tarefas.

Com um crescimento sólido e eficaz através da implementação das ferramentas Atlassian, e muitas outras que garantem um fluxo de trabalho exímio, garantimos aos nossos clientes uma grande melhoria na rentabilização e gestão de equipas que procuram. Contacte-nos e descubra como os seus procedimentos internos podem ser a vantagem que necessita na sua área de atuação.

Francisco CostaEstratégias para maximizar a produtividade e colaboração nas equipas
read more

Inovação baseada em IA: OpenAI e desenvolvimento web moderno

ESTE ARTIGO EM 5 SEGUNDOS:
  • A inteligência artificial está a revolucionar o desenvolvimento web moderno ao possibilitar experiências personalizadas, resolver problemas complexos e aprimorar processos user-friendly, cruciais na era digital;
  • As empresas que não integram inteligência artificial nas suas soluções digitais enfrentam problemas de menor escalabilidade e visibilidade do que a concorrência, colocando-as em desvantagem no mercado;
  • As ferramentas de inteligência artificial facilitam a modernização de websites ao automatizar a criação de conteúdo, fornecer suporte personalizado através de assistentes virtuais e chatbots, permitir a personalização de websites, oferecer tradução de conteúdo para várias línguas e melhorar as experiências do utilizador, bem como a competitividade empresarial.

Qual será o impacto do uso de Inteligência Artificial na construção e modernização de produtos e serviços disponíveis em Web? À medida que avançamos na Era da digitalização, somos impactados por uma necessidade em proporcionar experiências 100% personalizadas, garantindo resoluções para problemas complexos e melhoria de processos que facilitem a utilização de websites.

Se acompanharmos o percurso das empresas que não implementam IA nas suas soluções digitais, conseguimos analisar que a escalabilidade de mercado é menor e a visibilidade perante os seus concorrentes também, colocando-as numa posição vulnerável.

Principais desafios e limitações num mercado sem IA

Se há uma mudança que podemos apontar devido à digitalização é a exigência do utilizador – fruto da modernização a que tem sido exposto – e é por causa dela que, à medida que vai encontrando limitações nos produtos e serviços digitais, afasta-se de uma relação fiel com uma determinada empresa.

De acordo com Marco Iansiti e Karim R. Lakhani, autores do livro “Competing in the Age of AI: Strategy and Leadership When Algorithms and Networks Run the World”, é fulcral desenvolver estratégias centradas em dados com implementação de IA, onde a análise desempenha um papel fundamental na tomada de decisões estratégicas, garantindo o crescimento da economia organizacional e uma jornada de consumidor positiva.

Desenvolvimento web moderno com IA

As ferramentas de IA vieram melhorar o desenvolvimento web, abrindo as portas para uma realidade já há muito procurada: a aproximação com o utilizador. É por defendermos a implementação destas ferramentas que muitos dos nossos clientes conseguem estar na vanguarda da sua área de negócio.

Na prática, como é que vemos esta aplicabilidade? Existem diferentes necessidades a ser correspondidas num website, sendo que o principal foco é proporcionar a melhor experiência, como por exemplo:

• Conteúdos: garante-nos a capacidade em automatizar descrições de produtos, artigos, respostas a perguntas frequentes;

• Assistentes virtuais e Chatbots: dá apoio imediato e personalizado consoante as questões do utilizador, tendo por base conversas coesas, semelhantes a uma interação humana;

• Personalização do website: criação de um modelo que aprende a analisar o comportamento do utilizador, oferecendo-lhe uma experiência totalmente personalizada no que concerne a sugestão de conteúdos;

• Tradução: proporciona uma tradução do conteúdo em diferentes línguas, adequadas à área de negócio.

Aplicação de IA para análise de tráfego

Já pensou na quantidade de informação que pode receber sobre o comportamento de um utilizador ao implementar IA no seu negócio? Atualmente, e com um constante desenvolvimento, conseguimos potenciar o crescimento das empresas e, também, melhorar a experiência do utilizador através da análise de tráfego e comportamental digital.

Como? Na verdade, é simples para nós. Através da construção de modelos precisos e objetivos bem definidos, conseguimos tornar o seu negócio numa referência, tanto para o utilizador como para o mercado. É, através da implementação de IA em análise de tráfego que conseguimos obter:

• Segmentação de audiência: com IA conseguimos analisar padrões de comportamento, segmentando a audiência com base em preferências, histórico de navegação e interações anteriores;

• Recomendações personalizadas: com uma boa análise de tráfego, conseguimos apresentar conteúdos focados nos interesses do utilizador, aumentando a relevância do que lhe é apresentado e afunilando as suas pesquisas;

• Otimização de layout e design: ao compreendermos o que o utilizador pretende, conseguimos adaptar a interface às suas preferências, melhorando-a regularmente;

• Integração de campanhas de Marketing: conseguimos recolher informações suficientes e utilizá-las em campanhas pagas, potenciando, mais uma vez, o negócio.

É visível a capacidade informativa que ganhamos ao utilizarmos os modelos certos e, ainda mais, quando estes potenciam a probabilidade de tomarmos decisões conscientes e assertivas, dando-nos uma vantagem competitiva e uma noção aprofundada do que o nosso utilizador procura, consome e pesquisa.

Na Xpand IT temos uma visão holística do potencial de IA em desenvolvimento web moderno. A nossa abordagem foca-se num acompanhamento contínuo em todas as fases do projeto, por forma a construir uma solução enquadrada com as necessidades do cliente; solução que pode e deve ser acompanhada, por forma a que possa ser iterada de forma regular e consistente. Contacte-nos e conheça as soluções personalizadas que temos para si.

Francisco CostaInovação baseada em IA: OpenAI e desenvolvimento web moderno
read more

Use Case: Uma experiência digital no serviço pós-venda

ESTE ARTIGO EM 5 SEGUNDOS:
  • Neste artigo vamos explorar como uma empresa do setor do retalho conseguiu melhorar o seu atendimento ao cliente com recurso ao Dynamics 365;
  • Como tornar o serviço pós-venda numa experiência digital.

O serviço pós-venda é um dos momentos mais importantes na experiência de compra. A tendência é que a atenção prestada pelas empresas aos seus clientes seja cada vez maior, tornando, assim, as organizações mais próximas das pessoas.

Serviço pós-venda pode ser definido por todas as interações de um determinado cliente depois de realizar uma compra num dos pontos de venda da organização.

Caso prático

Neste artigo, e com recurso a um caso prático, vamos considerar como exemplo uma empresa do setor do retalho para explicar e detalhar todas as necessidades e desafios encontrados nesta fase da jornada do cliente.

Análise da empresa

Vamos considerar o momento que o mundo atravessou nos últimos anos. Imaginemos uma empresa que cresceu muito durante a pandemia, mas, no meio da azáfama desse crescimento, nunca houve o tempo e a dedicação para reestruturar os seus processos internos para conseguir acompanhar essa evolução.  Falamos de uma empresa que lidava com o seu processo de serviço pós-venda recorrendo apenas a folhas de Excel, caixas de e-mail, e telefone para apoiar o consumidor no seu percurso. Isto tornou-se rapidamente incomportável e acabou por refletir-se na relação com o cliente.

Não existiam, por exemplo, SLA’s, bases de conhecimento, ou, sequer, métricas de satisfação.

Desafio: Cenário AS IS

Imaginemos que um cliente acaba de chegar a casa, a um feriado, após comprar uma máquina de café automática. Ao desembalar o produto deparou-se com uma das peças do depósito de água danificada, o que o deixou frustrado. De imediato, acedeu ao website da empresa e reparou que o atendimento telefónico apenas estava disponível em dias úteis, entre as 9:00h e as 17:00h. Desanimado, continua a busca no site e encontra um endereço de e-mail, o que lhe permite maior flexibilidade no contacto com o apoio ao cliente. Decide, então, expor a situação por e-mail, com fotografias da peça danificada.

No entanto, o departamento de atendimento ao cliente está assoberbado de trabalho e não tem capacidade para fazer a triagem dos e-mails que chegam. Por isso, apenas consegue tratar da reclamação do cliente uma semana após a receção da mesma, sem que durante este tempo tenha sido dada ao cliente qualquer informação sobre o processo.

Por sua vez, e porque não tinha resposta, o cliente tinha voltado a enviar mais e-mails, gerando duplicações da reclamação.

A empresa indica na sua resposta os passos a realizar para que o cliente possa receber a peça nova. Para isso, o cliente teve de dar os dados de faturação, morada, código do produto e anexar a fatura da compra – informação que a empresa já tinha do seu lado, mas demasiado dispersa para ser útil.

O cliente, ao receber o email, envia no dia seguinte a informação necessária, e a peça chega quatro dias depois.

Com este cenário em mente, existem algumas fragilidades:

  • Sensação de indisponibilidade;
  • Falta de feedback;
  • Tempos de resposta longos;
  • Insatisfação do cliente;
  • Geração de reclamações duplicadas;
  • Silos de informação não ligados ou pesquisáveis;
  • Falta de mecanismos para medir a satisfação do cliente;
  • Desorganização nas funções desempenhadas internamente;
  • A gestão não tem visibilidade dos processos e/ou performance da equipa.

Solução: Cenário TO BE

Para fazer face às suas necessidades de Customer Service, o departamento de apoio ao cliente decidiu optar pela solução Dynamics 365: Service e Customer Voice, de forma a dar resposta às necessidades dos seus clientes.

O Dynamics 365 é um sistema empresarial da Microsoft, que tem duas vertentes: ERP, onde se inserem sistemas como faturação, gestão de stocks, gestão de recursos, entre outros, e CRM, para gestão de processos comerciais, apoio ao cliente, marketing, etc. O módulo Service pretende colmatar as necessidades de apoio ao cliente, oferecendo funcionalidades de gestão de incidências, acordos de resposta, e bases de conhecimento, com o objetivo de melhorar a visibilidade do cliente sobre a empresa. A componente de Customer Voice permite construir e enviar inquéritos de satisfação, assim como analisar a informação obtida pelos mesmos.

Para colmatar as fragilidades existentes foi configurado o sistema de atendimento ao cliente – onde é possível gerir incidências, alocação de agentes, acordos de serviço (SLA’s) e bases de conhecimento internas (para utilização da equipa) e externas (para consulta dos clientes). Depois desta implementação, o cenário acima passaria a desenrolar-se da seguinte forma:

O cliente, ao reparar que tem a peça danificada, desta vez, tem à sua disposição uma página de FAQs, criada a partir de uma base de conhecimento, onde procurou por ‘Peça Danificada’. Rapidamente encontrou um artigo com um endereço específico para reportar a situação e que indicava que o processo deveria ficar resolvido em 4 dias úteis. Assim, envia o referido email para o endereço.

Por sua vez, o sistema da empresa cria a incidência de forma automática, sendo esta entregue ao agente com menor número de incidências. Assim, reduz-se o tempo de resposta e garante-se que o agente sabe exatamente o que fazer (porque obteve essa informação numa das bases de conhecimento). Evita-se, então, troca de e-mails desnecessária com o cliente.

Sendo o Dynamics 365 uma solução que se adapta às necessidades da organização, foram também configurados templates utilizados frequentemente pelos agentes para as várias incidências. Neste caso, o agente só tem de selecionar o template de envio de peça danificada, que será automaticamente preenchido com a informação do cliente em sistema.

Após a receção da peça, e tendo a empresa configurado o envio de inquéritos automáticos a partir do seu novo sistema, é enviado ao cliente um formulário de satisfação, de forma a obter informação sobre a resolução do problema que originou a incidência.

Por fim, sendo que o sistema está assente numa base de dados com boa qualidade de informação, a gestão pode, finalmente, obter informação das performances das suas equipas, com a ajuda de reports e dashboards intuitivos.

Com isto, conseguimos melhorar os pontos mencionados anteriormente da seguinte forma:

  • Sensação de acompanhamento constante, com troca de informação oportuna;
  • O cliente sente-se acompanhado pela empresa, por saber que a mesma o conhece e evitando troca de informação desnecessária;
  • Redução de tempos de resposta, devido à distribuição das incidências por grupos especializados de trabalhadores, e atenção à carga dos mesmos;
  • Otimização de equipas, uma vez que estão configurados artigos e templates para que estes possam trabalhar de forma mais rápida e eficiente;
  • Eliminação de duplicados, pois o sistema consegue identificar repetições;
  • Melhor leitura do negócio através da analítica proporcionada pelo sistema;
  • Visibilidade sobre a satisfação do cliente, através dos inquéritos enviados.

Em Resumo

No final da transformação, esta empresa ficou com uma solução pós-venda otimizada e estruturada, o que permitiu escalar o seu negócio para novos patamares, com um passo importante na construção da visão 360º do seu cliente. O Excel continua a fazer parte da empresa num formato de transação de dados, mas o Dynamics 365 passou a ser a ferramenta de trabalho diário.

Assista ao nosso vídeo:

Como a Xpand IT o pode ajudar:

A nossa equipa é multidisciplinar e tem capacidade para auxiliar em vários componentes, desde o processo de definição, ao processo de implementação da solução. Aproveitamos toda a experiência e know-how que temos em diferentes áreas para oferecer a melhor abordagem, sempre orientada ao seu negócio. Se quiser obter mais informações, entre em contacto connosco.

Francisco CostaUse Case: Uma experiência digital no serviço pós-venda
read more

Node.js: a plataforma JavaScript utilizada pela Netflix e Uber

O crescimento a que temos assistido em relação ao JavaScript é difícil de esconder. Ao longo dos anos tem-se conseguido oferecer centenas – senão milhares – de frameworks e bibliotecas que ajudam os developers e as empresas a criar sites, portais, aplicações interativas, ágeis e com interfaces modernas. Se somarmos a isto o facto de o JavaScript ser independente de outras plataformas, fácil de aprender, suportado por uma comunidade sempre crescente, entre muitas outras vantagens, é fácil perceber porquê.

No entanto, durante muito tempo, o JavaScript foi uma linguagem exclusivamente orientada para client-side e nunca conseguiu ser uma alternativa para o backend. Pelo menos até 2009, ano em que foi lançada a primeira versão do Node.js. Pela primeira vez na história do JavaScript apareceu uma alternativa viável para backend.

Algo que é importante desmistificar é o receio que muitas empresas ainda têm sobre esta alternativa aos backend mais tradicionais (Java, .NET, etc), no seu mundo de aplicações Enterprise, mesmo quando empresas como Netflix, Trello, PayPal, Linkedin, Uber, Walmart, NASA, Intel, Twitter, entre muitos outros exemplos, já usam com sucesso Node.js nas suas infraestruturas, sendo que esta lista cresce de dia para dia.

Para quem ainda não conhece Node.js, é importante salientar algumas das suas maiores vantagens:

  • Ideal para a construção de aplicações real-time;
  • Facilita a visão do programador full stack em Javascript (visto que a linguagem para backend e frontend é a mesma);
  • Diminui o tempo de desenvolvimento, graças à visão full stack;
  • É suportado por uma comunidade gigante que contribui com novas bibliotecas e updates a um ritmo alucinante;
  • A execução do código é extremamente rápida;
  • Ideal em arquiteturas orientadas a micro serviços.

Voltamos então à questão que aqui queremos endereçar: porque é que as empresas devem adotar Node.js para as suas aplicações? Respondendo sucintamente, porque foi desenhado para aplicações de escala e orientado para uma visão moderna de como desenvolver aplicações com arquiteturas complexas.

Como é que, na realidade, se concretizam essas capacidades é a parte mais importante.

A escalabilidade é essencial na grande maioria das aplicações empresariais atuais e o Node.js responde a isso oferecendo de raíz um módulo de clustering com balanceamento de carga em múltiplos cores de CPU. Associando o poder de clustering a uma solução single-threaded, non-blocking, orientada a eventos e callbacks, permite que trate de múltiplas conexões em simultâneo, conseguindo desta forma o processamento de milhões de conexões concorrentes.

O facto de ser single-thread é, por vezes, encarado como uma limitação por, em teoria, poder tornar a aplicação mais lenta, mas isso não é mais do que um mito. Ao contrário de soluções que não são orientadas a eventos e onde são necessárias múltiplas threads para lidar com múltiplos pedidos, sendo que o número de threads em paralelo é limitado, em Node.js esse limite não existe. Desde que exista memória e o kernel assim o permita, podemos processar qualquer número de pedidos em simultâneo sem problema.

Existe também o receio de muitas empresas colocarem o seu código na Cloud, o que impediria a utilização do npm (Node Package Manager). Para endereçar esta questão, foi criada uma versão Enterprise que pode ser instalada e mantida na própria infraestrutura da empresa, mantendo assim o seu registo interno de módulos, obedecendo aos requisitos mais rígidos de segurança que possam existir.

Para além disso, existe ainda a questão do suporte a longo prazo. Esta será sempre uma preocupação nas soluções Enterprise, mas a verdade é que o Node.js também garante esse suporte.

Cada versão major do Node.js contará com suporte ativo durante 18 meses, desde o período em que entra em LTS (Long Time Support), passando depois para um regime de manutenção com a duração de 12 meses extra. Durante este período não haverá qualquer inclusão de novas funcionalidades na versão utilizada, apenas a correção de bugs e atualizações de segurança. Desta forma, o problema que poderia existir nas soluções desenvolvidas com recurso a Node.js porque, por não terem longevidade, poderiam deixar de ter suporte, deixa de fazer sentido.

Foi com base em toda esta informação que as empresas anteriormente referidas decidiram fazer a sua transição para esta tecnologia. O que é que ganharam?

  • Netflix: tempos de carregamento reduzidos em cerca de 1 minuto;
  • LinkedIn: reconstruiu o seu core dos serviços mobile recorrendo a Node.js, com a aplicação a correr 20 vezes mais rápido e com uma integração muito melhor entre backend e frontend, num altura em que o Node.js tinha, apenas, um ano de desenvolvimento;
  • PayPal: migrou todas as suas web applications de Java para Javascript e Node.js, e viu os seus programadores escreverem menos 33% das linhas de código, utilizar menos 40% dos ficheiros e levar metade do tempo a construir a sua aplicação (também com recurso a menos pessoas). Os tempos de resposta diminuíram em cerca de 35%, o que implicou páginas a serem devolvidas com uma melhoria de 200ms;
  • Uber: montou o seu sistema de relacionamento entre condutores e passageiros com Node.js devido às suas capacidades de resposta rápida, grande poder de processamento de pedidos e facilidade em ter uma arquitetura distribuída.

Com isto não quero dizer que o Node.js é uma “silver bullet”. Pode não ser a melhor solução para todos os casos, mas faz sentido avaliar as suas potencialidades e perceber as mais valias que podemos retirar desta tecnologia.

Francisco CostaNode.js: a plataforma JavaScript utilizada pela Netflix e Uber
read more