Manipulando estado com Observables e Subjects usando RxJs

Manipulando estado com Observables e Subjects usando RxJs

Qualquer um que já começou a organizar uma aplicação que foi crescendo em tamanho se deparou com esse problema: Ou cada componente seu guarda seu estado e você se encontra em um mar de duplicações de valores, ou você passa prop do pai até o tataraneto só para poder acessar uma ação ou informação nos miolos dos seus componentes.

É por isso que precisamos conversar sobre “Centralização do Estado”, um dos modos de utilizar o conceito do SSOF (Single Source of Truth), e é por isso que existem bibliotecas fantásticas que realizam este tipo de trabalho, como o Flux, Redux, MobX, etc. Todas elas são ótimas libs mas dependem de você aprender uma outra arquitetura.

Se o seu caso é como o meu e do pessoal da Tegra que já trabalha com RxJs, saiba que é possível fazer a sua própria solução simples para armazenar e centralizar o estado da sua aplicação utilizando essa mesma lib.

Quando o React atualiza a interface?

É importante deixarmos bem claro que o React atualiza a interface na tela no navegador (aka Render) em duas situações:

  1. Se as Props do componente mudam.
  2. Se o Estado interno do componente muda.

Teoricamente, se você tem uma Stream de dados e, quando estes dados forem modificados, você pegar esta informação e passar como as Props do seu componente, o seu componente seria atualizado.

Para fazer esse tipo de magia, utilizamos um amigo nosso do RxJs muito útil, chamado de BehaviourSubject.

O que é o BehaviorSubject?

É meio complicado explicar o que é um Subject, mas um jeito muito prático é se você imaginar uma roda de conversa.

  1. Imagine uma roda de conversa entre amigos.
  2. Todos que estão na roda estão “inscritos” no Subject, portanto, recebem as informações que este Subject tem.
  3. Quando alguém fala: “Subject, o próximo assunto é Comida”, o Subject recebe a alteração e envia para todo mundo qual é o próximo assunto.
  4. Agora, todos sabem que o conteúdo do Subject é “Comida”
  5. Quando alguém novo chega e se inscreve no Subject, ele automaticamente recebe o valor “Comida”
  6. Alguém novamente diz: “Subject, o próximo assunto é Protecionismo Florestal”.
  7. Agora, todos, inclusive o recém chegado, recebem que o novo conteúdo do Subject é “Protecionismo Florestal”.

Traduzindo isso em código, seria mais ou menos assim (código do JsBin):

const roda$ = new BehaviorSubject('Animais');
const pessoa1 = roda.asObservable().subscribe(...);
const pessoa2 = roda.asObservable().subscribe(...);
const pessoa3 = roda.asObservable().subscribe(...);
roda$.next('Comida');
const pessoa4 = roda.asObservable().subscribe(...);
roda$.next('Protecionismo Florestal');

O BehaviorSubject faz a vez da Store

Deste modo, podemos utilizar o poder do Subject para realizar tudo o que nossa Store precisa fazer.

  • Nosso componente se inscreve (Subscribe) na Store e mapeia os dados dela para as props.
  • Quando a Store envia um novo valor (o novo estado), o componente é atualizado automaticamente
  • Quando o componente é destruido, ele faz o Unsubscribe na Store.

Criando sua Store com BehaviorSubject

Para criar uma Store que irá armazenar o estado da sua aplicação ou do seu módulo, é preciso que ela tenha alguns métodos básicos, como:

  • Criar a Store com dados iniciais.
  • Atualizar o estado
  • Pegar o estado atual

Portanto, criaremos uma Factory para que sempre que seja preciso criar uma nova Store, seja fácil como encher um copo de água na cozinha da sua empresa.

Algumas informações sobre o código acima:

  • Ele está escrito em Typescript, mas pode ser facilmente reconvertido para Javascript.
  • A const UpdateState aceita tanto um objeto literal ou uma função, assim como o setState do React faz.

Criando sua Store

Agora que temos nossa Factory, podemos criar nossa Store de uma maneira bem simples, e para isso, utilizaremos o exemplo de sempre: Um Contador.

  • Definimos uma Interface e criamos um objeto que representa os dados inicias da Store.
  • Após isso, inicializamos nossa Store e fazemos um destruct do objeto que ela nos retorna, tendo acesso ao Subject e aos handlers para atualizar e ler os dados.
  • Criamos nossas 3 ações: Incrementar, Decrementar e Resetar, todas elas atualizando o estado.
  • Definimos uma constante que contém todas estas ações
  • Exportamos nosso estado como Observable e nossas ações.

Conectando o Container Component na Store

Agora o Container Component só irá conectar as pontas de tudo:

  • Ele, ao montar, irá se inscrever na Store e colocar os dados dela no estado interno dele.
  • Os botões da interface irão chamar ações da const Actions que se encontra na store.
  • Quando as ações executarem, o componente será renderizado novamente.
  • Quando o componente for destruído, cancelamos nossa inscrição da Store.

