Facilidade de uso na prática
Desenvolvimento ágil de UX
Dr. Charles B. Kreitzberg and Ambrose Little
Conteúdo
Valores ágil
Dispor para cima
Dr. Charles B. Kreitzberg
Ajustando as atividades de experiência do usuário no processo de desenvolvimento é um problema detalhistas mas é um que é necessário resolver. Desenvolvimento ágil está se tornando cada vez mais importante e com bom motivo. É impossível criar uma lista completa e precisa de requisitos e, em seguida, transformá-los em um produto realmente útil, utilizável e desejável. As pessoas realmente não saiba o que desejam até que eles usar um produto, portanto, um produto precisa passar por várias iterações antes de ele atinge um nível alto de utilitário e toque.
Mas o ajuste entre experiência do usuário e o processo de desenvolvimento ágil é problemático. É um pouco surpreendente porque as filosofias de designers UX e designers de software ágil Enfatize refinamento iterativo e aprendizado de usuários. Mas é também um verdadeiro problema pois como métodos ágeis tornam-se mais amplamente empregados, o risco para a qualidade do usuário ocorrer também aumenta. Jakob Nielsen sugere que o problema tem suas raízes no fato de que ágil foi concebido de por programadores como uma forma de melhorar o processo de desenvolvimento. Ele tem disse que ágil "principalmente aborda o lado de implementação do desenvolvimento do sistema. Como resultado, ele geralmente overlooks interação com o design e facilidade de uso, que são deixados aconteça como um efeito colateral a codificação."
Ambrose pequeno
Para criar produtos excelentes, os métodos ágeis precisa incorporar o design de experiência do usuário de uma forma que seja sinérgica com engenharia de software. Atingir isso exigirá que os desenvolvedores e designers de UX repensar algumas suposições. Uma área em que precisamos reexaminar nossas suposições é o design de planejamento.
Scott Ambler sugere que, entre outros conflitos, rejeição a comunidade ágil de modelagem estágio inicial ou grande design frente para cima (BDUF) clashes com desejo a comunidade de UX nail para baixo a interação do usuário antes de inicia a construção.
Valores ágil
Nós estão descobrindo maneiras melhores de desenvolvimento de software por fazê-lo e ajudar outras pessoas para fazer isso. Acordo com o Manifesto ágil ter chegamos ao valor:
- Indivíduos e interações sobre processos e ferramentas
- Software de trabalho sobre uma documentação abrangente
- Colaboração de cliente pela negociação de contrato
- Responder a mudar durante a seguir um plano
Em face do mesmo, isso parece um grande problema. Desenvolvedores ágil "saber, criando" e isso tende a torná-los skeptical do valor de grande design up frente. Mas em aspectos mais fundamentais, ágil e UX compartilham uma filosofia comuns. O processo de design UX de criação de um protótipo da interface do usuário e testá-lo com usuários é semelhante a uma iteração ágil. Design de UX é criada intrinsecamente em iteração, teste e aprendizado de reações do usuário. Os quatro ágil valores que foram apresentados Manifesto ágil, 2 que foram apresentados anteriormente, ajustar igualmente bem com a filosofia do UX.
Recentemente, tivemos uma conversa sobre nossas exibições relacionadas ágil e facilidade de uso. Convidamos você a ouvir no. Ambrose, o desenvolvedor/arquiteto solicitado a maioria das perguntas.
Ambrose: Por que não é possível UX pessoal apenas criar rapidamente com a equipe ágil?
Charlie: eu acho que eles podem. Design centralizado de usuário (UCD) como tradicionalmente é praticado tem um estilo de Alta Gramatura em vez disso. Primeiro você estudar os usuários, em seguida, você criar designs concorrentes, testá-las empiricamente, refiná-los, continuar testá-las e finalmente publicá-los como especificações de programação. É um processo muito boa que consistentemente produz resultados de alta qualidade, se você tiver suficiente tempo e dinheiro. Mas como desenvolvimento de cascata é geralmente inadequado no mundo real.
Para a pergunta fundamental é, como fazer você gerencia para manter uma exibição holística e consistente da interface do usuário durante o desenvolvimento-lo em ciclos iterativos curtos? A resposta é que você precisa separar os elementos que são essenciais com antecipadamente por aqueles que pode ser adiada para iterações posteriores.
Uma das funções do teste de usabilidade é fornecer UX designers com informações sobre como pessoas respondem a interface do usuário behaviorally. Não é muito diferente do tipo de treinamento que ágil procura quando implanta os resultados de uma iteração e coleta dados sobre o usuário reações a ele. Na verdade, avaliar a reação do usuário para uma versão é potencialmente mais eficiente do que o teste de usabilidade tradicional que usa modelos de interface do usuário com o mínimo, ou talvez nenhuma funcionalidade. Modelos de interface do usuário somente permitem que você teste reações iniciais. Eles não informar como pessoas estiverem usando a ferramenta de uma semana ou mês após o lançamento. Elas também não grandes quando estão testando uma interface do usuário altamente dinâmico como você faria em uma situação multi-touch. Nestas relação, ágil tem vantagens.
Ambrose: Mas não é uma suposição fundamental de UX que você precisa para criar o projeto com antecedência? E ágil abhors BDUF. Você pode reconciliar que?
Charlie: as formas mais radical de ágil, como extremo programação (XP), não faça muito uso do design com antecedência. Na verdade, ACHO que seria interessante ver como pouco design inicial é realmente necessários para criar um ux. de alta qualidade Eu acho que um designer realmente BOM pode ser eficiente nesse ambiente. Mas há não precise ser tão radical. O risco em não, fazendo com antecedência suficiente design é que você irá ser não é possível criar uma experiência holística para o usuário ou que você será forçado a repensar o design de interface do usuário depois de ter já lançado iterações antecipadas e os usuários tem gasto tempo aprendendo a usar o produto.
O que eu propor é que é limitar o design de antemão para os elementos essenciais para a criação de uma experiência holística e fazer o design restante iterativamente. Você precisa de uma estrutura que permite aos desenvolvedores e designers manter a consistência da interface do usuário quando o produto evolui e precisar que a interface do usuário para expandir de forma normal e esperada para acomodar a evolução. Não é possível reestruturar constantemente a interface do usuário com cada versão ou será confundir o seu público-alvo e criar problemas de usabilidade. Você também precisará manter conexão a interface do usuário às tarefas de negócios e características do usuário.
Portanto, o que você deseja é um design mínimo com antecedência que transmite os elementos à direita. Se você for um fã acrônimo, pense como substituir BDUF (front grande-up de Design) por ENUF (elementos necessários acima frente) e fazer apenas ENUF design vai para o projeto.
Larry Constantine cita três características essenciais para um design de antemão mínimo:
- Uma organização geral para as partes da interface do usuário que se ajuste com a estrutura de tarefas do usuário.
- Um esquema comum versátil para navegação entre todas as partes.
- Um esquema de visual e a interação que fornece uma aparência consistente para oferecer suporte a tarefas do usuário.
Lembre-se que segundo valor do ágil é preferir "software de trabalho sobre uma documentação abrangente"; antecipados protótipos UX servem a mesma função de suporte de aprendizado construção.
Ambrose: Mencione o "produto design conceitual". O que você significam por que?
Charlie: por design conceitual significa que os elementos de design de alto nível que definem o espaço de design e servem como estrutura para o projeto detalhado que segue. Design conceitual começa com três características que Larry Constantine descrito. Quando eu estou estiver criando um produto, eu crio um modelo de interface do usuário que eu chamo um "tela chave protótipo," que é um conjunto de wireframes que definem o produto. O protótipo de chave tela mostra como o usuário navegará para funcionalidade da chave e como essa funcionalidade será exibida para o público-alvo. Ele define a arquitetura de informações básicas e as regras para apresentar informações bem. EU geralmente incluem um design visual para que o protótipo de tela chave transmite mais a experiência do usuário que seria possível wireframes esquemáticos e desenvolver um guia de estilo para documentos o layout da tela, arquitetura de informações e as convenções de design visual para que os desenvolvedores tenham uma referência pronta e disponível.
As guias de protótipo e o estilo de tela chave estão simples e facilmente refinada como novas idéias são apresentadas.
Se eu puder, iniciar o projeto conceitual e tela chave protótipo durante a fase de análise de caso comercial do projeto para que os interessados decidir se o projeto deve ser suportado podem entender o que é proposto. Eu uso o protótipo de tela chave para mostrar aos usuários em potencial e obter seus comentários. Eu também fazer algumas teste nele para eliminar qualquer falhas de design principais de usabilidade.
Quando o projeto for aprovado, o protótipo de tela chave é útil entrada para ajudar os desenvolvedores a entender rapidamente o projeto.
O design inicial não precisa ser definida na pedra. É possível repensá-lo ao andamento através das iterações. Mas você não é possível refatorar a interface do usuário tão facilmente como refatorar o código. Quando você altera a interface do usuário estiver alterando a maneira que as pessoas interagir com o programa, e você precisará pensar sobre o impacto que terão as alterações. É fácil criar confusão, aborrecimento, e que psychologists chamar interferência pró-ativa (a experiência anterior com a interface do usuário torna difícil para o usuário a aprender uma nova maneira de fazer as coisas). Enfim, fazer a interface do usuário alterado após lançamento é geralmente unadvisable, portanto, vale a pena obter o design conceitual direita no início.
Ambrose: Portanto, como você antevir integrar UX iterações ágil?
Charlie: iniciar o projeto conceitual tão cedo possível e fazê-lo como precisa de como você pode. Realizar testes de usabilidade na sua tela chave protótipo e saber quanto for possível dos usuários e refinar o design. Quanto UX funcionam possível antes do desenvolvimento inicia para que você pode fornecer a equipe de desenvolvimento com um modelo de usuário validado para trabalhar.
Depois de desenvolvimento começa, continuar o desenvolvimento de UX mas funciona de forma que não entre em conflito com a atividade de desenvolvimento. Uma técnica que está aumentando a popularidade é criar UX paralela e faixas de desenvolvimento e conduzir o projeto para que o design UX permaneça uma iteração antes das programadores. Você pode ver esse fluxo na Figura 1 .
Figura 1 integração ágil com UX
Na entrada para cada iteração, os desenvolvedores têm um modelo de interface do usuário para funcionarem da. Enquanto a codificação de iteração j está em andamento, os designers UX estão trabalhando na interface do usuário para iteração j + 1. Quando o j iteração for lançado, a equipe de UX será teste de usabilidade-lo para identificar qualquer usabilidade criar problemas e essas informações de alimentação de volta para os desenvolvedores.
Na sessão prática você precisará ser flexível sobre como implementar esse tipo de fluxo. Os designers UX devem funcionar perto com os desenvolvedores para que eles podem ajudar com o design detalhado. Como a nova funcionalidade é envisioned, a equipe de UX pode desenvolver e testar modelos para a interface do usuário. A equipe de UX também será resolver questões que surgem mais tarde no processo de desenvolvimento. O objetivo é sempre dar a equipe de engenharia de software a capacidade para evitar as despesas e frustração de re-trabalho.
Ambrose: Esse fluxo pode trabalhar quando não tiver a experiência de UX na equipe de desenvolvimento? Uma das coisas interessantes sobre os métodos de cascata é que você pode contratar UX consultor com antecedência quem pode enviar e em seguida, faça uma saída normal. Com ágil parece como se você precisa ter a especialização UX ao longo do projeto.
Charlie: que é verdade. Claro, muitos projetos de cascata tem problemas de usabilidade com precisão porque o designer não estava em torno quando a interface do usuário real foi produzido, mas não há nenhuma pergunta que em um ambiente de cascata é mais fácil de usar um consultor que pode enviar e desaparecem.
Em uma configuração ágil, gostaria de ver o design de intitial administrado por um designer experiente e competente do UX, mas depois que o projeto conceitual estiver no lugar, você geralmente pode usar um designer experiente menos para criar as telas individuais. Um desenvolvedor que estiver disposto a champion a causa do UX pode fazer isso, embora se você pode receber alguém dedicado a preocupações UX, que é melhor. Que funciona porque as decisões que são feitas geralmente têm local em vez de conseqüências globais e design local sempre é mais fácil do que projeto global. Se você estiver usando uma biblioteca padrão como Quince, muita as decisões de design será ser simplificada.
Ambrose: OK. Outra fonte de descontentamento encontrei é o que vocês UX não entendem as coisas como disco rígidas devem implementar algumas vezes. Descobri que alguns desenvolvedores reagem a conflito por apenas informando que "que não é possível fazer isso" quando um comprometimento razoável deve ser possível. Como nós pode gerenciar essas situações para nós trabalhar juntos em vez de em relação à outra?
Charlie: O truque é evitar o conflito em primeiro lugar. Minha experiência, há três fontes de conflito que surgem com freqüência:
A primeira é que os desenvolvedores costumam ser sobrecarregados e não têm tempo suficiente para realizar o trabalho da maneira que eles gostariam. Esse é um gerenciamento mais que um problema de UX. Mas ao iniciar o design de UX antecipadamente você reduzir alguns da pressão já que a equipe de desenvolvimento tem um modelo para iniciar a partir.
O segundo tipo de conflito ocorre quando os desenvolvedores e designers a UX etapa em toes uns dos outros. Manter o UX uma iteração antecipadamente pode ajudar a contornar isso. E como a equipe recebe mais experiência com o processo, você pode gerenciar isso melhor.
A fonte terceiro de conflito é mais cultura. Ele ocorre quando os desenvolvedores não respeitam a importância de UX ou quando UX designers falharem entender o que é importante para os desenvolvedores. Trabalhar para entender melhor é uma meta de BOM. Mas mais diretamente, você pode configurar uma situação de responsabilidade compartilhada no qual os desenvolvedores e o UX designers bem-sucedida ou falharem juntos. No final do dia, é a qualidade do produto que é importante.
Cada estudo que eu vi e cada gerente de UX sênior que já falamos com fica claro que integrar UX o projeto economiza tempo e dinheiro. A realidade é UX design sempre torna as coisas mais fáceis e se ele não, você está fazendo algo errado.
Portanto, de um processo de ponto de vista, as principais etapas são:
- Crie seu processo ágil para explicitamente incluir UX como um componente de chave e atribua um proprietário ou defensor a ele.
- Execute essencial design conceitual com antecedência para que você pode garantir a integridade da interface do usuário como o produto evolui.
- Usar um processo da interface do usuário leve e mantenha-antes da codificação para que os desenvolvedores não são diminuíam.
É tão simples quanto que! Tratar UX como uma dimensão essencial do processo de desenvolvimento e verifique certas a UX voz será ouvido quando o vai obtém esboço. Obtenha alguém da sua equipe para champion UX ou, melhor ainda, contratar um UX profissional e deixe-os do apenas ENUF design como parte da análise de negócios e como parte da iteração zero para que você tenha um sólido projeto conceitual entrar nas iterações. Se você fazer o trabalho de início e, em seguida, trabalhar em manter o design antes de desenvolvimento para poder trabalhar fora os kinks de design principais antes de codificação, você irá melhorar a experiência do usuário enquanto mantém as vantagens de ágil.
E se você estiver usando um processo de cascata, você pode integrar as práticas de design UX-lo por seguintes princípios semelhantes.
Envie suas dúvidas e comentários para Charlie e Ambrose para magux@Microsoft.com.
Dr. Charles Kreitzberg é PRESIDENTE do Cognetics Corporation ( www.cognetics.com ), que oferece a facilidade de uso de consultoria e usuário experiência de serviços de design. A paixão está criando interfaces intuitivas que envolva e delight usuários ao suporte metas de negócios do produto. Charles reside no Central Nova Jersey onde ele moonlights como um músico de desempenho.
Ambrose pequeno mora com sua esposa e quatro filhos no central Nova Jersey. Ele foi criando e desenvolvendo software para mais de 10 anos e é liquidados ser um palestrante da INETA e MVP da Microsoft. Recentemente, ele é deslocado do design técnica para criação para as pessoas e agora é um designer de experiência do usuário para Infragistics.