Executando verificação de segurança...
3

[dataviz] Usando UX para melhorar nossos dashboards

Vejo poucos posts aqui sobre as áreas de dados, e como essa área me interessa bastante, vou tentar postar alguns conteúdos, até pra diversificar o "cardápio" da plataforma.

O texto abaixo é direcionado principalmente aos dashboards que criamos em plataformas como PowerBI, Looker e similares, mas pode ser aplicado em outras ferramentas de visualização de dados, como as libs disponíveis em Python, R e Javascript, e até mesmo em aplicativos em geral.

Começando

Grande parte das discussões sobre design de dashboards que vejo em comunidades da internet se resumem à polêmica dos "graficos de pizza".

Saber a melhor maneira de dispor gráficos realmente é importante, mas visualização de dados não se resume apenas a isso. Penso que é possível ir mais fundo e aplicar conceitos de UX (User eXperience, ou "experiência de usuário", em português). Afinal, dashboards são, no fundo, aplicativos que serão utilizados por usuários que precisam entender o que está disposto na tela.

Nesse texto, vou resumir o que aprendi em um semestre de faculdade, utilizando um dos livros que tratam sobre o assunto: "Design Centrado no Usuário", de Travis Lowdermilk. Sei que livros técnicos nunca são unanimidade, mas os conceitos que vou tratar aqui estão presentes em qualquer livro inicial da área de UX.

O que é UX?

A Experiência do Usuário está relacionada não apenas com a funcionalidade, mas com o quão agradável é utilizar um aplicativo. UX está preocupada com toda a experiência do uso de um software.

Estamos falando de cores, de posicionamento dos botões e filtros, mas também do tempo de carregamento da aplicação e da disposição dos dados em diferentes tipos de tela, por exemplo.

Um aplicativo - e um dashboard - deve ser agradável de usar, o que significa ter os dados à mão de maneira intuitiva e simples. É mais do que simplismente "beleza".

Parte importante do projeto: o usuário

Assim como em praticamente todos os fluxos de criação de produtos digitais, colher os requisitos de usuário é o primeiro passo da abordagem centrada no usuário. Lowdermilk discute, no capítulo 2 do seu livro, os diferentes tipos de usuários e como lidar com suas dificuldades.

Na área digital, aprendemos que o usuário é parte do problema. É o "bichinho ignorante operando o sistema", mas a verdade é que o usuário é o motivo da existência do projeto. Não da pra começar a desenhar um produto sem antes entender o que o usuário precisa.

Aplicado à dashboards, isso significa entender quais dados o usuário precisa ver, e como ele precisa ver: granularidade, intervalos de atualização, divisão em diferentes páginas, etc. Até mesmo o storytelling de dados se encaixa como uma resposta aos requisitos do usuário.

Requisitos funcionais

Os requisitos funcionais tratam de tudo o que o dashboard, ou qualquer outra aplicação necessitará pra funcionar, do ponto de vista "técnico": plataformas de BI, fontes de dados, como APIs, data lakes e data warehouses, e até mesmo onde a solução de dados será exibida: nos telões espalhados pela empresa ou nos smartphones dos gerentes? A resposta para essa pergunta específica demandará diferentes soluções técnicas.

Protótipos

Esta é a hora de reunir as entradas anteriores e colocar tudo no papel, ou no figma, ou em uma planilha, que seja.

O seu protótipo pode ser funcional, se for possível testa-lo, ainda que seja em uma versão "menor" (pense em dashboards em uma planilha) ou não funcional, se for apenas desenhado em lápis e papel.

Nessa hora é importante as talvez infinitas rodadas com o cliente para alinhar as expectativas da entrega. Tenha paciência, rsrs.

Narrativas, Personas e Cenários

Imaginar quem utilizará seu dashboard e como este será usado é parte importante do processo. Ele será consumido a partir de celulares ou computadores? Quem os consumirá? Gerentes e diretores não precisam dos mesmos niveis de detalhamento dos líderes de área.

Nessa hora, a criação de personas e de narrativas envolvendo essas personas é algo importante.

Funciona assim:

Geraldo, gerente de abastecimento do setor têxtil, todos os dias antes da sua daily matinal com a Diretoria, dá uma olhada no Dashboard de Abastecimento a fim de saber como está o atingimento do abastecimento das mercadorias do seu setor. Ele precisa visualizar qual o percentual de abastecimento em relação ao esperado para cada uma das lojas da companhia, bem como se e quando a previsão de meta de abastecimento será cumprida.

Podemos imaginar uma segunda persona, com uma narrativa totalmente diferente:

Julia é gerente de loja. Diariamente, antes da sua daily matinal com a gerência regional, ela da uma olhada no Dashboard de Abastecimento a fim de saber quais produtos está com o estoque abaixo do "estoque de segurança", bem como a data prevista para esse estoque ser suprido e a data prevista para o desabastecimento de cada item. Se a data prevista do desabastecimento for anterior a data prevista para suprimento, Julia precisa informar aos seus superiores urgentemente, pois há risco real de que sua loja fique desabastecida do item, o que causará perda de vendas e o não atingimento das metas da loja.

Veja só como duas pessoas diferentes consomem o mesmo produto de dados, mas precisam de visões totalmente diferentes: Geraldo precisa saber de maneira macro se as lojas estão abastecidas de mercadoria textil, Julia precisa saber quais itens correm risco de faltar na loja dela.

É a partir dessas informações que é possível desenhar, de maneira assertiva, soluções que atendam tanto um quanto o outro tipo de usuário.

Essa fase é não se trata de inventar histórias aleatórias, e sim descrever possíveis cenários baseado na pesquisa anterior com os diferentes tipos de usuários.

Metas de experiência de usuário

Após a pesquisa e o desenho dos cenários, já está bem claro na nossa cabeça o que o nosso dashboard precisa ter.

Particularmente, eu gosto de emprestar o template de histórias de usuários utilizado na metodologia ágil.

Funciona assim:

Como: Gerente de Abastecimento
Quero: Visualizar o atingimento do nível de abastecimento das mercadorias do meu setor
Para: Justificar à diretoria a minha estratégia de abastecimento

Outra história:

Como: Gerente de Loja
Quero: Visualizar quais itens correm o risco de desabastecimento na minha loja
Para: alertar a minha gerência regional, a fim de conseguir um abastecimento emergêncial e evitar o desabastecimento na minha loja

Agora sim, mãos a obra

No capítulo 7 do seu livro, Lowdermilk vai tratar dos princípios de design. Penso que outra literatura boa para iniciantes é o famoso "Design para Quem não é Designer", de Robin Williams.
Lendo essas literaturas, você entenderá que disposição de cores e formas não é magia, tampouco "obra da criatividade". A palavra "design" nos obriga a entender que cada escolha precisa atender uma funcionalidade, que no nosso caso, precisa responder a uma dor dos usuários que relatamos na seção anterior.

Ferramentas de self service, como PowerBi e Looker Studio são projetadas para atender os princípios básicos de design, como proximidade, visibilidade, feedback visual, proeminência visual, hierarquia, metáforas, entre outros. Mas, como somos nós quem agrupamos diferentes visualizações em cada página, cabe a nós garantirmos que esses princípios continuarão a ser respeitados.

proposta de dashboard para resolver o problema

Essa á possível solução para o problema proposto. As cores laranja e azul ajudam a cumprir os princípios de agrupamento e hierarquia, deixando claro que existem duas visões diferentes dos dados, com suas próprias opções de filtragem. A cor vermelha nos itens que merecem atenção, por risco de desabastecimento, atende o princípio de visibilidade.

O princípio da consistência nos diz para "não inventar" e aproveitar ícones e expressões dominadas pelo usuário. Por exemplo: em algumas empresas, a informação que difere um item do outro pode ser chamado de 'id item", em outra, "id sku", em outra, "cod item" e outras variações. As vezes, até mesmo de um setor para o outro, o nome da informação pode ser diferente. É necessário utilizar o conhecimento prévio do usuário na composição do dashboard. Se o usuário chama o dado de "id item", não tem porquê colocarmos "cod sku" no dashboard.

Esse princípio de consistência também é verificado no uso da cor vermelha para alertar o leitor sobre os itens com perigo de desabastecimento. Pois a cor vermelha já tem um significado de "alerta" embutido na cabeça do leitor, pelo menos na cultura ocidental. Em outras culturas, é necessário se certificar que o sistema de simbologia das cores funciona da mesma forma.

Outros princípios, como disse, já são aplicados pela própria ferrramenta. O princípio da exibição progressiva é aplicado quando selecionamos opções em cada filtro. O modelo mental é aplicado, por exemplo, ao utilizar o conhecido sinal de "seta para trás" para indicar a volta para o status anterior no dashboard.

Feedback e melhoria contínua

O usuário é, inevitavelmente, parte indispensável do processo. Receber listas de melhorias após o deploy do dashboard não significa fracasso do projeto e nem deve ser visto como maus olhos por parte de quem construiu a visualização. Pelo contrário: aí começa um novo ciclo, de feedbacks e melhorias contínuas, que obviamente precisam ser apuradas, mas que em grande parte das vezes são necessárias.

