Usabilidade no desenvolvimento ágil


Outro sábado comentaram que se vê por aí poucos artigos sobre usabilidade e desenvolvimento ágil. Foi aí que me lembrei que havia escrito justamente sobre o tema no trabalho final da disciplina de usabilidade, do Caio. Fiz uns ajustes que ele havia recomendado e publico abaixo o artigo no aguardo de comentários.

Sumário

Desde o lançamento do Manifesto Ágil, em 2001, os tradicionais processos de desenvolvimento de software vêem modificando-se e adaptando-se às necessidades do mercado e das empresas visando produtos de qualidade e retorno dos investimentos. Aliado a este cenário, o design de interação desponta com metas de usabilidade e experiência do usuário que buscam satisfação das pessoas por meio de programas feitos com design centrado na humanidade. Neste contexto, ressaltamos as interceções do método ágil de desenvolvimento de software e o design de interação, analisamos como o design de interação pode aumentar o retorno de investimentos em projetos de software com métodos ágeis a partir da revisão da literatura e concluímos apontando algumas práticas que podem ser incorporadas pelas empresas de pequeno e médio porte.

Palavras chave: usabilidade, retorno do investimento, metodologias ágeis, design de interação, design centrado no usuário

Introdução

Desde o lançamento do Manifesto Ágil, em 2001, os tradicionais processos de desenvolvimento de software vêem modificando-se e adaptando-se às necessidades do mercado e das empresas visando produtos de qualidade e retorno dos investimentos. Aliado a este cenário, o design de interação desponta com metas de usabilidade e experiência do usuário que buscam satisfação das pessoas por meio de programas feitos com design centrado na humanidade. Neste contexto, ressaltamos as interceções do método ágil de desenvolvimento de software e o design de interação, analisamos como o design de interação pode aumentar o retorno de investimentos em projetos de software com métodos ágeis a partir da revisão da literatura e concluímos apontando algumas práticas que podem ser incorporadas pelas empresas de pequeno e médio porte.

O Manifesto Ágil afirma que o desenvolvimento de software a partir de então valorizaria “indivíduos e interações mais que processos e ferramentas, software em funcionamento mais que documentação abrangente, colaboração com o cliente mais que negociação de contratos, respostas a mudanças mais que seguir um plano”. De início percebe-se que o foco deixa de estar somente no sistema e passa a abranger também as pessoas. Uma das principais diferenças do método ágil são os vários ciclos curtos de produção (sprints) que englobam tudo envolvido no projeto, desde os requerimentos à verificação e lançamento. De fato, o primeiro mandamento do manifesto ágil é que “a maior prioridade é satisfazer o cliente por meio da entrega contínua e adiantada de software agregando valor à ele”. Outras características do método ágil são; estórias (stories) “que são utilizadas para descrever elementos chave do sistema na forma de tarefas do usuário” (Nielsen, 2009, p.11); o backlog que é uma “coleção das estórias que então são priorizadas juntamente pelos membros do time de desenvolvimento e o cliente”(Nielsen, 2009, p.11) e compõe os ciclos de produção (sprints) que são representados em um quadro (também conhecido como burndown chart). Durante o desenvolvimento a equipe se comunica diariamente (scrums) e avalia (Test Driven Development) cada ciclo (sprint), quando também é lançada uma nova versão do software. Por fim, há o tom de inovação do spike “um experimento, como uma nova tecnologia, que permite aos desenvolvedores a aprender sobre algo desconhecido nas estórias dos usuários (user story)” (Nielsen, 2009, p.15).

Os métodos ágeis começaram a se destacar pela entrega rápida dos softwares. De fato, com base em respostas em pesquisas realizadas pelo Norman Nielson Group em duas conferências em São Francisco nos Estados Unidos e em Melbourne na Austrária, “os participantes afirmaram que mais de 40% dos projetos trabalhados no ano anterior utilizavam-se de metodologias ágeis” (Nielsen, 2009, p.6). Mas ainda assim, algumas vezes, “o produto resultante parecia ter características e funcionalidades que o usuário final não precisava ou não se importava com elas ao mesmo tempo em que outras funcionalidades faltavam” (Patton, p.2, 2002), ou seja, o desenvolvimento ainda era focado no sistema. Vivemos no paradoxo de que “a tecnologia oferece o potencial para tornar a vida mais fácil e agradável; cada nova tecnologia oferece maiores benefícios. Ao mesmo tempo surgem complexidades adicionais para aumentar nossas dificuldades” (Norman, p. 53, 2006). O excessivo foco na funcionalidade encontrado nos doze mandamentos do Manifesto Ágil traz essa preocupação, expressa por Norman.

