Qual deve ser a contribuição de uma equipe de scrum?

11

Nossa equipe de scrum consiste nas funções usuais de scrum. Não temos um designer de UI / UX e os desenvolvedores trabalham a UI / UX com o proprietário do produto. Aqui reside um problema. Sempre que estamos prestes a criar a lista de pendências e não definimos o design exato da UI / UX antes do início do sprint, acabamos gastando muito tempo durante o sprint tentando finalizar o design da UI / UX.

Isso é exatamente verdade para a análise e arquitetura dos recursos. Você acha que todos os detalhes possíveis sobre um recurso devem ser fornecidos aos desenvolvedores antes do início do sprint ou deve ser uma tarefa dentro dos recursos? Temos experimentado isso e isso resulta em alguns recursos indefinidos que não têm nenhum critério.

Rashid
fonte
1
Se o design exato da interface do usuário / UX não foi especificado na história, o proprietário do produto não deve rejeitar o que os desenvolvedores apresentam. Parece que você está gastando tempo porque o escopo está mudando - você está definindo a UI / UX após o planejamento do sprint, quando a história foi estimada. Se uma história é sobre a implementação de uma interface do usuário, ela provavelmente deve ter pelo menos uma estrutura de arame ou mesmo um esboço de como deve ser. Criar esse wireframe ou esboço provavelmente é uma história em si que deve ocorrer antes da história de implementação.
Qwerky

Respostas:

4

Primeiro: dê uma olhada nessa boa conversa , Florian Haas deu no FROSCON (GER). É sobre a impossibilidade prática de fazer scrum.

A boa notícia : como o scrum é impossível de implementar, você é livre para fazer o que quiser.

A má notícia : não chame isso de scrum.

Isso libera você da pergunta: »Estou fazendo o scrum certo?« (Resposta: não, você não ) e você pode continuar com as questões práticas da vida.


Não temos um designer de UI / UX e os desenvolvedores trabalham a UI / UX com o proprietário do produto

Esta é uma situação não incomum. Mas o scrum AFAIR é contra a especialização: todos devem ter o mesmo conjunto de habilidades e trabalhar de forma intercambiável.

Sempre que estamos prestes a criar o backlog e não definimos o design exato da UI / UX antes do início da primavera, acabamos gastando muito tempo durante o sprint tentando finalizar o design da UI / UX.

Sim, eu agora essa situação é muito boa. Eu trabalhei em uma equipe, onde tivemos que lidar com backlogitems muito amplos, como »Como usuário, quero ver as informações x « e foi isso. Em seguida, o item caiu no tabuleiro de corrida. Um desenvolvedor pegou. Resolvi-o. Após a implementação, ocorreu uma primeira revisão por pares, onde começaram as discussões sobre a aparência da interface do usuário.

Então a fase de controle de qualidade chegou e a discussão recomeçou.

Após o sprint, fizemos como scrum exige a revisão em que o design foi rasgado pelo OP . Infelizmente, nosso cliente não chegou às análises, então não viu o software naquele momento.

Mas então o ciclo recomeçou até PO ser satisfeita.

E então veio o cliente ...

A partir dessa história de guerra, você vê que esse (tipo especial) de processo é terrivelmente ineficaz.

O que funcionou para nós no final foi jogar scrum por cima.

Mas essa não é a solução para sua pergunta;)

Você acha que todos os detalhes possíveis sobre um recurso devem ser fornecidos aos desenvolvedores antes do início do sprint ou deve ser uma tarefa dentro dos recursos?

Uma solução para esse dilema envolveria laços estreitos de feedback entre a) o próprio cliente e a OP , para que os critérios sejam formulados com relativa rigidez. b) Um ciclo de feedback apertado entre a equipe de scrum e o PO para minimizar a chance de sair da estrada.

Eu quebraria algumas (mais) regras do scrum para definir um backlogitem: um »manequim funcional«. O que poderia ser analisado rapidamente pela OP e pelo cliente para minimizar o tempo de desenvolvimento gasto em um item simples.

