Criação + Scrum: mais uma visão sobre UX e desenvolvimento ágil

Entre o artigo anterior e este, foram seis meses onde fiz um curso para CSM, certifiquei-me, troquei de emprego e comecei trabalhar com outros projetos que integram equipes que usam metodologias de experiência do usuário e as que usam as metodologias de desenvolvimento ágil. Gostaria de compartilhar algumas destas novas experiências.

Durante o curso, surgiu o conceito de haver um time separado para ajudar o product owner a definir o backlog. Em um PO team podem estar contempladas várias competências que não estão relacionadas a desenvolvimento tecnológico, inclusive as de UX, como arquitetos de informação, designers de interfaces e até mesmo desenvolvedores front-end. Tudo depende de qual seja a definição de pronto (ou definition of readyDoR) para o dev team começar suas histórias: layouts ou código HTML.

Nada impede que este time associado ao product owner seja uma célula própria e que siga os ritos Scrum como tal.

Um cenário

Em um projeto em que estou envolvida agora, a empresa que o implementou optou por não ser obrigatório encerrar uma história ao final de um sprint. Aceitar que uma história pode precisar de mais um sprint para ser concluída significa tempo para que as tarefas que gerem dependências podem ser feitas sem sobrecarregar alguns dos membros do time, como o front-end e o QA, sem que seja encarado como uma falha do processo (e do time). A estrutura básica de uma história de desenvolvimento simples pode ter os seguintes conjuntos de tarefas:

  • Criar cenários de testes
  • Desenvolver código server-side
  • Desenvolver código HTML/CSS/JS
  • Desenvolver código server-side (dependente do código HTML/CSS/JS)
  • Testar (dependente de todas as tarefas anteriores)

É importante enfatizar o conceito de minimizar a dependência entre tarefas para não cair nos mesmos problemas de um modelo em cascata. A estrutura de um time e os processos envolvidos devem facilitar o paralelismo entre as tarefas de uma história para que idealmente se consiga iniciar e concluir uma história em um sprint. As dependências são problemas do mundo real que ficam mais explícito com a variedade de competências que uma história pode requerir. Por exemplo, para realizar testes funcionar é necessário que o desenvolvedor já tenha feito sua parte de acordo com o que foi planejado.

(De novo, o que exponho aqui são formas que alguns times do mundo real acharam para solucionar problemas. Tenho certeza que outros times por aí podem ter encontrado outras soluções bem mais fiéis ao framework.)

Neste cenário, o DoR inclui layouts e arquitetura que foram desenvolvidas pelo PO team ou por outra célula. Vemos aqui, de novo, que as histórias do designer não são as mesmas que as do programador. Muitas vezes, a visão de como o sistema deve funcionar não está completa até a aprovação do layout das telas.

Por outro lado, histórias podem ser criadas apenas para incorporar outras tarefas de UX, como testes de usabilidade. Estas histórias podem estar relacionadas a datas de releases, por exemplo.

Mais informações sobre Scrum podem ser encontradas no Agile Atlas.

Este artigo é uma continuação do texto “Criação + Scrum: como encaixar UX nas metodologias ágeis“, de 11/11/2012.

Tags: ,

Criação + Scrum: como encaixar UX nas metodologias ágeis

Andei conversando nos últimos dias com designers, arquitetos de informação e gestores que já estão trabalhando com metodologias ágeis. Notei que há muitas dúvidas de como a criação pode alinhar com desenvolvimento na prática. Vamos rever aqui alguns métodos de posicionamento das tarefas de UX dentro do modo de produção.

Obs.1: Não sou especialista em Scrum. Sou apenas mais uma parte desta engrenagem que luta diariamente para encaixar todas as etapas de crição de interfaces nas metodologias ágeis de desenvolvimento, com todas as dificuldades do dia-a-dia.

Obs.2: Esta não é uma regra e sim um estudo de caso. Cada empresa, assim como cada time, deve encontrar a melhor forma de adaptação à metodologia. Agências que possuem uma célula que lida com diversos clientes ou uma de dedicação exclusiva a um cliente devem se planejar de modo bem diferente.