Criando uma HOC

É possível ver que isso funcionou bem, porém, fica bem cansativo a cada Container, escrever toda essa lógica do Mount, Unmount e Subscribe, correto? Por isso que podemos fazer uma HOC (Higher Order Component) que recebe a lógica para processar mapear a Store e o Componente base, e nos retorna o mesmo componente já conectado com a Store (semelhante ao que o Connect do Redux faz)

O que fazemos aqui é o mesmo que foi feito antes, porém de uma maneira mais genérica:

  • Temos uma função que recebe dois parâmetros: O Componente e a Stream
  • O retorno dessa função é um PureComponent que, no seu DidMount, se inscreve na Stream, e ao ser destruído, cancela a inscrição da mesma.
  • Ele tem dois dados no estado dele: Se a Stream já carregou pela primeira vez e os dados que ele recebe da Stream
  • Ao receber os dados (no Subscribe), ele atualiza o seu estado interno.
  • No seu Render, ele renderiza o componente passado como parâmetro, passando os dados da Stream como Props.

E com isso, podemos simplificar ainda mais no nosso Container Component feito alí em cima:

Demo

Você pode conferir o Demo funcional com o código final em Javascript neste link no CodeSandbox.

Até o próximo,

Sobre deixar seu melhor por onde passar — O caso da cozinha

Sobre deixar seu melhor por onde passar — O caso da cozinha

Em minha rotina de trabalho, costumo almoçar quase todos os dias na cozinha da empresa. Além de ganhar tempo, me distraio e converso com meus colegas de trabalho.

Em uma dessas conversas, papo vai e papo vem, levantei da mesa para lavar minha louça. Nesse momento, um dos meus colegas pediu para lavar os talheres dele. E pronto! Foi o início da brincadeira, onde todos foram deixando seus talheres para eu lavar. Em meio as risadas, não hesitei em falar: “Eu não vou lavar, não! Cada um leva o seu.” A brincadeira continuou enquanto lavava os talheres de todos.

Poderia ter sido mais uma brincadeira típica do nosso cotidiano extrovertido, se não fosse uma história contada por outro colega, pertinente ao ocorrido da louça e que muito me chamou a atenção. Guardei a “história do escoteiro” como costumo chamá-la, como nota mental e venho digerindo-a ao longo dos dias.


História do escoteiro

Resumidamente, a história conta que uma das regras de escoteiro é deixar o lugar melhor que encontrou, no caso da cozinha, deixá-la mais limpa. Ou seja, sempre buscar fazer um pouco melhor em todos os lugares que passar, coisas que fazer.

A partir de então, comecei a observar nos grupos que convivo e lugares que frequento o comportamento das pessoas, inclusive o meu. A conclusão que cheguei é que realmente, na maioria das vezes, a história do escoteiro é apenas história.

Em pequenas coisas, como guardar a bandeja no shopping após comer aquele lanche, limpar a mesa após almoçar, pegar papel caído no chão mesmo que outra pessoa tenha jogado. Foram nesses detalhes que percebi que as pessoas não se preocupam tanto (claro que isso não é regra) em fazer o melhor por onde passam.

A história contada pelo meu colega me fez refletir como posso fazer meu melhor todos os dias, seja em projetos do trabalho, relacionamento, amizades. Procurando sempre pensar que são os detalhes que, no final, fazem a diferença, embora muitas vezes imperceptíveis.

Moral do caso da cozinha é que sempre devemos nos colocar no lugar do próximo. Essa frase, embora soe tão bonita, é difícil de se praticar e acredito que a melhor maneira é começar pelas coisas simples. Então por que não deixarmos a cozinha mais limpa do que encontramos?

A trama da Tegra

A trama da Tegra

A trama da Tegra

A Metodologia

A trama é uma ferramenta da Metanoia usada para definir e transmitir a estratégia da empresa para todos os nós de seu holograma.

De forma resumida, ela é composta por 4 partes:

  • A Semente (laranja): formada por 3 verbos que representam a motivação pela qual prestamos nossos serviços
  • Foco (roxo): são nossos clientes, o que buscam e o que valorizam
  • Diferenciais (verde): os diferenciais percebidos pelos nossos clientes em nosso relacionamento
  • Competências (azul): as competências que temos para entregarmos nossos diferenciais

A Trama da Tegra

A versão atual da Trama da Tegra é a seguinte:

Trama Tegra

A Semente

A semente foi uma construção com todo o time da Tegra e que representa a intenção pela qual atuamos em nosso negócio e é representado pelos seguintes verbos:

  • Acreditar — acreditar que o desafio que o cliente tem realmente é importante e que ao solucioná-lo estamos contribuindo para um mundo melhor
  • Realizar — realizar tem a ver com fazer acontecer e colocar para funcionar
  • Evoluir — ao gerar uma solução e contribuir para o crescimento de nosso cliente, todos evoluímos pois nesta jornada temos muito aprendizado