tl; dr

Qual deve ser a contribuição de uma equipe de scrum?

Informações suficientes para atender às especificações no menor tempo possível.


Fora do assunto:

Nós não fazemos mais scrum. Nós não fazemos estimativas. Mantivemos a placa de corrida. Nós não fazemos sprints. Desenvolvemos recursos / corrigimos bugs e lançamos o mais rápido possível. Quando novos recursos são implementados, eles vão para um servidor público o mais rápido possível, onde poderíamos discutir o projeto com os clientes o mais rigoroso possível.

Thomas Junk
fonte
O Sr. Haas é bastante ignorante sobre a estrutura do Scrum. É esse tipo de mal-entendido que se reflete em muitas organizações.
19416 Alan Larimer
Essa história é repetida várias vezes: "se você estivesse fazendo o scrum certo". Eu nunca vi uma empresa onde o scrum funcionasse. Portanto, tenho um forte viés contra o scrum - que até cresceu depois de experimentar o scrum em primeira mão em nossa empresa. E aqui a mesma história: não funcionou (para nós).
Thomas Junk
7

A resposta canônica é "faça o que funciona para você".

Scrum é uma das metodologias ágeis. Ele foi projetado explicitamente para mudar e se adaptar à sua equipe e ao seu projeto. Seu foco deve ser:

Indivíduos e interações sobre processos e ferramentas
Software de trabalho sobre documentação abrangente
Colaboração do cliente sobre negociação de contratos
Respondendo a alterações ao seguir um plano ( manifesto Agile )

Não se trata do que sua equipe deve ter para começar uma história. É uma questão de quais contribuições permitem que sua equipe específica resolva as necessidades comerciais específicas.


Na minha experiência pessoal, isso depende do objetivo do negócio. Algumas histórias já vêm com pesquisas sobre UI / UX e designs completos, e tudo bem. Algumas histórias vêm com requisitos vagos, porque a empresa precisa apenas de um problema resolvido. Tudo bem também.

Existem outros fatores também, é claro. Por exemplo, se seus designers fazem parte da equipe de desenvolvimento, marketing ou desenvolvimento de produtos, etc. Muitos fatores. Faça o necessário para satisfazer os negócios, seja flexível e discuta essas coisas durante suas retrospectivas, ajustando o processo conforme necessário.

svidgen
fonte
4

Eu tive uma reação semelhante dos desenvolvedores. A questão do ponto de vista deles era que eles desconfiavam de quanto tempo a parte UX levaria para implementar. Se eles concordarem em tentar entregar N histórias em um sprint, mas algumas delas levarem muito mais tempo do que o esperado devido a ir e voltar no UX, elas sentirão que isso refletiu mal nelas.

O que funcionou para nós é:

  1. Alguém trabalha com o proprietário do produto para criar maquetes das telas a serem desenvolvidas. Eles são revisados ​​durante o processo usual de aprimoramento da história antes que a história seja puxada para um sprint, o que dá a todos a chance de ter uma discussão honesta.
  2. Não tente finalizar o design antes da codificação, basta divulgá-lo e ter uma conversa sobre o que precisa ser alterado. Os custos de efetuar a alteração são mais claros, o que ajuda o proprietário / cliente do produto a decidir se vale a pena.
  3. Confiança entre o proprietário / clientes do produto e os desenvolvedores. No final, todo mundo está tentando entregar coisas ao cliente. O PO não pode reclamar sobre a equipe não entregar tudo, desde um sprint. Os desenvolvedores não podem ser deliberadamente obstrutivos porque estão preocupados em não entregar.
  4. Prática. Acabamos de melhorar o tamanho das histórias e conseguimos identificar problemas prováveis.

Tl; DR: não defina completamente o UX antes da codificação. Aguarde até que os usuários o vejam e brinquem com ele.