Resumindo um pouco da terminologia que usamos na célula em que trabalho somente para referência:

  • Célula: grupo de pessoas com competências diversas responsáveis por entregar as funcionalidades de um produto.
  • Sprint: período de tempo para realização de uma entrega completa. Trabalhamos aqui com dez dias úteis.
  • Planning: reunião do time com o PO para tirar dúvidas sobre as regras de negócios. É realizada no primeiro dia do sprint.
  • Review: apresentação do trabalho realizado durante o sprint.

Nos casos estudados, contamos com os seguintes papéis e competências:

  • Product owner (PO): traz as regras de negócio, representando os interesses de clientes e usuários.
  • Scrum master: responsável por manter o ritmo da equipe, resolvendo impedimentos e atuando como mediador entre o time e outras áreas.
  • arquiteto de informação e designer de interação: elaboram as interfaces, estabelecendo a navegação entre telas ou funcionalidades.
  • front-end: responsável pelos métodos de codificação em HTML/CSS e da definição das tecnologias de interação (frameworks e plugins em JS).
  • desenvolvedor: integra o sistema o código HTML sugerido, realiza alterações no sistema e testes funcionais.

Lembro que há situações onde um profissional pode execer duas ou mais competências. Um designer de interação também pode fazer as vezes de um arquiteto de informação, assim como um front-end pode trabalhar programar em linguagens server-side.

Em teoria, teríamos que idealizar, planejar, criar e desenvolver uma funcionalidade em dez dias. Isto certamente funciona bem para a criação de uma nova microinteração ou a evolução de uma funcionalidade onde as tarefas relacionadas às diversas competências podem ser realizadas paralelamente. Vamos analisar história de uma manutenção evolutiva e suas possíveis complicações:

História: Como usuário quero participar de uma enquete com foto.
Contexto:
O time desenvolveu anteriormente uma funcionalidade de enquete em formato texto que precisa de evolução para atender uma nova necessidade do cliente.

1° cenário: um sprint
Sprint 1: O PO explica a nova necessidade e solicita alteração no sistema durante o planning. O designer elabora navegação e as telas, enquanto os desenvolvedores alteram a funcionalidade. Após aprovação de layouts, o front-end corta em HTML/CSS e adiciona interação em JavaScript. O desenvolvedor integra o HTML ao código, publica em um ambiente de teste e todos validam.

Neste cenário, já encontramos alguns pontos de conflito. O time sente-se mais confortável em trabalhar com telas aprovadas pelo cliente/usuário. Nem sempre dentro do período de um sprint isto é viável. Consideramos que o review é o momento para a aprovação da entrega. Por que não aprovar também layouts, wireframes, fluxos de interação e relatórios de usabilidade?

2° cenário: dois sprints
Sprint 1: O PO traz o conteúdo e solicita alteração no sistema durante o planning. O designer elabora navegação e as telas. Na review, os layouts são submetidos para aprovação e a navegação sugerida é demonstrada.
Sprint 2: O front-end transforma o layout em HTML/CSS e adiciona interação com JavaScript. Ele também testa o modelo de navegação sugerido. O desenvolvedor integra o código HTML ao sistema e o altera segundo as novas demandas. Ele publica em um ambiente de teste e todos validam. Na review, a publicação de uma enquete com foto é demonstrada.

Parece que há perda de tempo neste cenário, mas isso não ocorre na prática. É possível tratar de mais histórias em paralelo. Na prática, é como se arquitetos de informação e designers estivessem em uma célula diferente que anda um sprint à frente.

(Na célula em que trabalho agora, trabalhamos boa parte das histórias em dois sprints. A diferença é que front-end faz sua entrega no primeiro sprint.)

Podem surgir outras complicações. Interações podem ficar mais complexas e demandar mais tempo de desenvolvimento exclusivo do front-end. Torna-se necessário aqui um sprint exclusivo para a montagem do layout em HTML, CSS e JavaScript.