Semente Tegra

O Foco

O Foco representa quem é o nosso cliente, o que ele busca e espera dos colaboradores Tegra e o que ele valoriza em nossa relação, não somente no tocante profissional, mas como um todo.

Nosso foco foi uma construção feita pelo time Tegra e é representado da seguinte forma:

Líderes que possuem ideias e oportunidades para alavancar seus negócios através de tecnologia de software e que buscam um parceiro que consiga refiná-las e materializá-las e que valoriza confiança, orientação e disponibilidade.

Foco Tegra

Diferenciais

Os diferenciais são as entregas percebidas por nossos clientes e nos tornam únicos em sua visão. São eles:

Condução na criação de soluções digitais únicas (Vantagem Criativa)

ObjetivoSer a fonte de inspiração e referência em Transformação Digital

Percebemos nas conversas com nossos clientes que apesar de realizarmos desenvolvimento de software, o que eles mais valorizam é nossa forma de conduzir a criação de soluções digitais.

Na etapa de concepção de um novo projeto, vamos muito além da questão tecnológica. Buscamos entender o negócio de nosso cliente a fundo e identificar oportunidades de melhorias indo fisicamente até a sua operação, conversando com os diferentes envolvidos nas diferentes etapas e principalmente estando juntos com os usuários finais de nossas soluções.

Nosso entendimento é que o cliente nos dá a direção certa do que ele busca, muitas vezes não de forma declarada, mas expressando sentimentos e opiniões a partir das experiências que vivencia.

Presença e Disponibilidade (Serviço)

ObjetivoFazer parte do dia a dia de nosso cliente nos antecipando em atendê-lo

Nossos colaboradores buscam uma relação sujeito sujeito, não limitado apenas a questões profissionais, estando presentes de forma pró ativa, utilizando de sua autonomia para tomar as melhores decisões e iniciativas com objetivo de se antecipar aos desafios de nossos clientes e propor soluções.

Esta forma de relacionamento requer a entrega de serviços de excelência, com qualidade, agilidade e principalmente transparência, fortalecendo a confiança de nossa relação.

Colaboradores reconhecidos por sua conduta ética (Valor Progressista)

ObjetivoColaboradores reconhecidamente guiados por condutas e valores éticos

Queremos que nossas ações falem por nós, e isto a partir dos pequenos atos, e que estejam sempre de acordo com nossos valores:

Carta de Valores Tegra

Competências

Para que consigamos entregar estes diferenciais aos nossos clientes, elencamos as competências que buscamos desenvolver e aprimorar enquanto time. São elas:

Visão holística

Diferencial que atende: Condução na criação de soluções digitais únicas

A visão holística refere-se a nos mantermos sempre atualizados, através da leitura e capacitação contínua.

Estarmos atualizados de cases, inclusive de fora do Brasil, que expliquem os desafios identificados, como foi feita a solução e principalmente compartilhe um pouco das dificuldades encontradas durante sua implementação

Ter a capacidade de discutir sobre vários assuntos, não somente tecnologia, mas também história, política, meio-ambiente, etc.

De uma forma geral, trata-se de buscarmos ser pessoas “antenadas” no mundo.

Excelência Técnica Sistêmica

Diferencial que atende: Condução na criação de soluções digitais únicas

A excelência técnica sistêmica significa não reinventar a roda e usar a tecnologia a favor de nossos clientes, adicionando camadas de inteligência, segurança e tudo aquilo que o cliente não solicita de forma explícita, mas por experiência, sabemos que são de extrema importância para soluções em produção.

Em termos práticos, é a capacidade de entender a solução como um todo, ou seja, não ser somente desenvolvedor backend ou frontend, ou somente um analista, mas pensar nos demais requisitos envolvidos, como: integrações, segurança, performance, auditoria, múltiplos devices, etc.

Produzir conhecimento para o holograma

Diferencial que atende: Condução na criação de soluções digitais únicas

Holograma é o conjunto de pessoas que se relacionam relacionam com a empresa, direta ou indiretamente. Assim, compõem nosso holograma os clientes, fornecedores, a comunidade, investidores e outros tantos.

Todo conhecimento que pudermos compartilhar com os diferentes nós do holograma faz com que nós sejamos sua inspiração e nos posicionemos de forma estratégica, fortalecendo nossa cultura e tornando o mercado um lugar de atuação saudável e justo.

Entregar soluções que superam as expectativas

Diferencial que atende: Condução na criação de soluções digitais únicas

É o nosso famoso “pó de pirlimpimpim”.

O objetivo nesta competência não é entregar uma Ferrari para um cliente que comprou um Fusca, mas sim, entregar soluções para não engenheiros, ou seja, nossas soluções dão autonomia para nossos clientes, permitindo que ele consiga resolver situações não previstas sozinho.