Mattelli Helliwell
fonte
4

Você acha que todos os detalhes possíveis sobre um recurso devem ser fornecidos aos desenvolvedores antes do início do sprint ou deve ser uma tarefa dentro dos recursos?

Simplificando, se o proprietário do produto não conseguir entregar o design da interface do usuário antes do sprint, o desenvolvimento da interface do usuário deverá ser uma história , não uma tarefa.

Suas entregas do sprint nem sempre precisam estar funcionando, e a equipe em si pode ser o "quem" na história. Você pode ter uma história como "Como membro da equipe de desenvolvimento, precisamos de modelos de interface do usuário para poder implementar a interface do usuário". Você então estima quanto tempo levará para sua equipe entregar os modelos, e isso se torna uma das primeiras histórias em que você trabalha.

Bryan Oakley
fonte
3

Você não precisa especificar a interface do usuário, basta aceitar a solicitação funcional (história) e pontuá-la sabendo que precisa pensar em uma interface do usuário. O fato de o cliente especificar a interface do usuário está causando problemas.

Agora que você sabe que a interface do usuário custará algum tempo, poderá planejar melhor. Da próxima vez que executar uma tarefa que inclua o trabalho da interface do usuário, você atribuirá alguns pontos extras à história.

Martin Maat
fonte
3

Se você é um scrum, qualquer um pode ser um designer de UI / UX.

A interface do usuário / UX não deve ser uma reflexão tardia. Deve ser uma entrega. Deve ser aprovado pelo proprietário do produto. Ele deve aparecer, mesmo que seja apenas um gif, ao ser entregue.

Isso não significa que não pode mudar. É algo que muda frequentemente. Também é algo sobre o qual você deseja feedback mais cedo. Não deixe o código dirigir o design da interface do usuário. Deixe o cliente dirigir. Afaste-se apenas quando o cliente estiver pedindo mágica. Caso contrário, apenas informe-os da quantidade de trabalho que estão pedindo e quanto vai custar.

A única UI / UX finalizada é em software morto.

Do seu comentário:

"Deve ser aprovado pelo proprietário do produto". É exatamente onde o problema surge. Há uma quantidade enorme de tempo gasto nesse processo de aprovação e acabamos gastando dias em vez de poucas horas inicialmente estimadas. - Rashid

Elimine tudo o que desnecessariamente atrasa você.

Você tem uma ideia. Informe o proprietário do produto. Eles devem estar sentados ao seu lado.

Eles odeiam isso? Ir em frente. Adoro? Faça. Não entende isso? Mostre a eles.

Reuniões não programadas frequentes e curtas. Conversa. Doodle em um quadro ou papel. Zombe de um programa de pintura usando capturas de tela. Comunique, aprove, implemente e revise idéias rapidamente.

Se o proprietário do produto não estiver por perto, pegue um humano conveniente e pergunte a ele. O que for preciso para começar a iterar. Volte o proprietário do produto assim que possível.

Não gaste um segundo tornando-o bonito. Apenas vá direto ao ponto. Mantenha suas idéias pequenas e incrementais e você poderá fazê-lo antes que alguém peça uma estimativa.

candied_orange
fonte
"Deve ser aprovado pelo proprietário do produto". É exatamente onde o problema surge. Há uma quantidade enorme de tempo gasto nesse processo de aprovação e acabamos gastando dias em vez de poucas horas inicialmente estimadas.
Rashid
@Rashid note update
candied_orange
@Rashid Se você está estimando tempo em vez de complexidade , está fazendo errado!
Svidgen #
2

Em minha experiência:

  • Pouca análise inicial causa desenvolvimento ineficiente e com interrupção
  • Muita análise inicial causa paralisia na análise (o Sprint nunca é iniciado)

O que nós fazemos:

  • Defina alguns critérios " Pronto para o desenvolvimento "
  • Para histórias de UX, pode ser "nós temos uma estrutura de arame que é bem entendida pela equipe"