3° cenário: três sprints
Sprint 1: O PO traz o conteúdo e solicita alteração no sistema durante o planning. O designer elabora navegação e as telas. Na review, são apresentadas as telas para atender à nova demanda.
Sprint 2: O front-end transforma o layout em em HTML/CSS e adiciona interação em JavaScript. Na review, são apresentados os protótipos funcionais.
Sprint 3: O desenvolvedor integra o HTML ao código e o altera segundo as novas demandas. Ele publica em um ambiente de teste e todos validam.  Na review, o sistema é apresentado completo.

Além disso, profissionais externos à célula, como analistas de usabilidade ou a equipe de infra-estrutura, podem demandar cortes durante o desenvolvimento para realização de testes. Os sprints mais cortados, quase que por competência, facilitam a integração com outras equipes. Nem sempre a interação leva apenas um sprint o que pode prejudicar o planejamento do time. No caso de testes de usabilidade, por exemplo, há fatores externos como seleção de usuários e agenda de laboratório. Tudo isso deve ser analisado história a história considerando os prazos negociados com clientes e usuários.

O terceiro cenário é o mais próximo do que considero bom hoje. É claro que demandaria um pré-planejamento de três sprints e nem sempre isso é possível.

Para fazer tudo isso funcionar, temos usado também o Kanban (que podemos ver em mais detalhes em outro artigo).

O importante antes de estabelecer uma forma de trabalhar é fazer as perguntas certas sobre o tempo e o nível de envolvimento entre todos os interessados. Além disso, nada impede que variáveis deste modelo podem ser usados como regra em todas as histórias, em histórias de um determinado sprint ou caso a caso. O melhor momento para esta definição é quando a demanda chega ao time que pode ser durante o planning ou em uma reunião anterior de priorização.

Como você e sua equipe trabalham? Tem alguma dúvida? Sugestão? Comente aqui!

Outras reflexões:

  • A formulação da estratégia de experiência do usuário pode ser incompatível com o processo do desenvolvimento ágil. Deve-se concluir toda a pesquisa e desenvolvimento de UX em um Sprint 0 antes de começar o desenvolvimento.
    Is UX Strategy Fundamentally Incompatible with Agile or Lean UX?, por Paul Bryan (UX Matters).
  • Por outro lado, o time de UX deve sentir-se confortável para parar o desenvolvimento e reavaliar conceitos mais amplos. No artigo Fitting Big-Picture UX Into Agile Development (Smashing Magazine), Damon Dimmick introduz o conceito de design spikes.
Tags: , , , , , ,

A informação ubíqua

Desde a onda de popularização dos smartphones iniciada com o iPhone, os grandes publicadores acharam que a solução ideal para o conteúdo nos dispositivos móveis estava nos aplicativos. A premissa era que a marca seria forte e apelativa o suficiente para fazer com que o usuário baixasse um app e o abrisse diariamente em busca de informação. O custo de desenvolvimento e publicação de um aplicativo na Apple Store ou no Android Market seria recompensado através de um investimento no fortalecimento da marca ou por assinaturas. Esta premissa foi válida para algumas empresas por algum tempo.

No entanto, o usuário se acostumou a acessar a informação de vários modos num dispositivo móvel. Por RSS, a informação chega a aplicativos agregadores de conteúdo gerenciados pelo usuário, como Flipboard e Newsify. O conteúdo pode ser compartilhado e pré-visualizado em diversos mecanismos de busca, Facebook e Twitter. Inclusive, há protocolos específicos para visualização de dados nestes sites como Schema.org, Open Graph Protocol e Twitter Cards. Se o usuário não dispuser de tempo, aplicativos como o Pocket (antigo Read it later) e Instapaper armazenam o link para ser lido (ou não) depois. Podemos mencionar também outros agregadores como displays em elevadores, shoppings e ônibus. A relação entre produtor e consumidor de conteúdo torna-se mais complexa a cada mês, a cada novidade no mercado.