Soluções para engenheiros, são aquelas que o parâmetro não tem tela para manutenção ou um sistema que não tenha uma página de status do ambiente ou que não gera log.

Em geral tem a ver com os requisitos não funcionais.

Pensamos na jornada do usuário e seus caminhos alternativos e damos a estrutura necessária para que ele consiga atingir seu objetivo de forma autônoma.

Valorizar as relações pessoais

Diferencial que atende: Presença e Disponibilidade

Buscamos ir além dos assuntos profissionais.

Esta competência busca transformar toda interação com nossos clientes e entre colaboradores, compreendendo seus interesses, sentimentos e valores através de uma boa conversa e gerando a oportunidade de conhecê-lo melhor.

É muito comum evitarmos o diálogo devido a correria do dia a dia, no entanto, é justamente quando somos pró-ativos em buscarmos as relações humanas é quando conseguimos caminharmos lado a lado com nossos clientes.

Antecipar-se às necessidades do cliente

Diferencial que atende: Presença e Disponibilidade

Estar próximo ao cliente e compreende-lo profundamente permite que possamos identificar situações de forma pró ativa, atuando assim de forma estratégica.

Para isto é importante termos uma agenda de visita ao cliente, mesmo que não seja para falar de um projeto ou algo em específico.

Conduta de acordo com carta de valores desde os pequenos atos

Diferencial que atende: Colaboradores reconhecidos por sua conduta ética

O colaborador Tegra tem sua conduta reconhecidamente ética, das pequenas as grandes ações:

  • Sempre deixa o local onde passou melhor do que quando chegou
  • Propõe soluções, ao invés de reclamar
  • Busca os fatos, evitando a fofoca
  • Não entrega uma solução de qualidade duvidosa
  • Não mitiga quando não concordar com uma dada situação
  • Não omite informações
  • Atualiza o cliente pró ativamente, antecipando eventos importantes
  • Não compartilha informações sigilosas
  • Não participa de negócios ilegais ou de acordos

Ou seja, das pequenas as grandes atitudes, partem sempre do princípio da conduta ética, ou seja, de acordo com nossos valores.

Respeitar o sigilo de informações

Diferencial que atende: Colaboradores reconhecidos por sua conduta ética

O colaborador Tegra tem o cuidado de não levar as informações do cliente para fora do ambiente de trabalho.

Não comenta sobre tais assuntos entre amigos e colegas, mesmo que de forma despretensiosa, como com o motorista do Uber ou qualquer outra situação que uma informação sigilosa do cliente possa ser espalhada indefinidamente.

Conclusão

O processo de construção de nossa trama é muito rico e conta com a participação de nossos colaboradores e clientes, de forma direta ou indireta, e a partir desta construção, tramamos uma estratégia cuja a direção é clara a todos.

Ficamos muito felizes em tramarmos nossa primeira versão de trama . Este processo é contínuo e precisa ser revisitado periodicamente, considerando a evolução de nossos clientes e do mercado.

Este é o alicerce de nossa cultura, a cultura Tegra.

Meta Smart

Meta Smart

Todos nós temos objetivos, tanto no campo pessoal quanto no profissional, mas para que esses objetivos se tornem concretos precisamos de metas! 

Hoje vou falar sobre uma ferramenta que irá ajudá-lo a conseguir criar um planejamento baseado em estimativas reais, essa ferramenta se chama SMART e com ela, você será capaz de criar metas inteligentes, especificas, mensuráveis e alcançáveis. Então vamos tirar suas metas do papel e colocar em prática utilizando a ferramenta smart 

A palavra smart vem do inglês e significa inteligente, cada letra significa uma etapa no processo de criação da meta   

S –  Specifc (Especifico)  

M – Mensurable (Mensurável)  

A –  Achievable (Alcançável)  

R –  Relevant (Relevante)  

T – Time (Tempo)  

Específico  

A meta precisa ser bem especificada, não pode abrir margem para interpretações erradas, ela deve representar exatamente o que está buscando.  

Mensurável  

É o que tem que ser feito em termos quantitativos:  

Quanto mede?  

Quanto custa?   

Quanto pesa?      

Tudo que pode ser medido pode ser alcançável, esse item é responsável em nos ajudar no acompanhamento de nossa evolução com base em dados numéricos.  

Alcançável  

Atingir resultado é o que todos queremos, mas precisamos criar metas que condizem com nossa realidade.    

Relevante  

As metas precisam ser relevantes, precisam impactar positivamente, seja no profissional ou na vida pessoal.  

Tempo  

Quando?  

Definir data é importante, afinal é isso que queremos não é mesmo? sem uma data definida, certamente a meta ficará para um segundo plano, procrastinação em ação e ficaremos presos a encontrar um momento certo, mas a verdade é que não existe um momento certo para começar.  