Lembre-se: o usuário é o motivo da existência do projeto.

Conclusão

Nesse texto, eu proponho pensarmos dashboards, seja no PowerBI, Looker ou até mesmo no Excel, como aplicativos. Pois, no fim do dia, é isso que eles são.

Dessa forma, é necessário pensar em alguns passos na hora do desenvolvimento, e principalmente, incluir e ouvir o usuário no processo.

O objetivo não é engessar a entrega de um projeto que muitas das vezes é simples. O exposto aqui são conceitos, que devem ser utilizados ou ignorados com sabedoria.

No fim, o importante é termos produtos de dados que atendam as expectativas e necessidades dos usuarios, considerando também o orçamento disponível e tempo disponível, e evitando ao máximo ambiguidades. Como disse, isso não vale apenas para dashboards, mas para aplicativos em geral.

Carregando publicação patrocinada...
1

Ao ler o título, pensei que veria a evolução de um dashboard, mostrando o que foi melhorado. Apesar de ter me enganado, achei uma ótima publicação. Deixo aqui algumas notas que vieram à minha mente conforme a leitura:

Aplicado à dashboards, isso significa entender quais dados o usuário precisa ver, e como ele precisa ver: granularidade, intervalos de atualização, divisão em diferentes páginas, etc. Até mesmo o storytelling de dados se encaixa como uma resposta aos requisitos do usuário.

Num momento mais adiante, é importante refletir se a pessoa que está utilizando o sistema precisa de todos os dados que estão ali, até mesmo porque as necessidades mudam, como dito em "Feedback e melhoria contínua".

Existe uma história, que infelizmente agora não me lembro dos nomes então ela pode estar levemente alterada, de que um CEO decidiu remover alguns dados de relatórios que os gerentes/diretores da companhai liam. Se o dado não fizesse falta, os próximos relatórios continuavam sem ele. Isso foi feito porque todo dado tem um custo de coleta, armazenamento, tratamento e auditoria. Agora uma adição minha: num dashboard um dado também tem o custo de carga cognitiva, pois a pessoa está vendo tudo ao mesmo tempo.

Imaginar quem utilizará seu dashboard e como este será usado é parte importante do processo. Ele será consumido a partir de celulares ou computadores?

Mais uma situação: dependendo da empresa e do dashboard, ele será consumido em televisões. É importante ter isso em mente porque, nessa situação, não há mais a interação do mouse para exibir alguma informação sobre o gráfico, então é preciso ter as informações visíveis de forma não-interativa. Claro que você pode continuar deixando algum tipo de filtro ou interatividade para caso a pessoa deseje mexer em algo, mas a maior parte do tempo ele ficará estático na televisão. Tenho a impressão de que isso é bem comum em Vendas e também para observabilidade em TI.

Talvez você possa até mesmo fazer algo mais rebuscado, com uma interação simulada que não prejudique o gráfico, mas sim que exiba alguma informação mais difícil de visualizar. Não me lembro de um exemplo em que vi isso.

Esse princípio de consistência também é verificado no uso da cor vermelha para alertar o leitor sobre os itens com perigo de desabastecimento. Pois a cor vermelha já tem um significado de "alerta" embutido na cabeça do leitor, pelo menos na cultura ocidental. Em outras culturas, é necessário se certificar que o sistema de simbologia das cores funciona da mesma forma.

Nesse exemplo eu diria que poderia até mesmo trabalhar com um gradiente da cor vermelha. Talvez ficasse com uma carga cognitiva muito alta, porque aqui o vermelho é só uma forma visual da informação textual (% abastecimento), mas é questão de experimentar e ver se atende melhor a necessidade ou não. Às vezes um produto com 30% de abastecimento precisa de mais atenção do que um com 10%, por causa do giro ou da demora na produção, então faria mais sentido o gradiente.


Edit: Acabei de encontrar um artigo relacionado aqui no TabNews: 5 dicas para um dashboard melhor.

1

Obrigado pelo comentário!

Essas questões que você levantou são bem pertinentes e já precisei lidar com cada uma delas no dia a dia.

No fim, a melhor forma de resolver é sentando com o cliente mesmo e vendo o que funciona melhor pra ele, sempre expondo o nosso conhecimento técnico, que o cliente normalmente nao têm.

Essa questao de carga cognitiva me preocupa bastante também. Normalmente eu opto por visualizações mais "limpas", com menor quantidade de gráficos e informações por página.

Mais uma vez, obrigado pelo comentário.