Incorporando Conceitos de UX na Engenharia de Requisitos

Quando falamos em Engenharia de requisitos, nos vem à mente uma de suas muitas definições: é uma parte importante do processo de desenvolvimento de softwares, na qual o engenheiro de requisitos e o analista de negócio, juntamente com engenheiro de sistema ou desenvolvedor de software, identificam as necessidades ou requisitos de um cliente. Com isso, algumas atividades são intrínsecas à engenharia de requisitos. São elas: em quais aspectos o sistema é útil ao negócio (estudo de viabilidade), descoberta de requisitos (elicitação e análise), conversão de tais requisitos em um formato padrão (especificação) e descoberta se tais requisitos realmente definem o sistema tal como o usuário deseja (validação). 

Sendo assim, pode-se dizer que os requisitos servem como base para o planejamento de um projeto, bem como para o seu gerenciamento de riscos, controle de mudanças e até testes de aceitação. Requisitos mal organizados, relatados de forma inadequada e sem expectativas realistas são diretamente responsáveis pelos problemas e falhas nos projetos de softwares. Por isso, conclui-se que o serviço de engenharia de requisitos é um processo que gerencia todas as exigências para que um sistema seja desenvolvido e sempre se mantenha alinhado com as necessidades e demandas dos usuários.

Para que tudo isso seja posto em prática, muitas técnicas podem ser usadas, como entrevistas e questionários entre os interessados, observação do ambiente de trabalho em que ele será aplicado, simulações junto aos usuários finais, etc.

Dessa forma, ao coletar com o cliente ou usuário todas as informações referentes a como ele espera que o sistema se comporte, que aparência ter, que problemas vai resolver, dentre outras coisas, é gerado um documento de requisitos, que em suma, possui muitos artefatos que vão responder de modo satisfatório todas essas problemáticas. Alguns dos artefatos contidos nesse documento são: casos de uso, diagramas de classes, tabelas e outros tipos que ajudam entender o software e requisitos e documentos de projeto.

No entanto, a área da T.I avança a passos largos e nota-se que essa definição tem ficado rasa. Isso porque a experiência do usuário conta muito para que suas necessidades sejam atendidas. Por exemplo, pode ser que um cliente entre em uma loja e peça café. Se o atendente só entregar o café, estará cumprindo com os requisitos do cliente, ou seja, de querer café. Mas se o atendente se preocupar em fazer algumas perguntas, vai conseguir elicitar as necessidades dessa requisição, a saber: com açúcar ou não, descafeinado ou não, mocca, com leite, etc. Por isso, integrar UX ao conceito já existente de Engenharia de Requisitos pode ser decisivo para o sucesso de uma aplicação. Com isso, chegamos à questão: O que é UX? Para quê serve?

 Ao conceituar o que é UX, temos de entender a sigla primeiro. UX é a abreviação de User Experience, ou, em português, Experiência do Usuário. Ou seja, UX é uma estratégia de negócio que tem como objetivo entregar experiências melhores aos usuários de serviços e produtos digitais ou físicos. A ideia por trás dessa estratégia é garantir que o uso de sistemas de softwares e aplicativos, por exemplo, aconteçam de modo tranquilo e sem problemas, obstáculos ou dificuldades. Com isso, gera-se muitos benefícios ao se adotar tal estratégia, como por exemplo, soluções mais assertivas no que diz respeito a atender as necessidades dos clientes, aumento da satisfação dos mesmos, percepção de valor dos produtos melhorada, melhora na imagem da empresa, maior migração de novos clientes e assim por diante.

Devemos primeiramente buscar entender, por meio de entrevistas com o usuário (cliente), o que ele espera que o sistema faça seguindo a lógica COMO, QUANDO, ONDE, QUEM, O QUÊ e POR QUÊ:

COMO

  • Como o cliente vai usar esse recurso?
  • Como podemos atender a essa necessidade comercial?

QUANDO

  • Quando esse sistema será usado?
  • Quando estaremos prontos para começar?

ONDE

  • Onde o processo começa?
  • Onde o usuário acessaria esse sistema?

QUEM

  • Quem vai usar esse sistema?
  • Quem será o responsável pelo sistema

O QUÊ

  • O que esse sistema precisa fazer?
  • Qual é o resultado final de fazer isso?

POR QUÊ

  • Esse sistema atende às necessidades de negócios e resolve o problema que estamos tentando resolver?
  • Qual o benefício que esse sistema traz?
  • Qual é o seu objetivo?
  • Como esse sistema te afetaria?

Essas perguntas modelo, além de outras bem pensadas, além da visão do user centered design, se coloca o usuário, ser humano no centro das atenções, no foco, com o intuito de incluir no processo de desenvolvimento o usuário dessa futura aplicação, o que gera conexão com o mesmo.

Somente com essa preocupação centrada no usuário se pode começar a pensar em uma definição de requisitos de uma solução digital que venha atender essas demandas, seja através de um produto ou serviço simples, fácil de usar, de rápido aprendizado, através de uma interface útil, funcional e desejável e todos estes conceitos envolvidos nas práticas de UX e UI Design, mas principalmente que entenda e inclua o usuário nesse processo.

Com isso, a engenharia de requisitos muda também sua definição, que passa a incluir, além do engenheiro de requisitos, o analista de negócios e o designer UX, juntamente com desenvolvedores de software, para que os mesmos analisem as informações levantadas em pesquisa sobre um usuário e/ou cliente e determinado contexto de uso e com base nessas informações identifiquem os requisitos de um software que tenha por objetivo atender as demandas desse usuário.

 Ao alinhar os dois conceitos, muitas técnicas e métodos podem ajudar os desenvolvedores a identificar os requisitos exatos que o usuário deseja. Com base na pesquisa de Rodrigues, Pilar e Ignácio (2020), algumas das técnicas usadas no Brasil mais viáveis e efetivas são:

  • Desk research: A desk research, também conhecida como pesquisa de dados secundários, é uma técnica que usa dados existentes e estão disponíveis por meio de publicação de artigos de pesquisa e outros documentos semelhantes, como jornais e revistas.
  • Entrevistas: Essa técnica pode ser aplicada no contexto da User Experience, quando as pessoas usuárias são entrevistadas sobre a experiência de uso de um produto
  • Observação: A observação é uma técnica onde o pesquisador observa silenciosamente os comportamentos e na maioria das vezes, interfere minimamente no processo do usuário.
  • Teste de usabilidade: O teste de usabilidade consiste no processo do pesquisador acompanhar o usuário e aprender como ele está usando o seu produto. Quando se testa a usabilidade é possível identificar as dificuldades e problemas que os usuários possam ter no uso dos produtos.

Com isso, percebe-se que é muito importante que durante o processo de desenvolvimento de um software o processo de levantamento de requisitos esteja alinhado com a User Experience e a melhor forma disso acontecer é por meio da aplicação da Engenharia de Requisitos atrelados à aplicação das técnicas de UX durante todo o ciclo de desenvolvimento do software.

Comentários