Exemplo  

Definindo o objetivo: Comprar uma casa  

Após definido o objetivo, o próximo passo é aplicar a ferramenta smart, seguindo com o primeiro item “Especifico” precisamos detalhar melhor como vai ser essa casa, algumas das perguntas que poderiam ser feitas aqui são, a casa vai ter quantos quartos, quantos banheiros?, vai ter sala de estar?, vai ter garagem? Com quantas vagas? vai ter alguma área de lazer ou sala de jogos? a casa vai estar localizada em um determinado bairro de determinada cidade?, qual a cor dessa casa?, a ideia aqui é detalhar o máximo possível.  

No segundo passo, para o item “Mensurável”, para este objetivo estamos falando de valor financeiro, então quanto dinheiro precisamos ter para comprar este imóvel?   

Partindo para o terceiro item, “Alcançável”, depois de especificar e mensurar o valor que vamos precisar ter para comprar o imóvel, precisamos avaliar se está no nosso alcance e para isso podemos olhar para nossa situação atual e perguntar, temos condições de comprar este imóvel? E se não tiver todo o dinheiro disponível, temos por exemplo 80%? e os outros 20%? vamos precisar fazer um empréstimo bancário, mas e depois? Será que vamos conseguir cobrir esse empréstimo? essas são algumas situações que nós poderíamos nos questionar em relação ao item alcançável.  

Para o próximo item “Relevante”, precisamos encontrar algo que nos de força para lutar pelo nosso objetivo, o nosso combustível, é daqui que vamos encontrar a motivação para continuar, podemos pensar o seguinte:  

Oque nos motiva comprar este imóvel? seria para ter uma vida melhor, ou dar uma vida melhor para nossa família? Ou talvez realizar um sonho de ter uma casa própria e sair do aluguel?   

 Para o último e não menos importante item da meta smart, temos que definir uma data, dia mês e hora para o acontecimento, que dia vamos estar com as chaves em mãos para entrar nesta nova casa?  

Muitas vezes metas podem ser simplesmente uma mudança de hábito, uma atividade física até uma meta organizacional, é importante criar um planejamento, definir uma data para conclusão e utilizar métricas para acompanhamento, isso é a meta smart, por hoje é isso, espero que tenham gostado, até mais!

Engenharia do Caos

Engenharia do Caos

Engenharia do Caos
 
Engenharia do Caos significa realizar experimentos em sistemas distribuídos para construir confiança na capacidade do sistema e resistir a condições turbulentas em produção.
 
Em engenharia de software, cada vez mais ouve-se falar em micro serviços. Como desenvolvedores, conseguimos rapidamente adotar práticas para aumentar a flexibilidade de desenvolvimento e velocidade de implantação de sistemas. Com isso, surgiu uma questão: o quanto podemos confiar nesses sistemas complexos que colocamos em produção?
 
Mesmo quando todos os serviços de um sistema distribuído estão funcionando corretamente, as interações entre tais serviços podem causar resultados imprevisíveis. Circunstâncias não previstas, mesmo que compostas por eventos raros do mundo real, podem afetar sistemas em produção, possivelmente os deixando em um estado caótico.
 
Precisamos identificar as fraquezas antes que elas se manifestem em comportamentos inesperados no sistema. Problemas sistemáticos podem se manifestar de diversas formas, entre elas:
  • Comportamento inadequado quando um dos serviços encontra-se indisponível;
  • Múltiplas tentativas de conexão repetidas, normalmente causadas por Timeout mal-configurados;
  • Sistema fora do ar quando um tráfego muito grande de informações é recebido;
  • Falhas em cascata quando um único ponto sofre problemas;
  • Entre outros.
 
Devemos atacar essas fraquezas proativamente antes que elas afetem os usuários em produção. Precisamos de uma maneira de gerenciar o caos inerente nesses sistemas, conseguir tirar vantagem da flexibilidade e velocidade de desenvolvimento, e ter confiança em nossos sistemas em produção por mais complexos que eles sejam.
 
Uma abordagem prática consegue atacar o caos em sistemas distribuídos em escala e construir confiança na capacidade desses sistemas em resistir a condições realistas. Podemos aprender como é o comportamento do sistema a partir de observações em um ambiente controlado. Isso é chamado Engenharia do Caos.
 
Aplicação na Prática
 
Para atacar a incerteza gerada por sistemas distribuídos em escala, a Engenharia do Caos pode ser pensada como uma forma de facilitar os experimentos para descobrir fraquezas sistêmicas. Esses experimentos seguem quatro passos:
1. Inicia-se definindo um ‘estado estável’ como uma das medidas para indicar comportamento normal;
2. Cria-se a hipótese de que esse ‘estado estável’ se manterá tanto no grupo de controle e no grupo experimental;
3. Introduz-se variáveis que refletem eventos do mundo real como serviços fora do ar, discos rígidos quebrados, problemas em conexão de rede, etc;
4. Tentar averiguar a hipótese analisando as diferenças no estado estável entre o grupo de controle e o grupo experimental.
Quanto mais difícil for quebrar o estado estável, mais confiança temos no comportamento do sistema. Se uma fraqueza é descoberta, é necessário desenvolver melhorias antes que esse comportamento se manifeste no sistema em larga escala.
 