E, por outro lado, o custo e o tempo prolongado para o desenvolvimento e a publicação de cada aplicativo para cada tipo de dispositivo torna todo o modelo frustrante para o publicador.

Website do The Boston Globe: reformulado ano passado para ser inteiramente responsive.

É irônico que os velhos e conhecidos websites ressurjam como a opção mais viável para os grandes publicadores através de metodologias como responsive design e mobile first. Ao que parece, os mesmos profissionais que lidam constantemente com as diferenças de renderização dos navegadores são os mais qualificados para lidar com os diversos tamanhos de telas dos dispositivos móveis e com as diferenças de interação de um aparelho para outro.

Há um ano, o Financial Times abriu mão dos aplicativos para investir em um web app. A Folha de São Paulo seguiu pelo mesmo caminho. O conteúdo do Terra abre diretamente no web app não importa a origem (mecanismo de busca, rede social ou agregador de conteúdo). Todos estes publicadores de conteúdo e vários outros estão procurando neste exato momento um modo de que a informação exista e possa ser vista em todo o lugar, dentro e fora dos sites oficiais, conservando a força da marca e fortalecendo seu modelo de negócio.

A informação pode ser acessada de vários modos. Ela deve estar disponível de modo completo e através da melhor experiência possível. É o dispositivo que determina a interface e não o local de publicação do conteúdo.

Isso acontece não só com o jornal que virou um site que virou um app ou um web app. É uma tendência midiática por vezes reconhecida como transmidia storytelling. É o programa da TV a cabo que você só assiste quando precisa de uma receita para o almoço de domingo.

Decretaram a morte da web cedo demais?

Sir Tim Berners-Lee na cerimonia de abertura das Olimpíadas de Londres 2012: “This is for everyone”

Mais:
Forbes: More Mobile News Consumers Choosing Web Over Apps
Folha de São Paulo: Ao encontro do que leitores preferem, ‘NYT’ adota HTML5

Tags: , , , ,

Compras coletivas se embolam no luxo

MINI One CooperDois sites de compras coletivas promoveram esta semana um produto diferente. Longe dos milhares de cupons para tratamentos de beleza, jantares e hospedagens, estes sites venderam carros MINI Copper com 50% de desconto. A compra era possível para o primeiro mortal com um cartão de crédito com limite acima de trinta mil reais (ah, quem me dera ter um destes!).

Mas, como você já deve estar imaginando, os sistemas deste tipo de sites não suportam bem demandas muito altas ou promoções-relâmpago como estas porque não foram planejados para isso.

Para furar o Grupon, que divulgou a promoção alguns dias atrás, o ClickOn liberou a venda ontem um pouco antes da meia-noite com desconto de 57% no preço final do produto. Sem planejamento adequado aconteceu o (im)previsto: trinta usuários compram um mesmo carro no mesmo segundo sendo que apenas uma compra foi validada. Entre tantas acusações de fraudes, não vejo aquela que poucos têm coragem de fazer: quem foi que teve esta ideia?

Grupon promoveu a mesma compra, sim, mas não sem antes criar um concurso cultural. Aquele que enviasse a melhor frase teria o direito a saber o horário da liberação da venda do carro. Concurso cultural é uma saída nada criativa, eu sei, mas funcionou! A promoção só não foi um sucesso completo pois o usuário vencedor não é o comprador do carro. Mas não há ninguém questionando a empresa, a venda ou o ganhador nas mídias sociais.

Promoções são válidas para promoção de marcas, produtos e serviços, mas requerem um planejamento adequado. E não há planejamento sem tempo, sem brainstorm, sem infraestrutura, sem consultar todos os departamentos envolvidos (sim, a tecnologia também, por que não?) e, principalmente, sem um plano alternativo. O timing de uma promoção é apenas um dos elementos a serem considerados e talvez nem é o mais importante.

Mais aqui: ClickOn fura Groupon e vende MINI One por R$ 29.999, mas processo gerou desconfiança

Tags: ,
Página 1 de 5612345...102030...Última »