Afinal de contas queremos softwares com diversas funcionalidades não visíveis, ou difíceis de usar, ou um programa simples com poucas funções que seguem as metas de usabilidade como; eficiência, eficácia, segurança, utilidade, facilidade de aprendizagem e facilidade de se lembrar como se usa (Preece, p.35, 2008)? O fato é que “a principal ameaça do desenvolvimento ágil para a qualidade do sistema vem do fato de que é um método proposto por programadores que tratam principalmente o lado da implementação do desenvolvimento sistema” (Nielsen, 2009, p.5). Ou seja, devido à facilidade de implementação oferecida pelo desenvolvimento modular alguns programadores, empresas e clientes sofrem do que Norman (2006) chama de “creaping featurism”, “uma tendência insidiosa de aumentar o número de recursos de que dispõe um dispositivo, por exemplo, de tarefas que um programa pode executar, aumentando esse número muito além do que seria razoável” (Nornam, p.206, 2006). Além de superar essa tendência é preciso notar que “já não é mais suficiente entregar produtos que possuem excelência técnica – os produtos também precisam ser fáceis de usar e de se encaixar nos trabalhos e práticas dos consumidores e usuários profissionais” (Bevan, p.1, 1999,). Dito isso, nota-se que a pesar do Manifesto Ágil ressaltar a importância da interação e do funcionamento dos sistemas a usabilidade não foi abordada como um princípio ou valor que deve ser inerente ao software produzido.

Neste contexto, o designer de interação passou a ser uma peça chave nas equipes pois “aplicando os fatores humanos no design inicial pode-se reduzir um redesign extenso, a manutenção, o suporte aos usuários, o que pode aumentar o lucro substancialmente” (Aaron, p.4, 2002). Ainda que a usabilidade não seja um dos princípios do manifesto ágil, a interação é, o que possibilita a participação dos designers de interação desde o início do projeto inserindo nos sprints o ciclo iterativo do processo de design-avaliação-redesign.

Software de alta qualidade com bom preço e satisfação dos usuários

A principal questão enfrentada pelas empresas tornou-se como aliar os princípios de usabilidade – eficiência, eficácia, segurança, utilidade, facilidade de aprendizagem e facilidade de se lembrar como se usa (Preece, p.35, 2008) – nas metodologias ágeis garantindo um retorno de investimento. “A partir de dados coletados em 863 projetos de design que incluíam atividades de usabilidade (…) chegou-se a conclusão de que em média 10% do orçamento dos projetos eram destinados à usabilidade (…) valor que dobrava o número de usuários de um sistema” (Nielsen, 2003). As pesquisas realizadas pelo Nielsen and Norman Group foram de grande valia para que cada vez mais empresas agregassem a usabilidade a seus projetos.

Mesmo assim “desenvolvedores devem determinar técnicas apropriadas para o desenvolvimento de interface dos usuários antes do projeto para obter resultados otimizados e facilitar projeções de análise de custos” (Aaron, p.15, 2002). E nessa projeção ressalta-se a importância da usabilidade ser trabalhada por um profissional da área desde o estágio inicial do projeto. Pois, “em muitos casos se tentássemos praticar o design centrado no usuário nossa empresa seria acusada de remexer no mesmo material que já foi discutido pelo marketing e/ou a diretoria do projeto” (Patton,p.4, 2002), o que demonstra que para enfrentar a resistência de algumas empresas é preciso demonstrar o retorno do investimento junto com a proposta de usabilidade. Preparar um bom material que ressalte que “análises de custo benefício mostram retornos saudáveis e consistentes nos dólares investidos em usabilidade.

Na medida em que mais empresas entendem os benefícios significantes da usabilidade e fazem a justificação de custos cuidadosamente, as técnicas de usabilidade se tornarão padrão” (Aaron, p.15, 2002). Este foi o caso da Tomax Technologies que conseguiu “provar que design centrado no usuário e programação ágil são de fato uma combinação potente que leva a entregas em tempo, alta qualidade e finalmente usuários satisfeitos” (Patton, p.4, 2002). Após algumas tentativas frustradas a empresa chegou no seguinte modelo de especificação de requisitos do sistema; primeiramente identificar os participantes (equipe e cliente), depois livrar-se de pré-concepções para então rever o projeto. Feito isso seguir para a definição dos papéis dos usuários e seus modelos e a definição de tarefas e modelos de tarefas para então definir de contextos de interação e detalhar as tarefas dos usuários.