Conclusão
 
A Engenharia do Caos é uma prática poderosa que já está mudando a forma como software é desenvolvido nas operações de maior escala no mundo. Enquanto outras práticas ajudam a ter mais velocidade e flexibilidade, a Engenharia do Caos especificamente ataca a incerteza sistêmicas em sistemas distribuídos. Os Princípios do Caos ajudam a ter confiança em inovar rapidamente em larga escala e poder fornecer aos clientes a experiência de alta qualidade que eles merecem.
 
Quanto mais escalável é a aplicação que estamos desenvolvendo, maior a responsabilidade em manter essa aplicação estável independentemente de condições externas que possam eventualmente afetá-la. No mundo real, nem todo sistema é um Spotify ou Netflix, então tais práticas podem ser executadas conforme a complexidade e disponibilidade esperada do sistema. Para se ter uma aplicação realmente considerada resiliente, a Engenharia do Caos pode ser uma excelente técnica.
 
Referências:
Principles of Chaos Engineering – https://principlesofchaos.org/
Uma prática de UX utilizando o Whatsapp

Uma prática de UX utilizando o Whatsapp

Existem várias práticas que podem identificar as necessidades, desejos e limitações de usuários durante todo o projeto, mas o grande desafio é utilizar essas práticas de uma forma que o usuário seja colocado no centro e conseguir a profundidade necessária para chegar à empatia sem levar dois anos de pesquisa para isso. É aí que o Whatsapp entra. Nesse artigo vou mostrar como essa ferramenta comum, que todo mundo usa, pode ser utilizada como instrumento de pesquisa.

Para a criação de personas é necessário traçar um perfil de uma amostragem grande de usuários. Mas como conhecer esses usuários? Indo a campo e conhecendo o dia a dia deles, porém é complicado chegar a um desconhecido e fazer várias perguntas sobre ele, até coisas pessoais que ele jamais contaria para um desconhecido.

Então o plano é:
Encontrar pessoas com perfis do público alvo desejado e abordá-los de forma convincente e empática, a fim de que participem da pesquisa voluntariamente, compartilhando tudo sobre suas rotinas diárias durante uma semana pelo whatsapp, em troca receberão um prêmio.

Para executar esse plano de ação, é necessário definir alguns itens:

1- Hipóteses e objetivos: Definir o objetivo da coleta de informações sobre os usuários para a criação de personas e montar uma estratégia de abordagem, considerando a possibilidades dos usuários aceitarem ou não fazerem parte da pesquisa.

2 – Referência de materiais e contextualização: Definir o material que será dado aos voluntários de acordo com o contexto e objetivo da pesquisa.

3 – Segmentação: Quem são, onde e como encontrar as pessoas com perfis do público alvo desejado?

4 – Formato do Kit: Definição do tipo de kit que será dado aos voluntários para apoio e instruções durante a pesquisa.

5 – Roteiro – Pré-diário: Escrever um roteiro detalhado com todas as regras da pesquisa para os voluntários.

6 – Roteiro – Whatsapp: Escrever um roteiro explicativo sobre frequências e assunto das conversas pelo whatsapp durante uma semana.

7 – Pontos para retornar – Pesquisados: Marcar uma data, horário e local para a formalização do fim da pesquisa e entrega dos prêmios.

8 – Definição do prêmio: Definir o tipo de prêmio que será dado de acordo com a verba disponibilizada.

9 – Termo de adesão da pesquisa contínua: Criar um termo com todas as regra de adesão e cancelamento da pesquisa.

10 – Autorização de uso de imagem: Criar um documento onde autoriza o pesquisador a utilizar informações e imagens dos voluntários.

Após a definição do plano de ação, o próximo passo é sair às ruas.

Ao encontrar pessoas com perfis do público alvo desejado, o pesquisador deve apresentar-se e explicar sobre a pesquisa. Se a pessoa aceitar a ser voluntário, é só formalizar o acordo:

Obrigada por aceitar compartilhar sua rotina do dia a dia conosco. A partir de agora, você é nosso voluntário e iremos conversar pelo whatsapp durante uma semana.

O pesquisador pega o numero do whatsapp da pessoa e dá a ele o kit com o roteiro do diário de Whatsapp, o termo de adesão, autorização de imagem e em seguida explica algumas regras da pesquisa:

Você precisa conversar comigo todos os dias pelo whatsapp, se cumprir com esse roteiro corretamente durante uma semana, ao final receberá o prêmio (Exemplo: 100 reais), porém se falhar com o roteiro, interromperemos a pesquisa e consequentemente você não receberá o prêmio. Daqui uma semana nos encontramos nesse mesmo lugar e nesse mesmo horário para finalizarmos a pesquisa e fazer a entrega do prêmio.

Após isso, o pesquisador deve conversar com esses voluntários durante uma semana para conhecer suas rotinas, como se fosse um diário.

Depois de uma semana, para finalizar, o pesquisador deve encontrar-se com os voluntários nos locais combinados, agradecer suas participações e dar o prêmio de cada um, conforme o combinado. Esses prêmios não precisam ser exatamente os 100 reais, mas qualquer coisa que estimule eles a ajudarem na pesquisa e ao mesmo tempo se encaixe no orçamento disponibilizado para o pesquisador.

Assim é possível utilizar uma prática de UX com uma ferramenta comum, utilizada por todos e obter informações reais, de pessoas com rotinas reais e ser muito mais preciso ao criar uma solução digital para o problema desse público.

Existem várias práticas que podem identificar as necessidades, desejos e limitações de usuários durante todo o projeto, mas o grande desafio é utilizar essas práticas de uma forma que o usuário seja colocado no centro e conseguir a profundidade necessária para chegar à empatia sem levar dois anos de pesquisa para isso. É aí que o Whatsapp entra. Nesse artigo vou mostrar como essa ferramenta comum, que todo mundo usa, pode ser utilizada como instrumento de pesquisa.

Para a criação de personas é necessário traçar um perfil de uma amostragem grande de usuários. Mas como conhecer esses usuários? Indo a campo e conhecendo o dia a dia deles, porém é complicado chegar a um desconhecido e fazer várias perguntas sobre ele, até coisas pessoais que ele jamais contaria para um desconhecido.

Então o plano é:
Encontrar pessoas com perfis do público alvo desejado e abordá-los de forma convincente e empática, a fim de que participem da pesquisa voluntariamente, compartilhando tudo sobre suas rotinas diárias durante uma semana pelo whatsapp, em troca receberão um prêmio.

Para executar esse plano de ação, é necessário definir alguns itens:

1- Hipóteses e objetivos: Definir o objetivo da coleta de informações sobre os usuários para a criação de personas e montar uma estratégia de abordagem, considerando a possibilidades dos usuários aceitarem ou não fazerem parte da pesquisa.

2 – Referência de materiais e contextualização: Definir o material que será dado aos voluntários de acordo com o contexto e objetivo da pesquisa.

3 – Segmentação: Quem são, onde e como encontrar as pessoas com perfis do público alvo desejado?

4 – Formato do Kit: Definição do tipo de kit que será dado aos voluntários para apoio e instruções durante a pesquisa.

5 – Roteiro – Pré-diário: Escrever um roteiro detalhado com todas as regras da pesquisa para os voluntários.

6 – Roteiro – Whatsapp: Escrever um roteiro explicativo sobre frequências e assunto das conversas pelo whatsapp durante uma semana.

7 – Pontos para retornar – Pesquisados: Marcar uma data, horário e local para a formalização do fim da pesquisa e entrega dos prêmios.

8 – Definição do prêmio: Definir o tipo de prêmio que será dado de acordo com a verba disponibilizada.

9 – Termo de adesão da pesquisa contínua: Criar um termo com todas as regra de adesão e cancelamento da pesquisa.

10 – Autorização de uso de imagem: Criar um documento onde autoriza o pesquisador a utilizar informações e imagens dos voluntários.

Após a definição do plano de ação, o próximo passo é sair às ruas.

Ao encontrar pessoas com perfis do público alvo desejado, o pesquisador deve apresentar-se e explicar sobre a pesquisa. Se a pessoa aceitar a ser voluntário, é só formalizar o acordo:

Obrigada por aceitar compartilhar sua rotina do dia a dia conosco. A partir de agora, você é nosso voluntário e iremos conversar pelo whatsapp durante uma semana.

O pesquisador pega o numero do whatsapp da pessoa e dá a ele o kit com o roteiro do diário de Whatsapp, o termo de adesão, autorização de imagem e em seguida explica algumas regras da pesquisa:

Você precisa conversar comigo todos os dias pelo whatsapp, se cumprir com esse roteiro corretamente durante uma semana, ao final receberá o prêmio (Exemplo: 100 reais), porém se falhar com o roteiro, interromperemos a pesquisa e consequentemente você não receberá o prêmio. Daqui uma semana nos encontramos nesse mesmo lugar e nesse mesmo horário para finalizarmos a pesquisa e fazer a entrega do prêmio.

Após isso, o pesquisador deve conversar com esses voluntários durante uma semana para conhecer suas rotinas, como se fosse um diário.