Durante o planejamento da Sprint:

  • Quaisquer histórias que não estejam prontas para o desenvolvimento são jogadas fora (elas seriam muito perturbadoras para a equipe e voltariam para mais análises)
  • Quaisquer histórias limítrofes são declaradas "alto risco" e realizadas logo no início do Sprint
  • Histórias bem compreendidas são estimadas e permitidas no Sprint

Esse sistema nos permite dedicar a maior parte de cada Sprint à execução, ou seja, trabalhamos com muito mais eficiência.

jamesfmackenzie
fonte
2

Qualquer tarefa em seu scrum deve ter uma estimativa para o trabalho total envolvido e um resultado verificável.

Se eu colocar uma tarefa no seu scrum "implemente o recurso X com uma interface do usuário com a qual o gerente de produto esteja satisfeito", isso terá um resultado verificável, mas é claramente impossível estimar a quantidade de trabalho envolvida. Portanto, essa tarefa não pode ser razoavelmente colocada em um scrum.

Agora eu coloquei uma tarefa no seu scrum "projetar uma interface de usuário para o recurso X". Isso pode ser estimado e o resultado é verificável. Essa é uma tarefa aprovada em um scrum. Quando a tarefa está concluída, você já fez.

Agora que a tarefa está concluída, seu gerente de produto pode dizer que não gosta do resultado. Isso está ok. Havia uma tarefa no scrum, você já fez e esse é o seu trabalho. Ele pode colocar outra tarefa no próximo scrum. Talvez com um pouco mais de orientação sobre que tipo de interface de usuário ele realmente gostaria. Esse é o trabalho dele. Definir tarefas que fornecem resultados úteis . Às vezes é difícil, e é feito um trabalho que acaba sendo inútil. É por isso que eles chamam de "ágil"; são realizadas tarefas que acabam sendo inúteis e você muda para uma direção melhor.

Além disso, o design UX, especialmente o bom design UX, é um trabalho de período integral para alguém que praticou o design UX. Muitos bons desenvolvedores de software podem fazer um trabalho aceitável na criação de um UX, mas não o fazem tão bem e com um custo-benefício quanto um bom designer de UX (se pudessem, eles criariam designs de UX e não desenvolveriam software). Portanto, não ter um designer de UX é ineficaz - novamente um problema para o proprietário do produto.

gnasher729
fonte
1

Não sei se você está seguindo princípios ágeis, mas eis como isso deve ser tratado.

não definimos o design exato da interface do usuário / UX antes do início do sprint

O objetivo não é ser perfeito neste momento. Obtenha o máximo de informações para os requisitos, para que os desenvolvedores possam criar algo que corresponda ao que foi solicitado o mais próximo possível. Não faça muitos ajustes ou tente criar coisas que não foram solicitadas. Você estará desperdiçando seu tempo.

acabamos gastando muito tempo durante o sprint tentando finalizar o design da interface do usuário / UX.

Trabalhe em uma maneira de determinar quando as coisas são feitas. Tenho a impressão de que alguém continua fazendo várias avaliações da interface do usuário / UX. Muitas pessoas têm opiniões sobre UX / UI sem nada do cliente para apoiar suas suposições.

Manager: "I think this should be bold."
Programmer: "The client didn't ask for this"
Manager: "But I think they'll like it."

Esse tipo de coisa pode durar para sempre. Não é uma falha do Scrum. Alguém está se intrometendo com os requisitos durante o sprint. Volte a decidir o que o cliente deseja, determine quanto tempo levará e trabalhe com ele para priorizar. Se eles acham que vai demorar muito, pergunte a eles do que se livrar.

Existe uma empresa que cria logotipos por uma taxa fixa. Eles limitam o número de solicitações de alteração porque sabem que alguns clientes os matarão por morte, devido a mil cortes com todas as alterações. Pare com isso ou cobrar mais. Isso se chama negócios.

JeffO
fonte