;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Logo Pagbenk Seu dinheiro rende mais
Topo

Empresas da 'velha' economia imitam as startups

Márcia De Chiara

São Paulo

29/07/2019 08h21

A revolução digital mudou a forma de trabalhar das empresas da 'velha' economia. Gigantes como Whirpool, Unilever, Natura e Vivo, por exemplo, tentam copiar o modelo rápido e flexível das startups. A antiga rotina - na qual um projeto levava meses e até anos para ser concluído e, quando terminava, muitas vezes já estava ultraado - começa ser substituída por métodos mais ágeis, na velocidade da economia digital.

A quantidade de empresas que começou a quebrar os muros que separam os seus departamentos para obter resultados mais rápidos é crescente nos últimos dois anos. Elas aram a organizar os trabalhos em pequenos grupos de funcionários, misturando diferentes áreas. Eles trabalham fisicamente lado a lado, sem barreiras burocráticas ou de hierarquia. Com isso, conseguem resolver problemas ou colocar um projeto de pé o mais rápido possível, ainda que não esteja 100% pronto.

Batizados de squads (esquadrão, em inglês), essa forma de organizar o trabalho em pequenos grupos começou nos anos 2000, com a startup sueca Spotify, de serviço de streaming de música. Virou referência no mundo da istração por causa dos ganhos de produtividade alcançados que, a depender do caso, podem ser quatro vezes maiores, se comparados ao de uma empresa tradicional.

O pulo do gato para conseguir esses resultados é a multidisciplinaridade dos grupos, explica Carlos Felippe Cardoso, sócio-fundador da K21, uma das primeiras consultorias especializadas em fazer essa transição de modelo nas empresas. Nos grupos, como há redução de uma série de entraves burocráticos, ganha-se tempo e produtividade. Além disso, os resultados são entregues a conta-gotas. A cada 15 dias, por exemplo, uma nova funcionalidade do site é colocada no mercado, no caso de projetos digitais, onde essa forma de trabalho já é mais familiar. Isso permite que o projeto seja testado e, se necessário, modificado, enquanto é feito.

Explosão

O jeito de trabalhar das startups vem ganhando a adesão de empresas dos mais variados setores. "Neste ano, houve no País uma explosão, e quase todos os segmentos de mercado têm empresas adotando ou, no mínimo, experimentando o trabalho em squads", diz Cardoso.

Desde fevereiro, a Whirpool, fabricante de eletrodomésticos, começou a trabalhar com o novo modelo. Hoje, tem 50 funcionários agrupados em cinco grupos. Até dezembro, quer dobrar esse número. "Não acho que a companhia inteira vá trabalhar dessa forma", diz o diretor de marketing digital, Renato Firmiano.

Como uma grande indústria, baseada nas formas tradicionais de linha de montagem, a empresa decidiu usar squads nas áreas ligadas ao atendimento ao consumidor. E alcançou resultados: em menos de quatro meses, dois grupos voltados ao tema inteligência artificial pam em prática projetos de um assistente virtual que atende aos clientes em várias demandas e também vende os produtos.

Já a Natura, tradicional fabricante de cosméticos, começou antes. Em 2012, iniciou um projeto-piloto, focado no canal online para as suas consultoras. Mas o modelo ganhou velocidade no último ano, conta Luciano Abrantes, diretor de Inovação Digital. Hoje, são 52 squads trabalhando, e a empresa quer chegar a 100 até dezembro. O grande salto ocorreu em 2018, quando a companhia ou a usar essa forma de trabalho para desenvolver os cosméticos. "É algo arrojado, que acelera bastante o ritmo de lançamentos, ao se comparar com o modelo tradicional." O diretor também pondera que não há intenção de transformar toda a companhia em squads, só nas áreas onde faz sentido.

Na Unilever, gigante de alimentos e itens de higiene e limpeza, o quadro é semelhante. A empresa começou a usar squads faz três anos. "Na época, tínhamos a preocupação de trazer a agilidade das startups para uma empresa que neste ano completa 90 anos no País", diz Carolina Mazziero, diretora de RH. Atualmente, há grupos de trabalho espalhados em áreas específicas da companhia. Na fábrica, por exemplo, há squads voltados para a redução de perdas, outros são para resolver demandas do consumidor.

Competição

Para Luiz Medici, vice-presidente de Inteligência Artificial da Vivo, o grande impulso para começar a organizar o trabalho em squads veio das empresas digitais. A Vivo viu a entrada de players digitais alcançando resultados muito rápidos e entendeu que um dos catalisadores disso era a forma de trabalho em ambientes colaborativos. "Para competir nesse mercado novo digital, precisamos nos reinventar." A operadora começou a usar grupos de trabalho em 2018, com o laboratório digital. Agora, são mais de 100 squads em funcionamento. As informações são do jornal O Estado de S. Paulo.