Depois de uma semana, para finalizar, o pesquisador deve encontrar-se com os voluntários nos locais combinados, agradecer suas participações e dar o prêmio de cada um, conforme o combinado. Esses prêmios não precisam ser exatamente os 100 reais, mas qualquer coisa que estimule eles a ajudarem na pesquisa e ao mesmo tempo se encaixe no orçamento disponibilizado para o pesquisador.

Assim é possível utilizar uma prática de UX com uma ferramenta comum, utilizada por todos e obter informações reais, de pessoas com rotinas reais e ser muito mais preciso ao criar uma solução digital para o problema desse público.

Existem várias práticas que podem identificar as necessidades, desejos e limitações de usuários durante todo o projeto, mas o grande desafio é utilizar essas práticas de uma forma que o usuário seja colocado no centro e conseguir a profundidade necessária para chegar à empatia sem levar dois anos de pesquisa para isso. É aí que o Whatsapp entra. Nesse artigo vou mostrar como essa ferramenta comum, que todo mundo usa, pode ser utilizada como instrumento de pesquisa.

Para a criação de personas é necessário traçar um perfil de uma amostragem grande de usuários. Mas como conhecer esses usuários? Indo a campo e conhecendo o dia a dia deles, porém é complicado chegar a um desconhecido e fazer várias perguntas sobre ele, até coisas pessoais que ele jamais contaria para um desconhecido.

Então o plano é:
Encontrar pessoas com perfis do público alvo desejado e abordá-los de forma convincente e empática, a fim de que participem da pesquisa voluntariamente, compartilhando tudo sobre suas rotinas diárias durante uma semana pelo whatsapp, em troca receberão um prêmio.

Para executar esse plano de ação, é necessário definir alguns itens:

1- Hipóteses e objetivos: Definir o objetivo da coleta de informações sobre os usuários para a criação de personas e montar uma estratégia de abordagem, considerando a possibilidades dos usuários aceitarem ou não fazerem parte da pesquisa.

2 – Referência de materiais e contextualização: Definir o material que será dado aos voluntários de acordo com o contexto e objetivo da pesquisa.

3 – Segmentação: Quem são, onde e como encontrar as pessoas com perfis do público alvo desejado?

4 – Formato do Kit: Definição do tipo de kit que será dado aos voluntários para apoio e instruções durante a pesquisa.

5 – Roteiro – Pré-diário: Escrever um roteiro detalhado com todas as regras da pesquisa para os voluntários.

6 – Roteiro – Whatsapp: Escrever um roteiro explicativo sobre frequências e assunto das conversas pelo whatsapp durante uma semana.

7 – Pontos para retornar – Pesquisados: Marcar uma data, horário e local para a formalização do fim da pesquisa e entrega dos prêmios.

8 – Definição do prêmio: Definir o tipo de prêmio que será dado de acordo com a verba disponibilizada.

9 – Termo de adesão da pesquisa contínua: Criar um termo com todas as regra de adesão e cancelamento da pesquisa.

10 – Autorização de uso de imagem: Criar um documento onde autoriza o pesquisador a utilizar informações e imagens dos voluntários.

Após a definição do plano de ação, o próximo passo é sair às ruas.

Ao encontrar pessoas com perfis do público alvo desejado, o pesquisador deve apresentar-se e explicar sobre a pesquisa. Se a pessoa aceitar a ser voluntário, é só formalizar o acordo:

Obrigada por aceitar compartilhar sua rotina do dia a dia conosco. A partir de agora, você é nosso voluntário e iremos conversar pelo whatsapp durante uma semana.

O pesquisador pega o numero do whatsapp da pessoa e dá a ele o kit com o roteiro do diário de Whatsapp, o termo de adesão, autorização de imagem e em seguida explica algumas regras da pesquisa:

Você precisa conversar comigo todos os dias pelo whatsapp, se cumprir com esse roteiro corretamente durante uma semana, ao final receberá o prêmio (Exemplo: 100 reais), porém se falhar com o roteiro, interromperemos a pesquisa e consequentemente você não receberá o prêmio. Daqui uma semana nos encontramos nesse mesmo lugar e nesse mesmo horário para finalizarmos a pesquisa e fazer a entrega do prêmio.

Após isso, o pesquisador deve conversar com esses voluntários durante uma semana para conhecer suas rotinas, como se fosse um diário.

Depois de uma semana, para finalizar, o pesquisador deve encontrar-se com os voluntários nos locais combinados, agradecer suas participações e dar o prêmio de cada um, conforme o combinado. Esses prêmios não precisam ser exatamente os 100 reais, mas qualquer coisa que estimule eles a ajudarem na pesquisa e ao mesmo tempo se encaixe no orçamento disponibilizado para o pesquisador.

Assim é possível utilizar uma prática de UX com uma ferramenta comum, utilizada por todos e obter informações reais, de pessoas com rotinas reais e ser muito mais preciso ao criar uma solução digital para o problema desse público.

Núbia Araújo

Núbia Araújo

UX/UI na Tegra