Por fim, criavam um protótipo abstrato do projeto e uma wireframe da interface do usuário para então testar os contextos de interação. No processo identificaram que “um desenvolvimento centrado nos usuários implica em descobrir muitas coisas sobre os mesmos e suas tarefas e utilizar essas informações para alimentar o design” (Preece, p. 299, 2008). Mas a mudança foi gradual pois, “as pessoas estavam acostumadas com uma pessoa indo para uma sala fechada para escrever especificações funcionais e não este processo longo e colaborativo” (Patton, p.5, 2002). É importante ressaltar que este processo longo citado é de dois dias no máximo de acordo com o próprio autor. Mas, de fato, se comparado com o modelo feito por uma pessoa em uma tarde dois dias equivalem a três vezes mais de tempo gasto. Mesmo assim Patton (p.5, 2002) sublinha que “ainda que a colaboração em um grupo grande fosse cansativa, quando terminam o volume de conhecimento tácito do grupo é insubstituível. Todos entenderam quem são os usuários e quais são seus objetivos”. Observa-se que novamente defende-se o design centrado no usuário desde o estágio inicial do desenvolvimento do projeto.

Sublinha-se que “métodos ágeis oferecem muitas oportunidades para prever possíveis problemas de usabilidade que os métodos tradicionais de desenvolvimento impediam no passado” (Nielsen, 2009, p.6). Ou seja, os métodos ágeis possibilitam esta intervenção do profissional desde o estágio inicial, enquanto que em outros processos de desenvolvimento a usabilidade muitas vezes era abordada apenas no primeiro protótipo. “Um ponto chave é que os praticantes de experiência do usuário pela natureza de seus trabalhos interagem tanto com os representantes dos clientes quanto com o time de desenvolvimento” (Nielsen, p. 30 2009) atuando como “pontes” ou intermediários.

Conclusão

Ainda que o manifesto ágil não incorpore a usabilidade como princípio destaca a interação como essencial para o processo de desenvolvimento de software. Nesta brecha, os designers de interação podem se inserir nos ciclos de desenvolvimento (sprints) desde o estágio inicial de um projeto. Já que o método ágil de desenvolvimento ainda é mais focado no sistema “tente garantir que os desenvolvedores trabalharão somente no código de base do sistema enquanto o design de interação cria os materiais de design global juntamente com os stakeholders e outros membros chave do time” (Nielsen, p.41, 2009). É dizer, trabalhar com o conhecimento dos problemas e falhas do método ágil é uma forma de garantir um bom fluxo de trabalho visando um retorno de investimento para que “os métodos de desenvolvimento ágil permitam a entrega de software de alta qualidade antecipadamente, e os conceitos de design de interação nos levem a um nível de empatia do usuário final que nos faltava” (Patton, p.1, 2002). Para profissionais de empresas de pequeno e médio porte é importante saber conjugar estes métodos e técnicas com vistas a criar modelos de desenvolvimento integrado que garantam usabilidade, retorno do investimento e softwares robustos.

Bibliografia:

Aaron, M. Return on Investment for Usable User- Interface Design: Examples and Statistics , 2002 .
Bevan, N. Quality in Use: Meeting User Needs for Quality . Journal of System and Software, 1999 (in press)
Nielsen, J. Return on Investment for Usability.2010, 2003.
Nielsen, J. Agile Development Projects and Usability. 2009.
Patton, J. Adding Interaction Design to Agile Software Development. 2002.

3 comentários sobre “Usabilidade no desenvolvimento ágil

  1. olá drica, não sei se já comentei com você, mas estou envolvida no desenvolvimento de um mega sistema de gestão que utiliza a metodologia scrum – metodologia ágil de desenvolvimento de software, como mencionado. podemos prosear melhor depois sobre o assunto, mas… o que pode se tornar um grande problema nessa metodologia: falta de conhecimento do negócio pelos especialistas de domínio como também pelos designer de interação. estamos lá pelo o que deveria ser a metade do projeto e sentimos grande necessidade de ter realizado logo na fase de planejamentouma uma análise dos processos de negócio. o que permitiria ter exata noção das interfaces e interdenpendências entre os aplicativos, refletindo as relações das áreas. resultado: a metodologia imprime um time ágil e agora estamos com várias impedimentos e casos de alteração do sistema, com isso a contagem de pontos de função de vários apliativos foram às alturas, chegando a cerca de 40% de desvio do estimado da fase inicial. enfim… acho muito legal essa metodologia ágil, realmente aproxima a área de negócio dos técnicos de TI, mas por ser ágil, às vezes acabamos por ‘pular’ ou ‘passar’ rápido demais por fases que vão resultar no sucesso do projeto. o que corre o risco também de desvirtuar um pouco a metodologia, pois cria insegurança na área de negócio e apego pela documentação. uma curiosidade é se existe algum estudo sobre a apicabilidade da metodologia em realidades diferentes de negócio e relações de trabalho, tipo empresas privadas e órgãos públicos. bom… me extendi! rs. era só pra compartilhar da minha experiência com a metodologia. abraço.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s