De nada adianta investir em testes, desenvolvimento, se o que cliente necessita não foi desenvolvido.

Quando falamos que se fosse investido mais tempo planejando o projeto e validando objetivos, gastar-se-ia menos tempo com manutenções intermináveis e retrabalhos, na verdade defendemos o fato que não adianta investir tempo e dinheiro em requisitos incoerentes com o que o usuário deseja.

Todo o processo de desenvolvimento de um software deve respeitar as expectativas dos usuários, o analista, o desenvolvedor e o testador, devem trabalhar para o usuário, por isso é imprescindível conhecer o negócio, o perfil de quem usa o produto e o ambiente onde o mesmo será inserido.

Identifique seu usuário e então adapte seu produto a ele!

Usabilidade

Usabilidade é um termo bastante falado atualmente.

Ser usual é estar de acordo com as expectativas do usuário, é ser fácil, intuitivo e ter uma interação positiva.

Quem nunca se frustrou ao tentar utilizar um software?

Usuário frustrado.

Figura 1: Usuário frustrado.

Vou além, quem nunca se frustrou ao solicitar melhorias no layout de um sistema e esses requisitos serem considerados perfumaria, onde a prioridade é a mínima possível?

Muitas empresas de software cresceram por encontrarem um vértice sem concorrência, com clientes carentes de processos automatizados, hoje o contexto mudou e a indústria de TI perde pela falta de qualidade.

São inúmeros os descontentamentos:

  • Aplicação que não funcionando adequadamente;
  • Sistema que não atende as expectativas básicas de seus usuários;
  • Dúvidas constantes para realizar rotinas fáceis;
  • Mensagem de erro que assustam usuários, passando a repudiarem o sistema e solicitarem tudo a equipe de suporte, por insegurança;
  • Cores, saturação de textos e efeitos confusos e poluídos;
  • Rotinas impossíveis de executar sem o auxilio de manual;

Quando se escuta depoimento de equipes de atendimento e usuários, é constatado que a Crise de software ainda se faz presente, mas infelizmente muitas softhouses não perceberam isso, ou optaram por ignorar o fato.

É fundamental entender que o software é um produto, onde o cliente escolhe a cor, o preço e quando quer receber.

A Engenharia de usabilidade auxilia equipes a tratarem de problemas comuns, utilizando para o desenvolvimento de interfaces até aspectos relacionados à cognição, psicologia, cultura e tantas variações que diferem um usuário do outro.

Para melhorar produtos, utilizando a usabilidade, não é necessário ser uma grande corporação, possuir uma equipe especialista ou investir muito capital, basta definir e institucionalizar ações simples, que fazem toda a diferença.

Métodos de Heurísticas auxiliam na resolução de problemas comuns em software. As regras de Nielsen norteiam esse artigo, sendo repassadas como dicas a equipes que pretendem melhorar seus produtos.

Visibilidade do estado do sistema

O usuário deve estar informado sobre a situação do sistema, por isso é fundamental o fornecimento de feedback constante.

Barra de carregamento

Figura 2: Barra de carregamento.

Um exemplo é a existência de barra de carregamento que traz o percentual da tarefa realizada, a confirmação de ações, como salvo, deletado, impresso, auxiliando o usuário a entender o que esta acontecendo.

Compatibilidade entre sistema e mundo real

A linguagem do usuário deve ser respeitada, padrões estabelecidos do inicio ao fim e conceitos que representem o mundo real.

Barra de carregamento

Figura 3: Exemplo do mundo real.

As informações devem aparecer em ordem lógica e natural para o negócio, destacando que essa ordem nem sempre é a alfabética.

Liberdade e controle do usuário

O usuário deve ter intimidade com o sistema utilizado, gerando confiança, pela certeza que ele esta no controle de suas ações sempre.

Decisão do usuário

Figura 4: Decisão do usuário.

Um exemplo é oportunizar ao usuário saídas de emergência, como, botões de cancelamento e retorno. O usuário deve não ter medo de errar, pois o sistema permite a reversão de suas ações.

Consistência e padrões

Usuários não devem ter que adivinhar que diferentes palavras, situações ou ações significam a mesma coisa.

Duvida.

Figura 5: Duvida.

Siga as convenções de plataforma computacional, obedeça a um padrão comum para o usuário que permita uma decisão intuitiva.

Prevenção de erros

As mensagens de erros são evitadas quando se preocupa com design.

Mensagem de Erro

Figura 6: Mensagem de Erro.

O design deve buscar eliminar situações propensas a erros e ações indesejáveis do usuário.

As mensagens costumam ser consideradas negativas pelo usuário, tendo o mesmo a certeza que errou, perdendo segurança em utiliza-lo, por isso as mensagens devem ter objetivo de direcionar, explicando claramente a ação realizada de forma errônea e o que deve ser feito de maneira corretiva.

Ênfase no reconhecimento

O reconhecimento permite ao usuário minimizar a carga de memória, tornando objetos, ações e opções visíveis.

 Reconhecimento

Figura 7: Reconhecimento.

As informações do sistema não devem ser lembradas e sim intuitivas, também visíveis e facilmente recuperáveis.

Flexibilidade e eficiência no uso

Existem níveis de usuários, os novatos e os avançados.

Atalhos

Figura 8: Atalhos.

Para os avançados, a busca por menus muitas vezes torna-se exaustiva, por isso a utilização de aceleradores, como atalhos no teclado, permite maior produtividade dos mais experientes.

Estética e projeto minimalistas

Diálogos não devem conter informação irrelevante ou raramente necessária, deve ser objetivo e claro.

Muita Informação.

Figura 9: Muita Informação.

As informações extras e excessivas diminuem a visibilidade e poluem a interação.

Auxílio ao reconhecimento, diagnóstico e recuperação de erros

Linguagem de código deve permanecer no código e não aparecerem para o usuário, ele apenas precisa saber o que fez de errado e retornar para corrigir e não sobre o banco de dados ou condições do código.

Informativo

Figura 10: Informativo.

A mensagem de erro deve indicar o problema com precisão e sugerir uma solução construtiva, não confundir o usuário, para que ele tenha medo de realizar ações no sistema.

Ajuda e documentação

Quando se investe em usabilidade, a documentação e ajuda perdem força, pois o próprio sistema é auto explicativo, porém, esses devem ser criado para apoio a necessidades.

Documentação

Figura 11: Documentação.

Nos casos onde o usuário optar em acessar informações de pesquisa ou manuais, esses devem estar atualizados, detalhados, ilustrados e objetivos, sempre focando no usuário.

CONCLUSÃO

A usabilidade pode ser definida pela capacidade do usuário em entender um software e interpreta-lo, não estando essa diretamente associada ao banco de dados ou linguagem utilizada no desenvolvimento.

Linguagens de desenvolvimento estão cada vez mais simples, ferramentas mais acessíveis e equipes cada vez menores, desenvolver um software já não é um desafio, mas desenvolver com qualidade, atendendo as expectativas de seus stakeholders ainda é complexo, mas é o que garante o diferencial de um produto no mercado.

As empresas, equipes ou indivíduos que pretendem desenvolver seus produtos em alicerces que possibilitem fácil manutenção e satisfação de todos stakeholders, investir um tempo em usabilidade através de ações simples, mas de grande importância, é fundamental, como defendido nesse post.

Veja também