Baixe o app para aproveitar ainda mais
Prévia do material em texto
DESENVOLVIMENTO DE SOFTWARE COM METODOLOGIAS ÁGEIS Nicolli Souza Rios Alves Métodos ágeis e usabilidade Objetivos de aprendizagem Ao final deste texto, você deve apresentar os seguintes aprendizados: Definir usabilidade e sua importância no desenvolvimento de software. Enunciar as metas de usabilidade e as heurísticas de Nielsen. Relacionar a usabilidade com as qualidades de software. Introdução O cenário atual de desenvolvimento de software é caracterizado pela ampla adoção de metodologias ágeis, as quais definem processos e introduzem práticas que abordam uma série de problemas enfrentados pelos usuários dos produtos. Apesar dos benefícios esperados, o de- senvolvimento ágil de software também é propenso a comprometer a usabilidade do produto e a qualidade de experiência do usuário devido à sua natureza orientada a entregas rápidas. Nesse contexto, é importante entender a importância da usabilidade, que determina o sucesso de um sistema na medida em que permite aos usuários completar uma tarefa com precisão e ter uma boa experiência ao usar o sistema. Neste capítulo, será apresentado o conceito de usabilidade, bem como seus elementos e sua importância ao longo do processo de desenvolvi- mento de software. Além disso, vamos definir os objetivos de usabilidade para desenvolver um produto interativo para os usuários e como eles se manifestam na prática. Em seguida, o conceito de avaliação heurística será apresentado, no intuito de inspecionar os problemas de usabilidade nos produtos e compreendê-los por meio de exemplos reais. Por fim, vamos investigar a relação entre usabilidade e qualidade no processo de desenvolvimento do software, visando entender como funciona o ciclo de vida de desenvolvimento da interação e como planejamos estudos de avaliação nos produtos por meio do framework DECIDE. 1 Usabilidade no desenvolvimento de software Software desempenha um papel tão importante que não somos mais capazes de administrar o mundo moderno sem ele. As infraestruturas e os serviços públicos são controlados por sistemas, e a maioria dos produtos elétricos inclui um computador e um software para controle. Além disso, os setores de fabricação e de distribuição industrial são totalmente informatizados, bem como o sistema fi nanceiro. O entretenimento, incluindo as indústrias da música, dos jogos de computador, do cinema e da televisão, demanda muitos software (SOMMERVILLE, 2011). Nesse contexto, a engenharia de software é uma disciplina essencial para manter o funcionamento da sociedade, fornecendo metodologias, técnicas e métodos para incentivar um desenvolvimento de software mais organizado, produtivo e de qualidade. Nos últimos anos, muito se tem discutido sobre como esse desenvolvimento e a melhoria de processos de software pode fornecer soluções mais rápidas e menos custosas. Nesse sentido, a metodologia ágil de desenvolvimento de software tem se tornado cada vez mais popular, uma vez que foca na interação contínua entre desenvolvedores e clientes. Após a conclusão da iteração, a equipe do projeto discute e busca soluções para os problemas descobertos na última iteração (SOHAIB; KHAN, 2010). Uma das preocupações do Manifesto Ágil, documento de base do desen- volvimento ágil de software, é priorizar indivíduos e interações e colaboração com o cliente sobre processos, ferramentas e negociação de contratos. O usuário, assim, passa a ser parte fundamental e integrante do processo de desenvolvimento do software, uma vez que a metodologia ágil se esforça para entregar o produto que ele realmente deseja, e que seja útil e de qualidade. Embora os métodos ágeis compartilhem alguns dos objetivos de usabilidade, há algumas diferenças entre eles. De qualquer forma, podem funcionar muito bem juntos (SOHAIB; KHAN, 2010). Assim, torna-se essencial entender o quão importante é trabalhar na construção de uma boa usabilidade para que os usuários consigam executar suas tarefas e tenham suas necessidades atendidas pelos produtos desenvolvidos pelas equipes ágeis. Nos anos 1970, quando se passou a prestar atenção nas necessidades e preferências dos usuários finais, descobriu-se que o design da interface do usuário seria uma peça importante da engenharia de software (ROSSON; CARROLL, 2002). À medida que o software deixou de ser utilizado apenas por profissionais de computação, os processos de instalação e personalização das aplicações passaram a ser mais simplificados. Depois, com o advento dos computadores pessoais, as pessoas passaram a instalar e gerenciar seus Métodos ágeis e usabilidade2 próprios software. Com a diversificação dos usuários finais, cada vez menos técnicos na área, deu-se início a uma era de comparação e avaliação quanto à usabilidade dos sistemas. Começou-se, então, a considerar fatores de qualidade como facilidade de aprendizado, facilidade de uso e satisfação do usuário ao utilizar determinado sistema. A verdade é que a usabilidade é apenas um dos aspectos da aceitabilidade do sistema (NIELSEN, 1994a), como mostra a Figura 1. Isso basicamente se refere a quão bom um sistema é para atender às necessidades e requisitos dos usuários e das partes interessadas. Essa aceitação geral é composta pela aceitabilidade social e pela aceitabilidade prática. Quando um sistema é dado como socialmente aceitável, pode-se analisar melhor sua aceitabilidade prática por meio de categorias tradicionais como custo, compatibilidade e confiabili- dade com os sistemas preexistentes. Além disso, pode-se investigar a utilidade (proveito) do sistema, que se refere ao conhecimento sobre se o sistema pode ser usado para atingir determinado objetivo. A utilidade (proveito) do sistema é composta por duas variáveis: utilidade (funcionalidade) e usabilidade. Figura 1. Atributos relacionados à aceitabilidade de um sistema. Fonte: Adaptada de Nielsen (1994a). Nielsen (2012) afirma que a usabilidade é um atributo de qualidade rela- cionado a quão fácil é utilizar as interfaces de usuário, definindo-a em cinco componentes de qualidade (INTERNATIONAL ORGANIZATION FOR STANDARDIZATION, 1997): 3Métodos ágeis e usabilidade 1. aprendizagem (fácil de aprender), que se refere à facilidade de executar alguma tarefa básica no primeiro uso do design; 2. eficiência (eficiente de usar), que se refere à velocidade com que se pode executar essas tarefas depois que se aprende sobre o design; 3. memorabilidade (fácil de lembrar), que se refere à facilidade de retornar ao design após um período sem utilizá-lo; 4. erros (poucos erros), que se refere à quantidade de erros, à sua gravidade e a quão fácil seria a recuperação; 5. satisfação (subjetivamente agradável), que se refere a quão agradável é utilizar o design. Na web, a usabilidade é questão de sobrevivência, uma vez que, se o usuário entra em um site e encontra dificuldade de usar e/ou encontrar informações, falta de clareza no que se pode fazer nele, ele simplesmente deixa o site e vai procurar outro. O usuário não costuma perder muito tempo tentando descobrir como utilizar uma interface. Investir em usabilidade em um projeto é como cortar pela metade gastos com treinamento e duplicar o número de transações que os funcionários podem executar por hora (NIELSEN, 2012). Nesse contexto, a usabilidade passou a fazer parte das etapas de requisitos e testes do processo de desenvolvimento de software. Com isso, foram desen- volvidos vários métodos experimentais e identificadas variáveis importantes de projeto, como complexidade de exibição e tamanho das sequências de comando (ROSSON; CARROLL, 2002). A partir daí, buscou-se papéis mais eficazes do desempenho humano dentro do processo de desenvolvimento. A interação humano-computador (IHC) é o que acontece quando um usuário humano e um sistema de computador, de forma geral, se reúnem para realizar algo. Ela está na intersecção entre as ciências sociais e comportamentais de um lado, e o computador e a tecnologia da informaçãode outro. Usabilidade é o aspecto do IHC dedicado a garantir que essa interação seja, entre outras coisas, eficaz, eficiente e satisfatória para o usuário. Assim, a IHC se preocupa em entender como as pessoas fazem uso de dispositivos e sistemas e como esses usos podem ser mais úteis e aproveitáveis. A IHC integra questões sobre ferramentas e métodos de desenvolvimento de software com questões sobre como verificar a usabilidade do software produzido (CARROLL, 2003). Como o próprio nome diz, a IHC é composta por três partes: Usuário: se refere a um usuário individual ou a um grupo trabalhando junto. É importante observar como os diferentes sistemas sensoriais das pessoas, como visão, audição e tato, transmitem informações. Vale res- Métodos ágeis e usabilidade4 saltar que os usuários criam diferentes concepções ou modelos mentais com base em suas interações, bem como o modo de aprender e manter o conhecimento. Além disso, diferenças culturais fazem diferença. Computador: se refere à qualquer tecnologia, desde computadores, sites e dispositivos móveis a computadores de grande escala. Interação: a IHC tenta assegurar que humanos e máquinas tenham uma relação e uma interação bem-sucedidas, apesar das diferenças óbvias entre eles. Dessa forma, tenta-se aplicar o conhecimento sobre os humanos e sobre os computadores para obter um sistema utilizável de forma viável na realidade quanto a questões de orçamento e cronograma. Os objetivos da IHC são produzir sistemas utilizáveis e seguros e torná-los funcionais. Para produzir sistemas de computador com boa usabilidade, os desenvolvedores devem tentar (ROGERS; SHARP; PREECE, 2013): compreender os fatores que determinam como as pessoas usam deter- minada tecnologia; desenvolver ferramentas e técnicas para possibilitar a criação de sis- temas adequados; atingir uma interação eficiente, eficaz e segura; colocar as pessoas primeiro lugar. A interface do usuário (user interface) é o ponto de IHC e comunicação em um dispositivo, que pode ser telas, teclados, mouse, aparência de uma área de trabalho, etc. A interface do usuário também pode ser a forma de interação de um usuário com uma aplicação ou um site. O objetivo de uma interface do usuário eficaz é tornar a experiência do usuário fácil e intuitiva, de forma a exigir o mínimo de esforço do usuário para obter o resultado desejado. As empresas geralmente investem esforço na interface do usuário para conseguir melhorar sua experiência geral. 5Métodos ágeis e usabilidade Para saber mais sobre a integração de usabilidade com métodos ágeis, digite, em seu motor de busca preferido, “Uma estratégia de apoio à institucionalização da usabilidade em ambientes de desenvolvimento ágil” e acesse o artigo de mesmo nome em que os autores apresentam uma proposta de estratégia de institucionalização da usabilidade visando apoiar a organização na realização de uma melhoria de seus processos. Tudo isso com base em uma integração dos conceitos de desenvolvimento e gestão da metodologia ágil, maturidade em usabilidade e gestão de pessoas. Para saber mais sobre IHC no geral, consulte o livro Design de interação: além da interação humano-computador, 3. ed., de Yvonne Rogers, Helen Sharp e Jennifer Preece. 2 Metas de usabilidade Faz parte do processo esclarecer o objetivo de querer desenvolver um produto interativo para os usuários. Para ajudar na defi nição dos objetivos, Rogers, Sharp e Preece (2013) recomendam a classifi cação do sistema quanto à usa- bilidade e às metas de experiência defi nidas para o usuário. Como vimos na seção anterior, a usabilidade se trata de assegurar que os produtos interativos sejam fáceis de aprender, eficazes de usar e agráveis para os usuários. Basicamente, a usabilidade é dividida nas seguintes metas, relacionadas aos atributos que vimos anteriormente (ROGERS; SHARP; PREECE, 2013). Eficaz de usar (eficácia). Essa é uma meta bastante geral e se refere a quanto um produto é bom em fazer o que deve fazer. Para checar se esse objetivo foi atingido, o designer deve se perguntar sobre a capa- cidade de o produto permitir que as pessoas aprendam, executem suas tarefas de forma eficiente, acessem as informações de que necessitam e comprem os produtos que desejam. Eficiente de usar (eficiência). Com base nessa meta, o designer deve verificar se os usuários podem manter um nível alto de produtividade depois de ter aprendido como usar o produto para realizar as tarefas. Ou seja, basicamente se refere ao modo como um produto oferece suporte aos usuários na realização de suas tarefas. Um exemplo são os sites de Métodos ágeis e usabilidade6 compras que salvam nossos dados para que não seja preciso inseri-los a cada novo pedido ou, até mesmo, para que seja possível fazer um pedido clicando em somente um botão (“Comprar com 1 clique”). Seguro de usar (segurança). Essa meta está relacionada à proteção do usuário quanto a condições perigosas e indesejáveis. Envolve dois aspectos. O primeiro se refere às condições em que as pessoas trabalham, como os operadores de raios X, por exemplo, que devem controlar o sistema de forma remota pelo risco associado à função. O segundo aspecto se refere à possibilidade de o produto ajudar qualquer tipo de usuário em qualquer situação, de forma que se evite perigos de executar alguma ação indesejada acidentalmente. Para isso, o produto deve evitar que o usuário cometa erros, reduzindo a chance de o usuário ativar botões e comandos errados, e, caso isso aconteça, possibilitar vários meios de recuperação. Além disso, é necessário que o produto inspire confiança suficiente para que o usuário não tenha medo de explorá-lo e experimente novas funções. Um exemplo são as caixas de mensagem que perguntam se realmente queremos confirmar uma operação. Isso nos dá mais uma chance de reconsiderar algum comando feito ou realizado até mesmo por engano. Para checar se essa meta foi atingida, o designer deve se perguntar qual a média de erros possíveis que os usuários podem enfrentar ao usar o produto e quais as medidas disponíveis para possibilitar a recuperação de forma fácil. Ter boa utilidade (utilidade). Essa meta se refere à medida que o produto fornece o tipo certo de funcionalidade para que os usuários possam fazer o que precisam ou querem. Podemos citar como exemplo de um produto de alta utilidade é um software que permite ao contador fazer diversos cálculos contábeis. Para checar se essa meta foi atingida, o designer deve se perguntar se o produto fornece um conjunto apropriado de funcionalidades para permitir que os usuários executem as tarefas da forma que desejam. Fácil de aprender a usar (capacidade de aprendizagem). Essa meta se refere a quão fácil é aprender a usar um produto. Deve-se levar em consideração que os usuários não querem perder muito tempo para começar a usar uma ferramenta. Além disso, deve-se verificar se há desperdício quando um produto oferece uma grande quantidade de funcionalidades que a maioria dos usuários não consegue usar ou não quer perder tempo necessário para aprender a usar. O designer deve se perguntar se o usuário pode descobrir como usar o produto explorando 7Métodos ágeis e usabilidade a interface e testando diferentes ações e também se é difícil aprender a usar essas funcionalidades, para checar se essa meta foi atingida. Fácil de lembrar como usar (memorização). Essa meta trata-se de quão fácil é lembrar como utilizar o produto depois que se aprende. Essa meta torna-se ainda mais importante em produtos que geralmente são pouco utilizados, pois os usuários não devem ter que reaprender a utilizá-lo toda vez que precisar usar o produto. Um exemplo para atingir essa meta, são aqueles produtos que usar ícones significativos ou utilizam botões equivalentes organizados em categorias para aju- dar o usuário a encontrar o que quer. Para verificar se essa meta foi atingida, o designer deve se perguntaro tipo de suporte de interface que o produto oferece com o intuito de ajudar os usuários a lembrar em como executar tarefas, especialmente aqueles produtos que não são utilizados com muita frequência. Essas metas são utilizadas para avaliar como um determinado produto pode melhorar (ou não) o desempenho de um usuário, como o tempo necessário para um usuário finalizar uma tarefa (eficiência), tempo de aprendizagem de uma tarefa (capacidade de aprendizagem), entre outros. Dessa forma, conseguimos medir como a produtividade cresceu ou como o aprendizado de um usuário melhorou com o tempo. Para inspecionar problemas de usabilidade nos sistemas, foi criado um método de inspeção chamado avaliação heurística. Ao avaliar esses problemas, especialistas tomam como base heurísticas, que é um conjunto de princípios de usabilidade, para checar se os elementos da interface do usuário estão em conformidade com princípios testados e comprovados (NIELSEN, 1994b). Para realizar essa avaliação heurística, cada avaliador faz de forma indivi- dual a inspeção da interface. Depois que ele termina, é que pode se comunicar com outro avaliador para discutir suas conclusões e chegar num consenso. Tudo isso para garantir independência e imparcialidade entre as avaliações. É recomendado também chamar um “experimentador” para ser observado como suas ações estão relacionadas aos problemas de usabilidade na inter- face, enquanto os avaliadores tomam nota sobre. Os avaliadores devem ser específicos e fornecer detalhes ao relatar os problemas. A avaliação heurística não fornece um meio sistemático para gerar correções com base no relatório dos avaliadores. Por outro lado, como essa avaliação tem o intuito de identificar cada problema de usabilidade existente no produto, se torna fácil gerar um design revisado com base nos princípios de usabilidade estabelecidos (NIELSEN; MOLICH, 1990). Além disso, a maioria desses Métodos ágeis e usabilidade8 problemas identificados possuem correções bastante claras logo quando são identificados. Vamos, a seguir, conhecer as 10 heurísticas para design de interação e como aplicá-las (NIELSEN, 1994b). 1. Visibilidade do status do sistema: refere-se ao sistema que deve manter os usuários sempre informados sobre o que está acontecendo por meio de feedback adequado (pode ser áudio, tátil ou visual), desde que seja em um prazo razoável. É importante que os usuários compreendam que o sistema recebeu sua solicitação, a exemplo do som que resulta de um like no Facebook, de um ícone de carregando na tela, da mudança de cor, etc. Um exemplo comum também é o status do upload de arquivos do Google Drive, como mostra a Figura 2. Figura 2. Exemplo de feedback relacionado ao princípio de visibilidade do status do sistema. 9Métodos ágeis e usabilidade 2. Compatibilidade entre o sistema e o mundo real: o sistema deve falar o mesmo idioma dos usuários, utilizando palavras, conceitos e frases familiares para eles. O ideal é refazer todas as partes do design que podem estar confusas para o usuário, de forma que se torne evidente o que o usuário pode fazer com aquilo. Além de evitar gírias e jargões, o ideal é usar analogias do mundo real. Um exemplo bastante comum é quando um arquivo vai parar na lixeira do computador após sua exclusão. Um outro exemplo desse princípio pode ser visto em um aplicativo de leitura de livros que traz a metáfora de prateleiras de madeira de uma biblioteca, como mostra a Figura 3. Figura 3. Exemplo do princípio de compatibilidade entre o sistema e o mundo real. 3. Controle e liberdade para o usuário: esse princípio trata da liberdade do usuário em navegar no sistema e executar o que desejar, mas também inclui a possibilidade de desfazer qualquer ação realizada por engano. Esse princípio está diretamente ligado ao suporte de desfazer e refazer ações do usuário. Um exemplo muito comum é quando deletamos algum e-mail e aparece uma mensagem na tela perguntando se desejamos desfazer a operação. Outro exemplo comum é quando um usuário Métodos ágeis e usabilidade10 desiste de postar algo no Facebook ou, até mesmo, quando clica sem querer para fechar a criação de um post e aparece uma mensagem com algumas opções na tela, como mostra a Figura 4. Figura 4. Exemplo de checagem se o usuário clicar em “Cancelar” por engano. 4. Consistência e padrões: refere-se à consistência que o sistema deve ter e aos padrões estabelecidos. Os usuários não devem se perguntar se diferentes palavras, ações ou situações significam a mesma coisa. O design do sistema deve ser suficientemente consistente para que não haja esse tipo de dúvida. Por exemplo, o esquema de cores dos botões em uma ferramenta deve ser padronizado para que o usuário não fique confuso. Outro exemplo comum é o site do Gmail diferenciar os e-mails já lidos dos não lidos, como mostra a Figura 5. 11Métodos ágeis e usabilidade Figura 5. Exemplo do princípio de consistência e padrões. 5. Prevenção de erros: o sistema deve evitar que os usuários cometam erros por meio de um design cuidadoso e deve notificá-los caso eles ocorram. O ideal é eliminar as condições que podem ser propensas a erros ou, até mesmo, apresentar uma janela de confirmação ao usuário antes de realizar a ação de fato. Um exemplo muito comum desse princípio é quando tentamos preencher o formulário e não conseguimos continuar porque não informamos o CPF (Cadastro de Pessoa Física) ou o telefone no formato correto. Outro exemplo é quando fazemos uma busca no Google e digitamos uma palavra errada e ele nos mostra opções com a palavra escrita corretamente, como mostra a Figura 6. Figura 6. Exemplo do princípio de prevenção de erros em site de motor de busca. Métodos ágeis e usabilidade12 6. Reconhecimento em vez de memorização: a ideia desse princípio é tornar os objetos, as ações e as opções visíveis no intuito de minimizar a memorização do usuário. O usuário não tem que lembrar de tudo em uma interface. As instruções no sistema devem ser visíveis o suficiente quando o usuário precisar. Um exemplo é quando um site de compras recomenda produtos com base em buscas anteriores. Outro exemplo é quando iniciamos uma busca e o site sugere vários resultados supondo o que estamos digitando, como mostra a Figura 7. Figura 7. Exemplo do princípio de reconhecimento em vez de memorização. 7. Eficiência e flexibilidade de uso: esse princípio se refere a quão flexível uma interface deve ser para transformar um usuário novato em um usuário avançado. Um exemplo comum desse princípio são as opções de instalação padrão ou personalizada quando vamos instalar um novo software. Os usuários mais avançados vão optar pela personalizada para evitar instalar serviços desnecessários. A Figura 8 mostra outro exemplo comum, quando temos opções avançadas disponíveis escon- didas em um botão. 13Métodos ágeis e usabilidade Figura 8. Exemplo do princípio de eficiência e flexibilidade de uso. 8. Estética e design minimalistas: é importante lembrar que a interface deve ter apenas o necessário e o que é relevante. Quando há coisas desneces- sárias, tende a diminuir a visibilidade relativa ao competir com aquilo que realmente é informação importante. Por isso, deve ser evitado. Um exemplo bastante conhecido é a página inicial do Google. Outro exemplo famoso de minimalismo é o site da Apple, que só apresenta informações relevantes sobre determinado produto, como mostra a Figura 9. Figura 9. Exemplo do princípio de estética e design minimalistas. 9. Ajudar o usuário a reconhecer, diagnosticar e recuperar erros: prevenir erros é importante, mas não o suficiente. Assim, o sistema deve auxiliar Métodos ágeis e usabilidade14 o usuário a reconhecer, diagnosticar e encontrar soluções para possíveis problemas. Mensagens de erro ao inserir dados errados de login são exemplos típicos desse princípio, conforme a Figura 10. Devem ser simples e claras, indicando claramente o problema e potenciais soluções.Figura 10. Exemplo do princípio de ajudar o usuário a reconhecer, diagnosticar e recuperar erros. 10. Ajuda e documentação: esse princípio está relacionado à disponibilidade de documentação, mesmo que a interface seja fácil de utilizar. Além disso, qualquer informação deve ser fácil de ser buscada e tudo deve ser atualizado com frequência. A Figura 11 mostra um exemplo de docu- mentação disponível para executar diversas tarefas no site do Google. Figura 11. Exemplo de princípio de ajuda e documentação. 15Métodos ágeis e usabilidade 3 Usabilidade e qualidade de software Como vimos anteriormente, usabilidade é qualidade de uso de um produto. A ISO 9241-11:2018 defi ne a usabilidade como “A medida em que um produto pode ser usado por usuários especifi cados para conseguir realizar tarefas especifi cadas, com efi cácia, efi ciência e satisfação em um contexto específi co de uso” (INTERNATIONAL ORGANIZATION FOR STANDARDIZATION, 2018, documento on-line). Nesse contexto, os quatro elementos que defi nem a usabilidade são (INTERNATIONAL ORGANIZATION FOR STANDAR- DIZATION, 2018): 1. tanto os usuários quanto os objetivos devem ser identificados de forma explícita; 2. o contexto de uso desejado deve ser identificado e compreendido; 3. o usuário pode usar o sistema em questão; 4. satisfazer essas metas estabelecidas. Portanto, usabilidade é a extensão ou o nível em que esses critérios são atendidos. Nesse contexto, fornecer qualidade de uso é o objetivo de de- senvolver um sistema interativo para atender às necessidades dos usuários (BEVAN, 1995). Um sistema interativo basicamente apoia a comunicação e a interação entre as pessoas no dia a dia e em seus trabalhos. Além disso, o foco do design de interação é desenvolver experiências do usuário por meio da promoção de uso de diferentes métodos, técnicas e estruturas (ROGERS; SHARP; PREECE, 2013). Antes de começar a trabalhar no design da interação, é necessário entender quais são as atividades envolvidas nessa tarefa. Um modelo de ciclo de vida mostra esse conjunto de atividades e a relação entre elas. Lembrando que cada empresa deve adicionar detalhes ao modelo com base em suas necessidades. A Figura 12 apresenta as atividades de desenvolvimento da interação e seus relacionamentos entre si. Esse modelo de ciclo de vida foi desenvolvido por Rogers, Sharp e Preece (2013) e traz quatro atividades de design de interação e os três princípios centrados no usuário. Métodos ágeis e usabilidade16 Figura 12. Um modelo de ciclo de vida de design de interação simples. Fonte: Rogers, Sharp e Preece (2013, p. 332). Sobre essas atividades, temos o seguinte. Estabelecimento de requisitos. Essa atividade é muito importante para o design de interação. É necessário saber qual é o público-alvo e que tipo de suporte um produto interativo pode fornecer com utilidade. Essas necessidades formam a base dos requisitos do produto e sustentam o design e o desenvolvimento que vem na sequência. Design de alternativas. Essa é a atividade principal e se refere à sugestão de ideias para atender aos requisitos definidos. Prototipação. A melhor forma de os usuários avaliarem os designs dos produtos interativos é por meio da interação com eles, e isso pode ser feito pelo uso de protótipos. Avaliação. Nessa fase, é mensurada a usabilidade e a aceitabilidade do design com base em critérios de usabilidade e experiência do usuário. É importante ressaltar que, dependendo do feedback das avaliações, a equipe pode voltar para atividade de requisitos a fim de melhorá-los. O produto será atingido de forma evolutiva, e o que vai definir o número de vezes que esse ciclo acontece até chegar nele é a quantidade de recursos disponíveis para isso. Lembrando que, independentemente desse número, a última atividade do ciclo sempre será a atividade de avaliação, uma vez que ela assegura que o produto esteja realmente atendendo aos critérios de experiência e usabilidade definidos para o usuário. Nesse contexto, Preece et al. (2002) propuseram um framework chamado de DECIDE, cujo objetivo é orientar os estudos de avaliação e a definição 17Métodos ágeis e usabilidade de questões necessárias. Esse framework fornece, basicamente, a seguinte lista de verificação. Determinar os objetivos gerais da avaliação (determine). A primeira etapa ao planejar uma avaliação deve ser a definição de objetivos. Para isso, procura-se responder questões para saber quais seriam os objetivos da avaliação, quem a quer e por quê. Um exemplo é checar se o designer entendeu as reais necessidades do usuário. Explorar as perguntas específicas a serem respondidas (explore). Para transformar esses objetivos definidos em operacionais, devem ser iden- tificadas as questões que devem ser respondidas para isso. Um exemplo é a verificação do motivo por que as pessoas preferem comprar celular nas lojas físicas a pela internet. Deve-se checar se o design permite que os usuários realizem suas compras ou se há algum problema envolvido. Escolha o paradigma e as técnicas de avaliação para respondê-las (choose). Depois que os objetivos e as questões foram identificados, a escolha do paradigma vai determinar as técnicas que serão utilizadas para responder essas questões. Além disso, também deve levar em consideração as questões práticas e éticas. Identifique as questões práticas que devem ser abordadas (identifiy). Algu- mas questões que devem ser consideradas abrangem usuários, instalações e equipamentos, cronogramas, orçamentos e experiência dos avaliadores. Dependendo da disponibilidade de recursos, os compromissos podem envolver a adaptação ou a substituição de técnicas. Assim, nesse passo, podemos identificar quem seriam os potenciais usuários, como seriam convidados, como e quando seria feita a avaliação, entre outras questões. Decida como lidar com as questões éticas (decide). Nesse passo, trata- -se das questões éticas, como a proteção de privacidade das pessoas, a anonimização dos dados coletados, a coleta de dados somente quando permitido, etc. Avalie, interprete e apresente os dados (evaluate). É importante tomar decisões sobre quais dados serão coletados, como eles serão analisados e como apresentar as descobertas à equipe de desenvolvimento. Os métodos ágeis visam superar as barreiras de usabilidade no desenvolvi- mento tradicional, mas, como são orientados à entrega rápida, é preciso tomar cuidado para não prejudicar a qualidade da experiência do usuário. No modelo ágil, a tendência é que os programadores ignorem o design da interação e a usabilidade nas sprints, deixando que sejam um efeito colateral da codificação. Métodos ágeis e usabilidade18 Nesse contexto, é importante entender a importância do investimento de esforço na usabilidade para que os usuários consigam executar as tarefas desejadas e o produto atenda às suas necessidades. BEVAN, N. Usability is quality of use. In: INTERNATIONAL CONFERENCE ON HUMAN COMPUTER INTERACTION, 6., Yokohama, Anais […]. Yokohama: Elsevier, 1995. p. 349–354. CARROLL, J. M. Introduction: toward a multidisciplinary science of human-computer interaction. In: _____________. HCI Models, Theories, and Frameworks. Philadelphia: Elsevier, 2003. p. 1–9. INTERNATIONAL ORGANIZATION FOR STANDARDIZATION. ISO 9241-11:2018: ergono- mics of human-system interaction — usability, definitions and concepts. Geneva: ISO, 2018. (E-book). NIELSEN, J. Enhancing the explanatory power of usability heuristics. 1994b. Disponí- vel em: http://www.portaldeconhecimentos.org.br/index.php/por/content/down- load/47249/608527/file/Nielsen1994.pdf. Acesso em: 4 set. 2020. NIELSEN, J. Usability 101: introduction to usability. 2012. Disponível em: https://www. nngroup.com/articles/usability-101-introduction-to-usability/. Acesso em: 4 set. 2020 NIELSEN, J. Usability engineering. Burlington: Morgan Kaufmann, 1994a. NIELSEN, J.; MOLICH, R. Heuristic evaluation of user interfaces. In: PROCEEDINGSOF THE ACM CHI 90 HUMAN FACTORS IN COMPUTING SYSTEMS CONFERENCE, 1990. Anais […]. 1990. Seattle: ACM Press, 1990. p. 249–256. ROSSON, M. B.; CARROLL, J. M. Usability engineering: scenario-based development of human-computer interaction. Burlington Morgan Kaufmann, 2002. SOHAIB, O.; KHAN, K. Integrating usability engineering and agile software development: A literature review. In: INTERNATIONAL CONFERENCE ON COMPUTER DESIGN AND APPLICATIONS, 2010, Qinhuangdao. Anais […]. Qinhuangdao: IEEE, 2010. SOMMERVILLE, I. Software engineering. 9th ed. Boston: Addison-Wesley, 2011. Leituras recomendadas BARBOSA, S. D. J.; SILVA, B. S. da. Interação humano-computador. Rio de Janeiro: Elsevier Brasil, 2010. LÖWGREN, J.; STOLTERMAN, E. Thoughtful interaction design: a design perspective on information technology. Cambridge: MIT Press, 2004. ROGERS, Y.; SHARP, H.; PREECE, J. Design de interação: além da interação humano- -computador. 3. ed. Porto Alegre: Bookman, 2013. 19Métodos ágeis e usabilidade Os links para sites da web fornecidos neste capítulo foram todos testados, e seu fun- cionamento foi comprovado no momento da publicação do material. No entanto, a rede é extremamente dinâmica; suas páginas estão constantemente mudando de local e conteúdo. Assim, os editores declaram não ter qualquer responsabilidade sobre qualidade, precisão ou integralidade das informações referidas em tais links. Métodos ágeis e usabilidade20
Compartilhar