{"id":94520,"date":"2020-09-18T07:42:20","date_gmt":"2020-09-18T05:42:20","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah"},"modified":"2020-09-18T07:42:20","modified_gmt":"2020-09-18T05:42:20","slug":"chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah","title":{"rendered":"O que nos ajudou a nos adaptarmos rapidamente ao com\u00e9rcio online nas novas condi\u00e7\u00f5es","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ol\u00e1!<\/p>\n<p>Meu nome \u00e9 Mikhail, sou o vice-diretor de TI da empresa \"Sportmaster\". Quero compartilhar uma hist\u00f3ria sobre como lidamos com as dificuldades que surgiram durante a pandemia.<\/p>\n<p>Nos primeiros dias da nova realidade, o formato habitual de com\u00e9rcio offline da \"Sportmaster\" parou, e a carga sobre nosso canal online, principalmente na parte de entrega ao cliente, aumentou dez vezes. Em poucas semanas, transformamos um enorme neg\u00f3cio offline em online, adaptando o servi\u00e7o \u00e0s necessidades de nossos clientes.<\/p>\n<p>Em resumo, o que antes era nossa opera\u00e7\u00e3o secund\u00e1ria tornou-se o neg\u00f3cio principal. A import\u00e2ncia de cada pedido online aumentou drasticamente. Precis\u00e1vamos preservar cada rublo que o cliente trazia para a empresa.&nbsp;<\/p>\n<p><img decoding=\"async\" alt=\"O que nos ajudou a nos adaptarmos rapidamente ao com\u00e9rcio online nas novas condi\u00e7\u00f5es\" src=\"\/wp-content\/uploads\/2020\/09\/3e1dfc21636b29259fd29143e4a53f78.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Para responder rapidamente \u00e0s solicita\u00e7\u00f5es dos clientes, abrimos um centro de contatos adicional na sede da empresa, e agora podemos receber cerca de 285 mil chamadas por semana. Ao mesmo tempo, transferimos 270 lojas para um novo formato de opera\u00e7\u00e3o sem contato e segura, permitindo que os clientes recebam pedidos e que os funcion\u00e1rios mantenham seus empregos.<\/p>\n<p>Durante o processo de transforma\u00e7\u00e3o, enfrentamos dois principais problemas. Primeiro, a carga em nossos recursos online aumentou significativamente (como lutamos contra isso, ser\u00e1 contado por Sergey). Segundo, o fluxo de opera\u00e7\u00f5es raras (antes da COVID) aumentou v\u00e1rias vezes, o que, por sua vez, exigiu um grande volume de automa\u00e7\u00e3o r\u00e1pida. Para resolver esse problema, tivemos que transferir rapidamente recursos de \u00e1reas que antes eram principais. Como conseguimos superar isso, ser\u00e1 contado por Elena.<\/p>\n<h2>Opera\u00e7\u00e3o de servi\u00e7os online<\/h2>\n<p><em>Sergey Kolesnikov, respons\u00e1vel pela opera\u00e7\u00e3o da loja online e microservi\u00e7os<\/em><\/p>\n<p>Desde o momento em que nossas lojas f\u00edsicas come\u00e7aram a fechar para visitantes, come\u00e7amos a registrar um aumento em m\u00e9tricas como o n\u00famero de usu\u00e1rios, o n\u00famero de pedidos feitos em nosso aplicativo e o n\u00famero de requisi\u00e7\u00f5es para os aplicativos.&nbsp;<\/p>\n<p><img decoding=\"async\" alt=\"O que nos ajudou a nos adaptarmos rapidamente ao com\u00e9rcio online nas novas condi\u00e7\u00f5es\" src=\"\/wp-content\/uploads\/2020\/09\/5094662d75314169328e124d0ae9f5b5.jpg\" style=\"display:block;margin: 0 auto;\" \/>N\u00famero de pedidos de 18 a 31 de mar\u00e7o<img decoding=\"async\" alt=\"O que nos ajudou a nos adaptarmos rapidamente ao com\u00e9rcio online nas novas condi\u00e7\u00f5es\" src=\"\/wp-content\/uploads\/2020\/09\/4714a5d5595042b66b33f5f93b002734.jpg\" style=\"display:block;margin: 0 auto;\" \/>N\u00famero de solicita\u00e7\u00f5es aos microservi\u00e7os de pagamento online<img decoding=\"async\" alt=\"O que nos ajudou a nos adaptarmos rapidamente ao com\u00e9rcio online nas novas condi\u00e7\u00f5es\" src=\"\/wp-content\/uploads\/2020\/09\/9145afe051f8d4d4da0e00a69d469b92.jpg\" style=\"display:block;margin: 0 auto;\" \/>N\u00famero de pedidos realizados no site<\/p>\n<p>No primeiro gr\u00e1fico, vemos que o crescimento foi de aproximadamente 14 vezes, no segundo \u2014 4 vezes. Consideramos a m\u00e9trica do tempo de resposta de nossos aplicativos como a mais representativa.&nbsp;<\/p>\n<p><img decoding=\"async\" alt=\"O que nos ajudou a nos adaptarmos rapidamente ao com\u00e9rcio online nas novas condi\u00e7\u00f5es\" src=\"\/wp-content\/uploads\/2020\/09\/bfe187bea02c83ce9d9e3286c486f85b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Neste gr\u00e1fico, vemos a resposta de frentes e aplicativos, e determinamos que, de fato, n\u00e3o percebemos crescimento.<\/p>\n<p>Isso se deve, em primeiro lugar, ao fato de que come\u00e7amos os trabalhos preparat\u00f3rios no final de 2019. Atualmente, nossos servi\u00e7os est\u00e3o reservados, e garantimos a resili\u00eancia em n\u00edvel de servidores f\u00edsicos, sistemas de virtualiza\u00e7\u00e3o, Docker e servi\u00e7os neles. Nesse sentido, a capacidade de nossos recursos de servidor permite suportar cargas m\u00faltiplas.<\/p>\n<p>A principal ferramenta que nos ajudou em toda essa hist\u00f3ria foi nosso sistema de monitoramento. Contudo, at\u00e9 bem pouco tempo atr\u00e1s, n\u00e3o t\u00ednhamos um sistema \u00fanico que permitisse coletar m\u00e9tricas em todos os n\u00edveis, desde o hardware f\u00edsico at\u00e9 as m\u00e9tricas de neg\u00f3cios.&nbsp;<\/p>\n<p>Formalmente, existia monitoramento na empresa, mas, na maioria das vezes, era disperso e estava sob a responsabilidade de departamentos espec\u00edficos. De fato, quando ocorria algum incidente, quase nunca t\u00ednhamos uma compreens\u00e3o unificada do que realmente acontecia, n\u00e3o havia comunica\u00e7\u00e3o, e isso frequentemente nos levava a correr em c\u00edrculos na busca e localiza\u00e7\u00e3o do problema para posterior resolu\u00e7\u00e3o.<\/p>\n<p>Em determinado momento, decidimos que era hora de mudar isso \u2014 precis\u00e1vamos de um sistema \u00fanico para ter uma vis\u00e3o completa. As principais tecnologias em nossa pilha incluem Zabbix como centro de alertas e armazenamento de m\u00e9tricas, Prometheus para coleta e armazenamento de m\u00e9tricas de aplicativos, Stack ELK para registro e armazenamento de dados de todo o sistema de monitoramento, al\u00e9m de Grafana para visualiza\u00e7\u00e3o, Swagger, Docker e outros recursos \u00fateis que voc\u00ea j\u00e1 conhece.<\/p>\n<p>Al\u00e9m disso, n\u00e3o utilizamos apenas tecnologias dispon\u00edveis no mercado, mas tamb\u00e9m desenvolvemos algumas solu\u00e7\u00f5es internamente. Por exemplo, criamos servi\u00e7os para integrar sistemas entre si, ou seja, uma API para coletar m\u00e9tricas. Tamb\u00e9m trabalhamos em nossos pr\u00f3prios sistemas de monitoramento \u2014 ao n\u00edvel de m\u00e9tricas de neg\u00f3cios, utilizamos testes de interface. E temos um bot no Telegram para notificar as equipes.<\/p>\n<p>Al\u00e9m disso, nos esfor\u00e7amos para tornar o sistema de monitoramento acess\u00edvel \u00e0s equipes, para que possam armazenar suas m\u00e9tricas de forma independente e trabalhar com elas, incluindo a configura\u00e7\u00e3o de alertas em m\u00e9tricas espec\u00edficas, que possuem uma aplica\u00e7\u00e3o n\u00e3o t\u00e3o ampla.&nbsp;<\/p>\n<p>Dentro de todo o sistema, buscamos ser proativos e localizar incidentes o mais r\u00e1pido poss\u00edvel. Al\u00e9m disso, o n\u00famero de nossos microsservi\u00e7os e sistemas cresceu significativamente recentemente, o que, por sua vez, aumenta o n\u00famero de integra\u00e7\u00f5es. Como parte da otimiza\u00e7\u00e3o do processo de diagn\u00f3stico de incidentes em n\u00edvel de integra\u00e7\u00e3o, estamos desenvolvendo um sistema que permite realizar verifica\u00e7\u00f5es intersistemas e apresentar os resultados, facilitando a identifica\u00e7\u00e3o de problemas principais relacionados a importa\u00e7\u00f5es e \u00e0 intera\u00e7\u00e3o dos sistemas entre si.&nbsp;<\/p>\n<p>Certamente, ainda temos muito a crescer e nos desenvolver em termos de opera\u00e7\u00e3o dos sistemas, e estamos trabalhando ativamente nisso. Voc\u00ea pode ler mais sobre nosso sistema de monitoramento. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/517678\/\"><u>aqui<\/u><\/a><\/noindex>.&nbsp;<\/p>\n<h2>Testes t\u00e9cnicos&nbsp;<\/h2>\n<p><em>Serguei Orlov, lidera o centro de compet\u00eancia em desenvolvimento web e m\u00f3vel<\/em><\/p>\n<p>Desde o fechamento das lojas f\u00edsicas, tivemos que enfrentar diversos desafios em termos de desenvolvimento. Primeiro, o aumento da carga como um todo. \u00c9 evidente que, se n\u00e3o forem tomadas medidas adequadas, uma alta carga no sistema pode, com um triste estalo, transformar-se em uma ab\u00f3bora, ou degradar completamente seu desempenho, ou at\u00e9 mesmo perder a funcionalidade.<\/p>\n<p>O segundo aspecto, um pouco menos \u00f3bvio, \u00e9 que o sistema sob alta carga precisava ser rapidamente alterado, adaptando-se \u00e0s mudan\u00e7as nos processos de neg\u00f3cios. \u00c0s vezes, v\u00e1rias vezes ao dia. Em muitas empresas, h\u00e1 uma regra de que, durante grandes atividades de marketing, n\u00e3o se devem fazer altera\u00e7\u00f5es no sistema. Nenhuma altera\u00e7\u00e3o, apenas deixe-o funcionar, uma vez que est\u00e1 funcionando.<\/p>\n<p>E n\u00f3s, na verdade, tivemos uma Black Friday infinita, durante a qual precis\u00e1vamos mudar o sistema. E qualquer erro, problema ou falha no sistema custaria caro para os neg\u00f3cios.<\/p>\n<p>Antecipando-me, digo que conseguimos lidar com esses desafios, todos os sistemas suportaram a carga, escalonaram facilmente e n\u00e3o houve falhas t\u00e9cnicas globais.<\/p>\n<p>Existem quatro pilares que sustentam a capacidade do sistema de lidar com cargas elevadas e s\u00fabitas. O primeiro deles \u00e9 o monitoramento, sobre o qual voc\u00ea leu um pouco acima. Sem um sistema de monitoramento bem estruturado, \u00e9 praticamente imposs\u00edvel identificar os gargalos do sistema. Um bom sistema de monitoramento \u00e9 como roupas confort\u00e1veis em casa, deve ser pr\u00e1tico e adaptado a voc\u00ea.<\/p>\n<p>O segundo aspecto \u00e9 o teste. Levamos essa quest\u00e3o muito a s\u00e9rio: escrevemos testes cl\u00e1ssicos de unidade, integra\u00e7\u00e3o, de carga e muitos outros para cada sistema. Tamb\u00e9m desenvolvemos uma estrat\u00e9gia de teste e nos esfor\u00e7amos para elevar o n\u00edvel de testes a um ponto em que as verifica\u00e7\u00f5es manuais n\u00e3o sejam mais necess\u00e1rias.<\/p>\n<p>O terceiro pilar \u00e9 o Pipeline de CI\/CD. Os processos de constru\u00e7\u00e3o, teste e implanta\u00e7\u00e3o do aplicativo devem ser o mais automatizados poss\u00edvel, sem interven\u00e7\u00f5es manuais. O tema do Pipeline de CI\/CD \u00e9 bastante profundo, e eu o abordarei apenas de forma sucinta. Vale mencionar que temos uma lista de verifica\u00e7\u00e3o do Pipeline de CI\/CD, pela qual cada equipe de produto passa com o aux\u00edlio de centros de compet\u00eancia.<\/p>\n<p><img decoding=\"async\" alt=\"O que nos ajudou a nos adaptarmos rapidamente ao com\u00e9rcio online nas novas condi\u00e7\u00f5es\" src=\"\/wp-content\/uploads\/2020\/09\/fabee1de52c10790c33bb2d08935a657.jpg\" style=\"display:block;margin: 0 auto;\" \/>Aqui est\u00e1 a lista de verifica\u00e7\u00e3o<\/p>\n<p>Assim, uma s\u00e9rie de objetivos \u00e9 alcan\u00e7ada. Isso inclui versionamento de API, funcionalidades de controle, para evitar lan\u00e7amentos desnecess\u00e1rios, e alcan\u00e7ar uma cobertura de testes de tal n\u00edvel que a automa\u00e7\u00e3o completa do teste seja poss\u00edvel, implanta\u00e7\u00f5es seamless e muito mais.<\/p>\n<p>O quarto pilar consiste em princ\u00edpios arquitet\u00f4nicos e solu\u00e7\u00f5es t\u00e9cnicas. Pode-se falar muito e por longos per\u00edodos sobre arquitetura, mas quero destacar alguns princ\u00edpios nos quais gostaria de chamar a aten\u00e7\u00e3o.<\/p>\n<p>Primeiro, \u00e9 essencial escolher ferramentas especializadas para tarefas espec\u00edficas. Sim, isso parece \u00f3bvio, e \u00e9 claro que se deve usar um martelo para pregar e chaves espec\u00edficas para desmontar um rel\u00f3gio. Contudo, na nossa era, muitas ferramentas buscam a universaliza\u00e7\u00e3o para atingir o maior segmento de usu\u00e1rios: bancos de dados, caches, frameworks e mais. Por exemplo, se considerarmos o banco de dados MongoDB, ele trabalha com transa\u00e7\u00f5es multimencionais, enquanto o banco de dados Oracle lida com JSON. E \u00e0 primeira vista, parece que tudo pode ser usado em qualquer situa\u00e7\u00e3o. Mas, se defendemos a performance, precisamos entender claramente os pontos fortes e fracos de cada ferramenta e usar aquelas que atendem \u00e0s nossas necessidades espec\u00edficas.&nbsp;<\/p>\n<p>Em segundo lugar, ao projetar sistemas, cada aumento de complexidade deve ser justificado. Devemos ter isso em mente constantemente; o princ\u00edpio do baixo acoplamento \u00e9 bem conhecido. Eu acredito que ele deve ser aplicado tanto no n\u00edvel de um servi\u00e7o espec\u00edfico quanto no n\u00edvel de todo o sistema e na arquitetura como um todo. A capacidade de escalabilidade horizontal de cada componente do sistema sob carga tamb\u00e9m \u00e9 crucial. Se tivermos essa capacidade, expandir o sistema n\u00e3o ser\u00e1 um desafio.<\/p>\n<p>Falando sobre solu\u00e7\u00f5es t\u00e9cnicas, pedimos \u00e0s equipes de produtos que preparassem um novo conjunto de recomenda\u00e7\u00f5es, ideias e solu\u00e7\u00f5es que implementaram durante a prepara\u00e7\u00e3o para a pr\u00f3xima onda de carga.<\/p>\n<h2>Caches<\/h2>\n<p>\u00c9 importante abordar com consci\u00eancia a escolha entre caches locais e distribu\u00eddos. \u00c0s vezes, faz sentido usar ambos dentro de um mesmo sistema. Por exemplo, temos sistemas em que parte dos dados \u00e9 essencialmente um cache de vitrine, ou seja, a fonte de atualiza\u00e7\u00f5es est\u00e1 fora do pr\u00f3prio sistema, e ele n\u00e3o altera esses dados. Para essa abordagem, usamos o Caffeine Cache local.&nbsp;<\/p>\n<p>Existem dados que o sistema altera ativamente durante seu funcionamento, e aqui j\u00e1 aplicamos um cache distribu\u00eddo com Hazelcast. Essa abordagem nos permite aproveitar as vantagens do cache distribu\u00eddo onde realmente s\u00e3o necess\u00e1rias e minimizar os custos de servi\u00e7o relacionados \u00e0 circula\u00e7\u00e3o de dados no cluster Hazelcast onde podemos evitar essa necessidade. J\u00e1 escrevemos bastante sobre caches. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/490912\/\"><u>aqui <\/u><\/a><\/noindex>e <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/504400\/\"><u>aqui<\/u><\/a><\/noindex>.<\/p>\n<p>Al\u00e9m disso, a troca do serializador para Kryo no Hazelcast nos trouxe um bom ganho. A transi\u00e7\u00e3o de ReplicatedMap para IMap + Near Cache no Hazelcast nos permitiu minimizar o movimento de dados pelo cluster.&nbsp;<\/p>\n<p>Uma pequena dica: ao invalidar em massa o cache, \u00e0s vezes \u00e9 \u00fatil aplicar a t\u00e1tica de pr\u00e9-aquecer um segundo cache antes de mudar para ele. \u00c0 primeira vista, com essa abordagem, dever\u00edamos esperar um consumo de mem\u00f3ria dobrado, mas na pr\u00e1tica, em sistemas onde isso foi aplicado, o consumo de mem\u00f3ria diminuiu.<\/p>\n<h2>Stack reativo<\/h2>\n<p>Estamos utilizando o stack reativo em um n\u00famero consider\u00e1vel de sistemas. Em nosso caso, isso \u00e9 Webflux ou Kotlin com corrotinas. Especialmente bem, o stack reativo se adapta onde esperamos opera\u00e7\u00f5es de entrada e sa\u00edda lentas. Por exemplo, chamadas a servi\u00e7os lentos, intera\u00e7\u00f5es com o sistema de arquivos ou sistemas de armazenamento.<\/p>\n<p>O princ\u00edpio mais importante \u00e9 evitar chamadas bloqueantes. Sob o cap\u00f4 dos frameworks reativos, h\u00e1 uma pequena quantidade de threads de servi\u00e7o ativas. Se formos descuidados e permitirmos uma chamada bloqueante direta, como uma chamada ao driver JDBC, o sistema simplesmente parar\u00e1.&nbsp;<\/p>\n<p>Procure converter os erros em exce\u00e7\u00f5es em tempo de execu\u00e7\u00e3o pr\u00f3prias. O fluxo real de execu\u00e7\u00e3o do programa se afasta dos frameworks reativos, tornando a execu\u00e7\u00e3o do c\u00f3digo n\u00e3o linear. Como consequ\u00eancia, \u00e9 muito dif\u00edcil diagnosticar problemas por meio de stack traces. A solu\u00e7\u00e3o aqui ser\u00e1 criar exce\u00e7\u00f5es em tempo de execu\u00e7\u00e3o claras e objetivas para cada erro.<\/p>\n<h2>Elasticsearch<\/h2>\n<p>Ao usar Elasticsearch, n\u00e3o escolha dados n\u00e3o utilizados. Este \u00e9, basicamente, um conselho muito simples, mas muitas vezes \u00e9 algo que esquecem. Se precisar selecionar mais de 10 mil registros de uma vez, voc\u00ea deve usar o Scroll. Fazendo uma analogia, isso \u00e9 um pouco semelhante a um cursor em um banco de dados relacional.&nbsp;<\/p>\n<p>N\u00e3o use postfilter desnecessariamente. Com grandes conjuntos de dados na sele\u00e7\u00e3o principal, essa opera\u00e7\u00e3o sobrecarrega bastante o banco de dados.&nbsp;<\/p>\n<p>Use opera\u00e7\u00f5es em massa onde for aplic\u00e1vel.<\/p>\n<h2>API<\/h2>\n<p>Ao projetar a API, inclua requisitos para minimizar os dados transmitidos. Isso \u00e9 especialmente relevante na intera\u00e7\u00e3o com o front-end: exatamente nesse ponto, sa\u00edmos dos canais de nossos data centers e j\u00e1 estamos trabalhando na conex\u00e3o com o cliente. Se houver quaisquer problemas, um tr\u00e1fego muito alto causa uma experi\u00eancia negativa ao usu\u00e1rio.<\/p>\n<p>E, finalmente, n\u00e3o despeje toda a pilha de dados; aborde claramente o contrato entre consumidores e fornecedores.<\/p>\n<h2>Transforma\u00e7\u00e3o organizacional<\/h2>\n<p><em>Elen Yeroshkina, Diretora de TI<\/em><\/p>\n<p>No momento em que ocorreu o isolamento e surgiu a necessidade de aumentar drasticamente o ritmo de desenvolvimento online e implementar servi\u00e7os Omnichannel, j\u00e1 est\u00e1vamos em processo de transforma\u00e7\u00e3o organizacional.&nbsp;<\/p>\n<p>Parte da nossa estrutura foi adaptada para trabalhar com os princ\u00edpios e pr\u00e1ticas da abordagem de produto. Formaram-se equipes que agora s\u00e3o respons\u00e1veis pelo funcionamento e desenvolvimento de cada produto. Os colaboradores nessas equipes est\u00e3o envolvidos 100% e organizam seu trabalho com Scrum ou Kanban, dependendo do que for mais prefer\u00edvel para eles, configuram o pipeline de implanta\u00e7\u00e3o, implementam pr\u00e1ticas t\u00e9cnicas, pr\u00e1ticas de controle de qualidade e muito mais.<\/p>\n<p>Por uma feliz coincid\u00eancia, a maior parte dessas equipes de produto estava exatamente na \u00e1rea de servi\u00e7os online e omnichannel. Isso nos permitiu, em um curto espa\u00e7o de tempo (s\u00e9rio, literalmente em dois dias), mudar para o modo de trabalho remoto sem perda de efici\u00eancia. O processo ajustado nos permitiu rapidamente nos adaptar \u00e0s novas condi\u00e7\u00f5es de trabalho e manter um ritmo bastante elevado na entrega de novas funcionalidades.<\/p>\n<p>Al\u00e9m disso, surgiu a necessidade de refor\u00e7ar aquelas equipes que est\u00e3o na linha de frente do neg\u00f3cio online. Naquele momento ficou claro que poder\u00edamos fazer isso somente com recursos internos. Cerca de 50 pessoas mudaram sua \u00e1rea de atua\u00e7\u00e3o em duas semanas e se integraram ao trabalho em um novo produto para elas.&nbsp;<\/p>\n<p>Para isso, n\u00e3o foram necess\u00e1rias grandes esfor\u00e7os gerenciais, porque juntamente com a organiza\u00e7\u00e3o do pr\u00f3prio processo, o aprimoramento t\u00e9cnico do produto e a pr\u00e1tica de controle de qualidade, ensinamos nossas equipes a se autoorganizarem \u2014 a gerenciar seu pr\u00f3prio processo produtivo sem a necessidade de recursos administrativos.<\/p>\n<p>Conseguimos concentrar nosso recurso gerencial exatamente onde era necess\u00e1rio naquele momento, na coordena\u00e7\u00e3o junto ao neg\u00f3cio: O que \u00e9 importante para nosso cliente agora, qual funcionalidade deve ser implementada em primeiro lugar, o que \u00e9 necess\u00e1rio fazer para aumentar nossa capacidade de entrega e processamento de pedidos. Tudo isso e um modelo de papel claro nos permitiram sobrecarregar nossos fluxos de produ\u00e7\u00e3o na cria\u00e7\u00e3o de valor com o que realmente importa e \u00e9 necess\u00e1rio.&nbsp;<\/p>\n<p>\u00c9 evidente que, em um trabalho remoto e em um ritmo acelerado de mudan\u00e7as, onde a participa\u00e7\u00e3o de cada um impacta os resultados do neg\u00f3cio, n\u00e3o podemos confiar apenas em intui\u00e7\u00f5es internas, como 'Est\u00e1 tudo bem? Sim, parece que est\u00e1'. Precisamos de m\u00e9tricas objetivas do processo produtivo. Temos essas m\u00e9tricas dispon\u00edveis para todos que est\u00e3o interessados nos dados das equipes de produto. Acima de tudo, para a equipe, o neg\u00f3cio, os colaboradores e a lideran\u00e7a.<\/p>\n<p>A cada duas semanas, realizamos um status com cada equipe, onde, durante 10 minutos, analisamos as m\u00e9tricas, identificamos os gargalos do processo produtivo e desenvolvemos solu\u00e7\u00f5es em conjunto: o que pode ser feito para eliminar esses gargalos. Aqui, tamb\u00e9m podemos solicitar imediatamente ajuda da lideran\u00e7a, caso algum problema identificado esteja fora da influ\u00eancia das equipes, ou da expertise de colegas que, provavelmente, j\u00e1 enfrentaram um problema semelhante.<\/p>\n<p>No entanto, entendemos que para uma acelera\u00e7\u00e3o significativa (e \u00e9 exatamente esse o objetivo que estabelecemos) ainda precisamos aprender e implementar muito em nosso trabalho di\u00e1rio. Neste momento, continuamos ampliando a abordagem de produto para outras equipes e novos produtos. Para isso, tivemos que dominar um novo formato de escola online para metodologistas.<\/p>\n<p>Os metodologistas, pessoas que ajudam as equipes a estruturar processos, estabelecer comunica\u00e7\u00f5es e aumentar a efic\u00e1cia do trabalho, s\u00e3o, em ess\u00eancia, agentes de mudan\u00e7a. Neste momento, os graduados da nossa primeira turma est\u00e3o trabalhando com as equipes e ajudando-as a se tornarem bem-sucedidas.&nbsp;<\/p>\n<p>Acredito que a situa\u00e7\u00e3o atual nos abre oportunidades e perspectivas que, talvez, ainda n\u00e3o tenhamos totalmente consci\u00eancia. Mas a experi\u00eancia e a pr\u00e1tica que estamos adquirindo neste momento confirmam que escolhemos o caminho certo para o desenvolvimento, e que n\u00e3o perderemos essas novas oportunidades no futuro, conseguindo assim responder de forma eficaz aos desafios que se apresentar\u00e3o para a \u2018Sportmaster\u2019.<\/p>\n<h3>Como resultado, obtemos um servi\u00e7o de \"monitoramento como servi\u00e7o\", automatizado na linha de produ\u00e7\u00e3o de integra\u00e7\u00e3o cont\u00ednua. O desenvolvedor ou testador precisa apenas definir a lista de m\u00e9tricas em um arquivo JSON, e tudo o mais acontece automaticamente. Obtemos um controle de qualidade transparente dos lan\u00e7amentos: todas as notifica\u00e7\u00f5es sobre desempenho, consumo de recursos ou regress\u00f5es arquitet\u00f4nicas.<\/h3>\n<p>Nestes tempos dif\u00edceis, formulamos os principais princ\u00edpios que sustentam o desenvolvimento de software, que, acredito, ser\u00e3o relevantes para qualquer empresa que trabalhe nessa \u00e1rea.<\/p>\n<p><strong>Pessoas<\/strong>. \u00c9 a base de tudo. Os funcion\u00e1rios devem desfrutar do trabalho, entender os objetivos da empresa e os objetivos dos produtos com os quais est\u00e3o envolvidos. E, claro, devem ter a oportunidade de se desenvolver profissionalmente.&nbsp;<\/p>\n<p><strong>Tecnologia<\/strong>. \u00c9 necess\u00e1rio que a empresa aborde de forma madura o trabalho com seu stack tecnol\u00f3gico e desenvolva compet\u00eancias onde realmente for necess\u00e1rio. Isso soa muito simples e \u00f3bvio, mas \u00e9 frequentemente ignorado.<\/p>\n<p><strong>Processos<\/strong>. \u00c9 importante estruturar corretamente o trabalho das equipes de produtos e dos centros de compet\u00eancia, estabelecendo intera\u00e7\u00e3o com o neg\u00f3cio, para que possamos atuar como parceiros.<\/p>\n<\/p>\n<p>Em geral, foi assim que conseguimos sobreviver. A principal tese da contemporaneidade foi mais uma vez confirmada, soando como um tapa na testa.<\/p>\n<p>Mesmo se voc\u00ea for uma grande empresa offline com v\u00e1rias lojas em muitas cidades, desenvolva sua presen\u00e7a online. N\u00e3o se trata apenas de um canal adicional de vendas ou de um aplicativo bonito pelo qual tamb\u00e9m se pode comprar algo (e, al\u00e9m disso, porque os concorrentes tamb\u00e9m t\u00eam algo bonito). N\u00e3o \u00e9 uma reserva para emerg\u00eancias que ajudar\u00e1 a enfrentar a tempestade.<\/p>\n<p>\u00c9 uma necessidade absoluta. Para a qual devemos estar prontos n\u00e3o apenas em termos de capacidade t\u00e9cnica e infraestrutura, mas tamb\u00e9m em rela\u00e7\u00e3o \u00e0s pessoas e processos. Pois \u00e9 poss\u00edvel adquirir rapidamente mem\u00f3ria, espa\u00e7o, implantar novas inst\u00e2ncias e outras coisas em poucas horas. No entanto, preparar pessoas e processos para isso deve ser feito com anteced\u00eancia.<\/p>\n<\/p>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/519376\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041c\u0438\u0445\u0430\u0438\u043b, \u044f \u0437\u0430\u043c\u0435\u0441\u0442\u0438\u0442\u0435\u043b\u044c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0430 \u043f\u043e \u0418\u0422 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u00ab\u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440\u00bb. \u042f \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u0435\u0439 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u0441 \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u044f\u043c\u0438, \u0432\u043e\u0437\u043d\u0438\u043a\u0448\u0438\u043c\u0438 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u0430\u043d\u0434\u0435\u043c\u0438\u0438. \u0412 \u043f\u0435\u0440\u0432\u044b\u0435 \u0434\u043d\u0438 \u043d\u043e\u0432\u044b\u0445 \u0440\u0435\u0430\u043b\u0438\u0439 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u043e\u0444\u043b\u0430\u0439\u043d-\u0442\u043e\u0440\u0433\u043e\u0432\u043b\u0438 \u00ab\u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440\u0430\u00bb \u0437\u0430\u043c\u0435\u0440, \u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043d\u0430\u0448 \u043e\u043d\u043b\u0430\u0439\u043d-\u043a\u0430\u043d\u0430\u043b, \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0432 \u0447\u0430\u0441\u0442\u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043d\u0430 \u0430\u0434\u0440\u0435\u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u0443, \u0432\u043e\u0437\u0440\u043e\u0441\u043b\u0430 \u0432 10 \u0440\u0430\u0437. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":94521,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-94520","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442!\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041c\u0438\u0445\u0430\u0438\u043b, \u044f \u0437\u0430\u043c\u0435\u0441\u0442\u0438\u0442\u0435\u043b\u044c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0430 \u043f\u043e \u0418\u0422 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u00ab\u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440\u00bb.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0427\u0442\u043e \u043f\u043e\u043c\u043e\u0433\u043b\u043e \u043d\u0430\u043c \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u043e\u043d\u043b\u0430\u0439\u043d-\u0442\u043e\u0440\u0433\u043e\u0432\u043b\u044e \u0432 \u043d\u043e\u0432\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442!\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041c\u0438\u0445\u0430\u0438\u043b, \u044f \u0437\u0430\u043c\u0435\u0441\u0442\u0438\u0442\u0435\u043b\u044c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0430 \u043f\u043e \u0418\u0422 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u00ab\u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440\u00bb.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-09-18T05:42:20+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-18T05:42:20+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47O que nos ajudou a nos reestruturar rapidamente para o com\u00e9rcio online nas novas condi\u00e7\u00f5es | ProHoster","description":"Ol\u00e1! Meu nome \u00e9 Mikhail, sou o vice-diretor de TI da empresa \"Sportmaster\".","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0427\u0442\u043e \u043f\u043e\u043c\u043e\u0433\u043b\u043e \u043d\u0430\u043c \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u043e\u043d\u043b\u0430\u0439\u043d-\u0442\u043e\u0440\u0433\u043e\u0432\u043b\u044e \u0432 \u043d\u043e\u0432\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442!\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041c\u0438\u0445\u0430\u0438\u043b, \u044f \u0437\u0430\u043c\u0435\u0441\u0442\u0438\u0442\u0435\u043b\u044c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0430 \u043f\u043e \u0418\u0422 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u00ab\u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440\u00bb.","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-09-18T05:42:20+00:00","article:modified_time":"2020-09-18T05:42:20+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"94520","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:25:23","updated":"2022-09-29 04:36:15","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/94520","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=94520"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/94520\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/94521"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=94520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=94520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=94520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}