Product Backlog Building

Scrum é um framework para gerenciamento de produtos, baseado em desenvolvimento iterativo e incremental. O seu ciclo inicia com uma lista de funcionalidades desejadas para o produto, priorizada pelo cliente, então o time escolhe as funcionalidades que se compromete em desenvolver, geralmente com iterações de 1 a 4 semanas.

Podemos notar que esse ciclo é bem definido, tendo como ponto de partida o Product Backlog, mas o Scrum não tem nenhuma definição de como construir um Backlog. Sempre nos deparamos com as perguntas:

Como chegar ao Backlog?

Como construir algo que tenha valor?

Como encontrar a real necessidade do cliente?

Como definir o que é prioridade para o cliente no primeiro momento?

Tentando responder essas perguntas, depois de diversas experiências em vários clientes, nasceu o “PBB – Product Backlog Building”. O PBB tem como principal objetivo ajudar na construção de um Backlog de uma forma compartilhada, construindo um entendimento compartilhado, levando todos os envolvidos ao entendimento colaborativo do domínio do negócio, ou seja, todos compreenderem o contexto do negócio.

A dinâmica do PBB consiste em vivenciar na prática a construção do Product Backlog utilizando o Backlog Canvas como ferramenta. Essa dinâmica leva todos os envolvidos do negócio a uma experiência prática de elaboração e definição de um Product Backlog efetivo totalmente consistente e alinhado com os valores de negócio do cliente.

Principais benefícios:

  1. Ajudar na construção de um BACKLOG de um forma efetiva e colaborativa.
  2. Construir um entendimento compartilhado do negócio do cliente, facilitando a descoberta e compreensão do produto.
  3. Buscar uma maneira de descrever a experiência do usuário com o produto.
  4. Facilitar a descoberta e escrita de User Stories.

 

 

PBB é representado por um canvas chamado de Backlog Canvas que tem um fluxo bem simples e de fácil compreensão, principalmente para facilitar o entendimento do cliente, pois sua participação é de suma importância nesse processo de construção.

Veja abaixo o fluxo de construção do Backlog:

IDENTIFICAÇÃO: A primeira etapa é identificar o produto que será construído.

PROBLEMAS: Nesta etapa o ponto de partida é identificar e compreender o Estado Atual pontuando um conjunto de problemas, neste momento as partes interessadas buscam de forma colaborativa a mesma compreensão do estado atual, pontuando os problemas que desejam que sejam resolvidos. É importante conhecer o problema antes de criar a solução.

EXPECTATIVAS: Nesta etapa é importante identificar o Estado Desejado, alinhando suas expectativas aos problemas do estado atual, para que, de uma forma compartilhada, todos os envolvidos possam alinhar suas expectativas.


PARTES INTERESSADAS: Nesta etapa saiba quem são os usuários, papéis e responsáveis envolvidos no negócio. Alinhando seu contexto de negócio, suas atividades de negócio, seus problemas e dores, necessidades e objetivos.

 


ÁREAS DE NEGÓCIO:
A partir desse momento, identificado as PARTES INTERESSADAS, identifique as suas ÁREAS DE NEGÓCIOS e os principais objetivos de negócio das partes interessadas de cada área.

 

 

 

 

 

 

 

 

ATIVIDADES DE NEGÓCIO: Em seguida, identifique as ATIVIDADES DE NEGÓCIO de acordo com suas respectivas ÁREAS DE NEGÓCIO já identificadas, as atividades que cada PARTE INTERESSADA realiza dentro do negócio, mapeando na sequência de uso da esquerda para a direita. Descreva a ATIVIDADE DE NEGÓCIO com uma breve descrição da atividade, sempre pontuando o “Problema” e a “Expectativa” da parte interessada relacionada a essa atividade de negócio.

overview-product-backlog-building-atividade-de-negocio

FUNCIONALIDADES: Finalizando as etapas, para cada passo da ATIVIDADE DE NEGÓCIO, escreva as funcionalidades que satisfaça, podendo representá-las por User Stories ou modelo ARO (<AÇÃO><RESULTADO><OBJETO>). Construindo a lista de funcionalidades, podendo organizar(priorizar) verticalmente o que é mais importante.

 

Essas são as etapas de forma resumida do “PRODUCT BACKLOG BUILDING”. Etapas que compõem o Canvas:

[Identificação > Problemas > Expectativas > Partes Interessadas > Áreas de Negócio > Atividades de Negócio > Funcionalidades]

*As três últimas etapas são baseadas no conceito do FBS (Feature Breakdown Structure) do FDD.

O fluxo de uma forma linear ajuda a organizar a visão geral do negócio e alinhar o valor de negócio, a compreensão e o que o projeto irá agregar ao final, junto com a ferramenta “Backlog Canvas” que ainda deixa todo o levantamento de requisitos organizado de forma visual.

 

Como resultado teremos um Product Backlog totalmente alinhado com o valor de negócio do cliente.

O Scrum não fala como podemos representar cada item no Backlog, podemos escrever de várias forma, inclusive de forma textual. A User Story é a forma mais usadas hoje pelos times ágeis para representar um item no Backlog. História de Usuário é uma breve descrição do que é necessário para o cliente ter no produto, que pode representar uma necessidade do usuário ou uma descrição de uma funcionalidade.

A estrutura de uma História de Usuário basicamente responde 3 perguntas: QUEM? O QUE? POR QUÊ?

 

O PBB nos ajuda na escrita das User Stories. Como podemos notar no PBB temos o “QUEM?” que é a Parte Interessada, o “O QUE?” que nesse caso são as funcionalidades já representadas em modelo ARO e por último, o “POR QUÊ?” que está no objetivo e benefício que a parte interessada destacou na atividade de negócio.  A figura abaixo exemplifica de uma forma bem simples como fica fácil escrever as User Story com ajuda do Product Backlog Building.

 

Como podemos perceber o grande poder do PBB é a facilitação e a colaboração que provoca com todos os envolvidos na construção de um Backlog, sempre levando todos a  um entendimento compartilhado do contexto de negócio e a descoberta de itens do Backlog totalmente alinhado com o valor de negócio do cliente.

Pronto! todas as funcionalidades descobertas representarão os itens do Backlog. Agora é só priorizar o Backlog usando quaisquer técnica de priorização e começar entrar…

Baixe aqui o seu Backlog Canvas e comece a construir seu Product Backlog:

Vídeo: Product Backlog Building com Fábio Aguiar | Test-Drive

___________________________________________________________________________________________________________________

Gostou? Fique ligado no nosso blog que logo logo tem mais!

Não esqueça de deixar seu comentário 😉

Facebook  |  Twitter  |  Linkedin | Youtube

3 Comentários »

Categorias deste post

Agile, Scrum

A origem do Agile Testing

Origem

Se você já leu algo referente a Agile Testing vai lembrar logo do livro Agile Testing, que foi lançado em 2009, e associar que a origem do termo veio das duas autoras Janet Gregory e Lisa Crispin, certo? Errado!

Em 2002 Bret Pettichord já falava sobre Agile Testing [1] associando ele também com princípios de Context Driven Testing [2]. Na sequência, em 2003 Brian Marick criou o Quadrante de Teste Ágil para distinguir dentro de um processo ágil os testes baseados em negócio e em tecnologia, e os de suporte ao time dos de crítica ao produto.

A Elisabeth Hendrickson em 2008 também já falava sobre Agile Testing na sua palestra Agile Testing, Nine Principles and Six Concrete Practices for Testing on Agile Teams [3].

Lisa Crisprin, em 2002, trabalhou em um time que aplicavam as práticas de XP – Extreme Programming e já começava a criar algumas técnicas de como um testador poderia trabalhar em um time XP. Logo após o primeiro livro formal sobre o assunto foi lançado: Testing Extreme Programmimg [4]. Anos depois ela e a Janet Gregory lançaram o livro Agile Testing que é um compilado das experiências das autoras no processo de transição do Teste Tradicional para o Teste Ágil e como o testador pode ajudar a equipe.
Hoje este livro é a principal referência sobre Agile Testing.

Teste Tradicional x Agile Testing

A imagem abaixo já vai ilustrar uma similaridade e a diferença da adoção de cada abordagem:

origem-agile-testing

origem-agile-testing_2

No projeto por fases podemos ver nitidamente que há uma fase de testes, mas esta depois do desenvolvimento ter sido concluído. A ideia do tamanho das caixas nos passa uma falsa impressão que realmente teremos tempo para testar, mas o que acontece em diversos projetos (até hoje) é a fase de testes ser diminuída e termos uma nova caixa antes da Entrega: o “Teste->Bug->Correção->Reteste” que toma muito mais tempo do que qualquer planejamento inicial de testes.

No Agile os testadores trabalham em cada Interação junto ao time e testam a funcionalidade mesmo quando ela está em desenvolvimento. A funcionalidade/requisito/regra (User Story + Critérios de Aceite) só estarão realmente entregues depois de testado (que são pontos do DoD – Definition o of Done).

___________________________________________________________________________________________________________________

Gostou? Fique ligado no nosso blog que logo logo tem mais!

Não esqueça de deixar seu comentário 😉

Facebook  |  Twitter  |  Linkedin | Youtube

Nenhum comentário »

Categorias deste post

Técnico, Testes, Time de desenvolvimento

Como validar PDUs do PMI em treinamentos da Adaptworks?

Para renovar a certificação PMP (Project Manager Professional) do PMI (Project Management Institute), o profissional precisa coletar um total de 60 PDUs (Professional Development Unit).

Se você particiou das turmas de:

• Certified ScrumMaster
• Certified Scrum Product Owner
• Certified SAFe Agilist
• Certified SAFe Product Manager – Product Owner
• Certified SAFe Scrum Master

• Certified SAFe Advanced Scrum Master
• Management 3.0
• Certified Agile Professional

na Adaptworks, você pode solicitar a quantidade equivalente de horas de treinamento em PDUs.

Isso mesmo, todos os treinamentos acima podem lhe adicionar preciosos PDUs!

Se você estiver em busca de PDUs e fez um destes treinamentos conosco, segue os passos para solicitação dos PDUs:

1) Acesse o site do CCRS e faça login.

2) Clique em Report PDUs na barra de navegação a direita para iniciar o processo.

3) Clique em Course Training

4) Em Provider digite o nome da Adaptworks.
Provider: Adaptworks Treinamentos

5) Em Activity digite o nome do treinamento que você cursou.
Provider: NOME_DO_TREINAMENTO

6) Em description digite a descrição do treinamento que você encontra no site da Adaptworks.
Drescription: DESCRIÇÃO

pdu-adapt-pmi-cap-csm-cspo-artigo7) Preencha a data de inicio do seu treinamento.
Date started: DATA_INICIO

8) Preencha a data de fim do seu treinamento.
Date started: DATA _FIM

9) Preencha o endereço do nosso website.
URL: adapt.works

10) Preencha o nome do nosso contato comercial.
Contact Person: Marcio Santos

11) Preencha o telefone para contato na Adaptworks.
Contact Phone: (11) 2507-3563

12) Preencha o endereço de contato da Adaptworks.
Contact Email: contato@adaptworks.com.br

13) Clique em próximo

14) Em PDUs claimed, distribua o número de horas do treinamento entre Tecnhical, Leadership e Strategic. Recomenda-se 10 para Tecnhical, 3 para Leadership e 3 para Strategic. Totalizando 16 PDUS.

15) Clique em “I agree the claim is accurate” e pressione “Submit”.

16) Terminado, agora é só esperar a resposta do PMI.

Este fluxo é uma tradução livre das instruções do próprio site do PMI

___________________________________________________________________________________________________________________

Gostou? Fique ligado no nosso blog que logo logo tem mais!

Não esqueça de deixar seu comentário 😉

Facebook  |  Twitter  |  Linkedin | Youtube

Nenhum comentário »

Categorias deste post

Certified Agile Professional, Management 3.0, PDU, SAFe, Scrum

Você deve ler o Scrum Guide com frequência!

O Scrum é um framework de desenvolvimento descrito em um guia de dezesseis páginas e como praticante você deveria lê-lo com frequência.

Isso mesmo, o Scrum é um framework com um texto curto, direto e simples. Um bom significado para Simples é “o que é elementar, não apresentando qualquer embaraço para sua compreensão.” Ou seja, no Scrum Guide temos apenas o que é elementar para o desenvolvimento de produtos com o objetivo principal de ser um guia de fácil compreensão.

ScrumButAo mesmo tempo, colocar em prática como descrito no guia não é uma tarefa fácil. Qualquer praticante sabe que praticar Scrum é fácil na teoria todavia a prática do dia a dia é muito mais dolorosa. É muito fácil e cômodo cometer desvios e começar a executar o famoso ScrumBut.

Você executa ScrumBut quando você diz coisas como: “eu prático Scrum mas não faço reunião diária”, “eu uso Scrum mas minha área de negócio não sabe e eu não tenho PO”, “eu pratico Scrum mas tenho sprint só de documentação”.

Aparentemente, não parece haver problema ao se executar um Scrum pela metade, ou faltando uma perna, porém o Scrum é baseado em teorias complexas, como executar ciclos diários de PDCA (Planejar, Desenvolver, Checar e Agir).

A reunião diária é o momento do Scrum que obriga o time a executar um ciclo de planejamento, execução, checagem e ação todos os dias. Ou seja, não fazer a reunião diária implica em não fazer o ciclo diário de PDCA e no longo prazo alguém vai pagar essa conta.

Em cada um dos ScrumButs exemplificados passa-se por cima de alguma teoria que embasa o Scrum.

O Scrum é um framework simples mas emergiu a partir de um time de desenvolvimento que estava cansado da forma antiga de trabalhar e que estudou muito para elaborar o framework. Os criadores do Scrum estudaram teorias de relacionamento interpessoal, teorias de produtividade de times e indivíduos, teorias de linhas de produção enxuta.

Ou seja, criaram um framework simples e que é embasado por teorias complexas.

leitura-scrum-guideAo ler o framework com frequência você tem menos chance de corroer um pedaço dele por desconhecimento e terá, assim, um conhecimento do que é Scrum de forma mais concreta.

Outra coisa importante é saber o que faz parte e o que não faz parte do Scrum.

O Scrum é um framework enxuto e no qual o praticante pode preenche-lo com os recheios que fazem sentido para um projeto específico. Muito do que se comenta sobre Scrum em blogs e livros dizem respeito aos recheios e não ao core do Scrum. Por exemplo:

  • User Story não faz parte do Framework do Scrum mas você pode usar;
  • O quadro de kanban não faz parte do Scrum mas quase todo mundo usa;
  • A reunião diária não precisa ser em pé em frente ao quadro mas é mais produtiva se realizada desta maneira.

Poderia ficar enumerando vários outros benefícios, o que ficaria cansativo…

Mas para finalizar:

O Scrum Guide é a base do framework mais utilizado em projetos ágeis hoje em dia e demora menos de 30 minutos, inicie a leitura agora! :)

Referências

ScrumGuide

Scrum, A arte de fazer o dobro do trabalho na metade do tempo. Jeff Sutherland

VersionOne. State of Agile Survey 2011.

___________________________________________________________________________________________________________________

Gostou? Fique ligado no nosso blog que logo logo tem mais!

Não esqueça de deixar seu comentário 😉

Facebook  |  Twitter  |  Linkedin | Youtube

Nenhum comentário »

Categorias deste post

Agile, Scrum

Usabilidade não é “User Experience” (UX) – Mas é Ágil

Usabilidade não é a experiência do usuário, ela ajuda a melhorar, e muito, essa experiência. A maior parte das pessoas ainda confunde UX com Usabilidade. É comum vermos gerentes de projeto, designers, arquitetos, todos substituindo o termo usabilidade unicamente por UX, dizendo equivocadamente “A ´UX´ do site está pronta?”

Apesar de parecer complexo, UX se resume em uma única frase: UX É CONCEITO.
E este conceito está em total harmonia com os conceitos ágeis.

Entendendo:

Temos experiência de usuário em contextos diversos.

Por exemplo, quais sensações e percepções um cliente de fast-food tem ao adquirir e saborear sua refeição? Este cliente é o usuário desse sistema. E quais são as sensações e percepções deste mesmo cliente ao se alimentar em um restaurante gourmet, com refeições à la carte?

Serão experiências diferentes e que não significam melhores ou piores, mas diferentes para o tipo de necessidade do momento.

Os designers direcionam a experiência do usuário. Eles podem gerar fluxos de página, wireframes e, claro, um mapa do site, adicionar testes de usabilidade e revisões. No entanto, UX designers terão uma abordagem diferente, eles levam em conta o proposto pelo design, mas também vão considerar os objetivos emocionais de seu usuário final. Seu foco pode ser mais em torno de modelos de interação, ao invés de estrutura e layout.

A partir do entendimento do que não é UX, entenderemos melhor o conjunto de “usabilidade e UX” no contexto ágil.

ux

Emprestando a hierarquia de necessidades de Maslow, que nos diz que o software deve ser funcional, o software deve ser fácil de usar – ressaltando a importância de Jakob Neilsen – onde o software precisa ser prazeroso, usando os conceitos de Emotional Design de Donald Norman – pioneiro na usabilidade – conceituaremos “UX preocupado com o design e usabilidade” e por fim com o engajamento emocional dos usuários, através da discussão prática sobre:

--

  1. Curva de Aprendizado,
  2. Curva de Satisfação,
  3.  Atendimento de uma necessidade do usuário,
  4. Feedback do usuário.

A seguir temos 10 dicas de como integrar o conceito UX às metodologias ágeis.

  1. Direcionar e incorporar: praticantes de UX devem fazer parte do time do cliente ou Product Owner;
  2. Realizar práticas de pesquisa, modelo, e design antecipado – mas apenas o mínimo necessário;
  3. Divulgar e aplicar o conceito de “Personas”;
  4. Utilizar de um fluxo de desenvolvimento paralelo avançado com acompanhamento do avanço através de feedbacks;
  5. Ganhar tempo de design com histórias complexas de arquitetura;
  6. Cultivar um grupo de usuários para validação contínua;
  7. Aproveitar o tempo do usuário para diversas atividades como inception ágil ou grooming;
  8. Utilizar protótipos de baixa fidelidade;
  9. Tratar os protótipos como especificação;
  10. Tornar-se um facilitador de design.

UX não é usabilidade – mas é ágil: define conceitos, discute a forma de trabalho ágil em uma disciplina – design – vista como arte. E sabemos, arte dificilmente pode ser definida com time-boxes. Com dicas práticas e experiência, no complexo ambiente do software, a apresentação e a discussão em torno do assunto ajuda a clarificar e evoluir a disciplina que tanto cresce neste ambiente. E aqui falamos de adaptabilidade e aprendizado contínuo, agilidade em sua essência.

___________________________________________________________________________________________________________________

Gostou? Fique ligado no nosso blog que logo logo tem mais!

Não esqueça de deixar seu comentário 😉

Facebook  |  Twitter  |  Linkedin | Youtube

Nenhum comentário »

Categorias deste post

Técnico, Time de desenvolvimento

DICAS PARA UMA DAILY SCRUM MEETING REALMENTE EFICIENTE (PARTE II)

Você sabe realmente o que é uma Daily Scrum Meeting? Então lá vai uma explicação clara e direta:

“A cada dia do Sprint a equipe faz uma reunião diária, chamada Daily Scrum. Ela tem como objetivo disseminar conhecimento sobre o que foi feito no dia anterior, identificar impedimentos e priorizar o trabalho a ser realizado no dia que se inicia. Os Daily Scrums normalmente são realizadas no mesmo lugar, na mesma hora do dia. Idealmente são realizados na parte da manhã, para ajudar a estabelecer as prioridades do novo dia de trabalho.”

Analisando todo o ambiente da Daily Scrum, criamos algumas dicas que facilitarão o processo. Já falamos sobre algumas delas neste post e aqui vão as demais:

7.    Faça off-line

Por favor, desliguem os dispositivos eletrônicos e telefones celulares

celularO Development Team deve estar com foco total na Daily Scrum, dessa forma o uso de telefones celulares e computadores deve ser evitado.

Os celulares são fonte de distração o tempo todo, pesquisas cientificas tem mostrado que a simples interrupção causada pelo aviso sonoro faz com que a pessoa desfoque e passe a pensar no que está ocorrendo no mundo digital. Essa falta de foco pode significar desde um detalhe que irá passar desapercebido até uma repetição do que uma das pessoas falou.

Os computadores devem ser evitados nessa reunião para que os membros do Development Team não se sintam compelidos a corrigir bugs, auxiliar o colega com dificuldade ou abrir o Facebook. De forma geral, a ausência de computadores irá ajudar os membros do Development Team a controlar a ansiedade de resolução imediata de problemas.

O Development Team deve entender que a Daily Scrum é uma reunião de planejamento diário para auto-organização com objetivo na completitude da Meta da Sprint.

 

8.    Utilize um Token

Todos falam, na sua vez, e todos escutam

Introduzir um mecanismo de ordenação como um token ajuda a fazer com que todos falem e todos escutem.

Nesta técnica apenas a pessoa que tiver com o token na mão pode falar e as outras devem prestar atenção em quem estiver falando. Desta forma até os mais introspectivos falam e são ouvidos pelos extrovertidos.

Jogar o Token de forma imprevisível introduz um pouco de diversão para o ritual da Daily Meeting. Todavia ficar jogando um token pode ser algo negativo, pois pode ser visto como pouco profissional e criar uma percepção negativa desnecessária da Daily Scrum.

A forma mais simples e que ao mesmo tempo é muito eficaz é utilizar uma caneta como token e passar a caneta no sentido horário.

 

9.    Em pé

Faça a reunião em pé para assegurar que ela seja curta.

standupmeetTodas as pessoas se incomodam ao ficar em pé e este incômodo faz com que todos queiram que a reunião acabe o mais rápido possível. Ao ficar em pé, pessoas que gostam de falar se tornam mais objetivas e evitam contar história, discutir ou justificar problemas em demasia.

Do ponto de vista fisiológico, ao ficar em pé a área do pulmão que possui maior absorção de oxigênio fica disponível e por consequência as pessoas ficam com maior capacidade de raciocínio por estar com o cérebro mais oxigenado.

Existe o mito de que a Daily Scrum precisa ser feita em pé em frente. É importante ressaltar que não existe menção a isso no Scrum Guide, todavia é uma das práticas do framework eXtreme Programming que muitos Scrum Teams utilizam.

 

10.    Multiplique os facilitadores

Ensine facilitação e como ser facilitado

multiplique

ScrumMaster deve ensinar ao Development Team como se manter na timebox e ao mesmo tempo como conduzir a reunião. Utilizando palavras do próprio Scrum Guide “O ScrumMaster assegura que o Development Team tenha a reunião, mas o Development Team é responsável por conduzir a Daily Scrum. O ScrumMaster ensina o Development Team a manter a Daily Scrum dentro do timebox de 15 minutos. ”

O ScrumMaster deve ensinar aos membros do Development Team a conduzir a Daily Scrum e uma das técnicas que pode ser utilizada é alternar o facilitador da Daily Scrum.

Essa delegação de facilitação não deve ser confundida por “delargação” da facilitação pois o ScrumMaster em última instancia é o responsável pela boa execução da Daily Scrum.

Dessa forma o ScrumMaster deve ensinar o Development Team a conduzir e ser conduzido nesta reunião. O que no longo prazo irá facilitar a vida de todos os envolvidos.

 

11.    Mesmo horário todos os dias

A repetição gera o hábito, o hábito gera a excelência

agendaTer o habito de fazer a Daily Scrum no mesmo horário todos os dias nem sempre é fácil por motivos como horário flexível e ausência de membros do Development Team.

O Scrum Guide não diz qual o melhor horário para a realização da Daily Scrum, ele só fala que deve ser feita no mesmo horário e local para reduzir a complexidade. Os Scrum Team geralmente fazem a Daily Scrum no início e no fim do dia, todavia nada impede de fazerem a Daily Scrum as 11 horas ou as 16 horas.

A definição do horário deve ser baseada no horário em que mais pessoas estão aptas e dispostas a fazer a reunião. Isso evitará faltas e pessoas desmotivadas na reunião.

Uma das formas de destruir a Daily Scrum é realizar a reunião no primeiro horário do trabalho em um ambiente em que poucas pessoas chegam pontualmente no trabalho. É obvio que a reunião será tida como infernal em pouco tempo.

Em times dispersos geograficamente com fusos horários diferentes, definir um horário pode ser ainda mais difícil, pois nem sempre irá haver um horário que agrade a todos. Em última instancia definir um horário rotativo pode se tornar uma opção.

Em relação a ausência de membros do Development Team, uma prática que faz sentido é definir um quórum mínimo de participantes e caso esse quórum não seja atingido a reunião não é realizada e uma ação é tomada.

 

12.    Foco na Meta da Sprint

O foco do Development Team é atingir a meta da Sprint?

A Daily Scrum tem como foco a autorganização do Development Team para atingir a meta da Sprint.

Houve uma clarificação disto na última versão do Scrum Guide na qual as próprias perguntas a serem respondidas mudaram:

  • O que eu fiz ontem que ajudou o Development Team a atender a meta da Sprint?
  • O que eu farei hoje para ajudar o Development Team a atender a meta da Sprint?
  • Eu vejo algum obstáculo que impeça a mim ou Development Team no atendimento da meta da Sprint?

metaO foco das respostas é sempre em relação a atender a meta da Sprint e nunca em um plano previamente feito, isso na prática quer dizer que nesta reunião ocorrem os ajustes no plano para atender a meta da Sprint.

O segundo item importante é o foco no Development Team como um todo e não na meta individual de cada um dos seus membros. Isso clarifica a importância de trabalhar como um time e não individualmente.

Vale destacar que essa “mudança” do foco individual para o Development Team foi feita na última versão do Scrum Guide. O foco sempre foi o Development Team como um todo, todavia isso não estava claro nas ultimas versões.

Uma das maiores reclamações de membros do Development Team é a impressão de que a Daily Scrum era uma perda de tempo tendo em vista que achavam estar fazendo apenas Status Report para os outros membros. Com essa “mudança” fica claro que o Development Team como um todo deve se ajudar a atender a Meta da Sprint.

___________________________________________________________________________________________________________________

Gostou das dicas? Fique ligado no nosso blog que logo logo tem mais!

Não esqueça de deixar seu comentário 😉

Facebook  |  Twitter  |  Linkedin

Nenhum comentário »

Categorias deste post

Daily Meeting, Scrum

O que realmente é um impedimento?

Com a popularização do Scrum como principal método ágil para desenvolvimento de software, muitas equipes ágeis adotaram em seu vocabulário o termo “impedimento”. O termo, porém, gera muitas controvérsias, por ser extremamente subjetivo.

Um impedimento é qualquer fato ou risco que pode prejudicar o progresso ou a performance de uma equipe durante uma iteração ou release.

Se considerarmos uma equipe auto-gerenciável e o seu potencial de autonomia, podemos considerar que esta equipe deveria ser capaz de resolver qualquer um de seus impedimentos. Mas, se considerarmos que esta equipe passou por um processo de amadurecimento e nem sempre foi capaz de resolver seus impedimentos, passamos a considerar com maior realidade o contexto natural de uma equipe auto-gerenciável.

A falta de permissões para acessar um determinado servidor de banco de dados e criar uma tabela, pode realmente ser um impedimento, tão importante quanto precisar entrar em contato com um fornecedor de um framework específico para renovar o contrato de utilização de suas APIs. O que vai determinar se ambos são realmente um impedimento ou não, é a capacidade que um Coach (Scrum Master) tem de desenvolver a autonomia de sua equipe, garantindo que ela seja capaz, a longo prazo, de resolver qualquer um de seus impedimentos, restante somente os mais complexos ou os menos previsíveis para que seu Coach os ajude. Ou seja, não basta que o Coach de uma equipe simplesmente resolva seus impedimentos podando suas oportunidades de aprendizado sobre autonomia. É importante que ele resolva os impedimentos sempre junto com a equipe. Desta forma, como se estivesse trabalhando em par, o Coach garante que a equipe está aprendendo a resolver seus próprios impedimentos e amadurecendo, conforme a complexidade destes impedimentos cresce. Restam, de fato, aqueles impedimentos esporádicos e não tão previsíveis onde a habilidade de um bom Coach se faz extremamente necessária.

 

 

 

 

 

 

 

 

 

Muitos impedimentos têm relação direta com a autonomia para tomada de decisões. Um Coach pode utilizar-se de ferramentas como o Quadro de Autoridade e os 7 Níveis de Delegação do Management 3.0 para negociar com uma equipe que ainda está começando a lidar com auto-organização e auto-gerenciamento, níveis de delegação sobre tomadas de decisão frequentes durante suas iterações e releases. Se o Coach busca trabalhar colaborativamente nos níveis mais baixos de delegação, ou seja, nos níveis em que a decisão está sob seu controle, em pouco tempo ele perceberá uma equipe amadurecendo a sua autonomia e o seu auto-gerenciamento. Desta forma, por mais subjetivo que seja o assunto “impedimento”, ele fica naturalmente ligado ao amadurecimento de uma equipe e, consequentemente, a capacidade de uma equipe de resolver seus próprios impedimentos ao longo de seu desenvolvimento pode ser percebido como uma medida de maturidade sobre seu auto-gerenciamento.

Nenhum comentário »

Categorias deste post

Sem categoria

Não subestime o poder de uma release em seu projeto

Não são poucas as equipes ou empresas que cometem o equívoco de trabalhar com iterações sem que elas estejam contextualizadas. Apesar da ilusão de ser ágil trabalhando com iterações, pouco muda no resultado desse esforço. Continua-se criando um grande batch (incremento) que será promovido a algum ambiente mais estável daqui a algum tempo, e continua-se trabalhando em tarefas sem saber exatamente que problema se está resolvendo.

Pra resolver este problema quando trabalhamos com iterações em projetos, existe o conceito de release. Uma release, assim como uma iteração, é um timebox. Para criar este timebox, a maioria das empresas divide o ano em 4 partes iguais, criando assim releases de 1 trimestre. Dentro destas releases, aglomeram-se as iterações, que são contextualizadas pelo objetivo daquela release. Ou seja, a principal pergunta que vai nortear o trabalho de uma release é: que problema queremos resolver com esta release? Ou seja, que problema queremos resolver neste trimestre?

 

 

A resposta a esta pergunta vai nortear a geração do que chamamos de MVP (Minimum Viable Product) para solucionar o problema. Este MVP vai nos ajudar a escolher as features que precisaremos desenvolver durante aquela release para resolver o problema em questão.

Para auxiliar neste processo existem inúmeras ferramentas e canvas disponíveis. O SAFe, por exemplo, propõe um processo de planejamento de um ART (Agile Release Train), inclusive buscando sincronizar o trabalho de diversas equipes. Em um ambiente mais simples, dentro de um projeto de 1 equipe, pode-se usar um release roadmap para organizar uma release e dar a visibilidade necessária à equipe sobre seu MVP e o problema que ele resolve.

GOProductRoadmapExplained

O autor e product manager Roman Pichler sugere o template acima para organizar um release. Repare que ele contém todas as informações necessárias para direcionar uma equipe durante um trimestre, como a data de lançamento final do produto gerado, o objetivo da release, as funcionalidades envolvidas e até métricas para acompanhar o sucesso do produto gerado.

Lembre-se: não basta criar iterações (ou sprints), aglomerar requisitos, partir para o desenvolvimento e apenas repetir este processo indefinidamente. É importante contextualizar não só a sua equipe com ferramentas como as propostas acima, como também contextualizar a sua organização sobre os seus releases. Uma ocasião como essa pode ajudar na comunicação com outras equipes que podem ser dependentes do produto da sua equipe, criando uma janela de oportunidade para que estas equipes que dependem do seu produto exponham suas necessidades antes que você planeje a sua release e parta para o desenvolvimento do MVP. 😉

Nenhum comentário »

Categorias deste post

Sem categoria

Dicas para uma Daily Scrum Meeting realmente eficiente (Parte I)

Você sabe realmente o que é uma Daily Scrum Meeting? Então lá vai uma explicação clara e direta:

“A cada dia do Sprint a equipe faz uma reunião diária, chamada Daily Scrum. Ela tem como objetivo disseminar conhecimento sobre o que foi feito no dia anterior, identificar impedimentos e priorizar o trabalho a ser realizado no dia que se inicia. Os Daily Scrums normalmente são realizadas no mesmo lugar, na mesma hora do dia. Idealmente são realizados na parte da manhã, para ajudar a estabelecer as prioridades do novo dia de trabalho.”

Analisando todo o ambiente da Daily Scrum, criamos algumas dicas que facilitarão o processo:

 

1. Menos de 15 minutos

A maioria das pessoas tendem a se dispersar em reuniões longas.

Quinze minutos é tempo mais que suficiente para que que todos os membros de times pequenos (três pessoas do Development Team) interajam. Já para times maiores (nove membros do Development Team) isso pode ser considerado pouco tempo para que todos sejam ouvidos.

A questão principal é que estender a reunião dificilmente será uma decisão acertada, pois reuniões longas tendem a ser maçantes. Pessoas costumam dispersar em reuniões longas e continuam sem entender o que está ocorrendo.

O papel do ScrumMaster é tornar a Daily Scrum eficiente, ou seja, atingir o objetivo da Daily Scrum no máximo que a timebox pré-definida permite.
relogio analogico parede 4

Mesmo se a reunião for se estender por mais de quinze minutos, faz sentido forçar a sua finalização no tempo estabelecido para reforçar o conceito de timebox e despertar o interesse do Development Team em ser eficientes na comunicação.

Para não tomar tempo em demasia da Daily Scrum, deve-se criar reuniões separadas quando o assunto não for de interesse geral, evitando assim que se perca o foco.

As próximas dicas devem ser encaradas como formas de manter a Daily Scrum na Timebox.

 

2. Melhorar o canal de comunicação em times remotos

“Se uma pessoa do time está remota, todo o time está remoto.”  Lisette Sutherland 

Assumindo esta frase para a Daily Scrum, todos os integrantes do time devem se comportar como se estivessem remotos caso apenas uma única pessoa esteja remota.

Dessa forma, todos devem participar desta reunião por meio de comunicação remota e não apenas aqueles que estiverem remotos. Isso evita que a reunião se subdivida em duas reuniões, a presencial e a remota.

Como utilizar o Skype em sua empresa

Outra recomendação para diminuir o gap de comunicação entre os envolvidos é o uso de ferramentas de videoconferência ao invés de utilizar e-mails, WhatsApp ou telefone. Isso ajuda a perceber nuances na comunicação como incertezas, sarcasmos e insegurança.

A videoconferência irá aumentar o foco das pessoas na reunião, pois isso irá diminuir a chance de que assuntos sejam tratados em separado.

 

3. Conversar com o Product Owner em outro momento

O PO pode falar com o Development Team a qualquer momento do dia menos no horário da Daily Scrum

A Daily Scrum não é uma reunião para relatar o progresso para o Product Owner ou para qualquer outra pessoa que não seja membro do Development Team. Na verdade, o ScrumMaster deve assegurar que somente os próprios membros do Development Team participem desta reunião.

Caso o Product Owner deseje conversar com o Development Team ele deve encontrar um momento durante o dia exceto durante a Daily Scrum para ter essa conversa, pois existe grande chance de o time deixar de conversar sobre microgestão, que é o foco desta reunião.

Reunião de Negócios

Reunião de Negócios

Vale ressaltar que segundo o Scrum Guide o PO não deve fazer parte da Daily Scrum tendo em vista que a maioria dos times fazem Status Report para o Product Owner quando este está presente na Daily Scrum.

E finalmente, utilizando palavras do próprio Scrum Guide, o ScrumMaster reforça a regra de que somente os integrantes do Development Team participem da Daily Scrum.

 

4. Não fazer Status Report ao ScrumMaster

ScrumMaster não é chefe do Development Team

Em times que estão em transição para o Scrum é comum que o Development Team encare o ScrumMaster como um gerente, coordenador ou simplesmente chefe. Pelo Scrum não existe um papel de gestor do Development Team.

Existe a liderança situacional dentro do próprio Development Team em relação a assuntos técnicos, por exemplo, e a microgestão do Development Team. O ScrumMaster não exerce qualquer tipo de liderança ou gestão sobre os itens citados.

Para se assegurar que isso não ocorra na Daily Scrum, o ScrumMaster não deve cobrar nenhum tipo de entrega ou ainda cobrar progresso de tarefas dentro da reunião. De forma mais pragmática ele pode se ausentar da Daily Scrum para deixar ainda mais clara essa premissa.

Vale destacar que uma das mudanças mais importantes na versão atual é que o objetivo da Daily Scrum é que o time deve usar esta reunião para entender como trabalhar junto e se auto-organizar para atingir a Meta da Sprint.

 

5. Impedimentos devem ser notificados imediatamente ao ScrumMaster

Houston we have a problem, and we are blocked to lauch

Alguns membros do Development Team erroneamente aguardam a Daily Scrum para notificar o ScrumMaster sobre impedimentos.

Tecnicamente a resposta dada a pergunta sobre a existência de obstáculos que impeçam o atendimento da meta da Sprint durante a Daily Scrum é para que o Development Team seja notificado no máximo nesta reunião sobre a ocorrência deste impedimento.

Simple-kanban-board-

Se um membro do Development Team aguarda até a realização da Daily Scrum para notificar a ocorrência de um impedimento ao ScrumMaster, ocorre um desperdício de tempo para o início dos trabalhos do ScrumMaster naquele tema e por consequência um tempo maior para resolução do problema.

E não se deve-se esquecer que o ScrumMaster tem de garantir que a reunião ocorra da maneira correta e que para isso ele não necessita estar presente.

 

6. Quebrar o contato visual com o facilitador

Ops, onde foi parar o facilitador?

O facilitador deve sempre quebrar o contato visual para evitar que ele seja o principal ator da reunião.

É muito comum que os membros do Development Team comecem a fazer a reunião olhando diretamente para o facilitador e dessa forma a reunião tende a ter uma conotação de Status Report ao facilitador.

file_3382

O facilitador deve entender que a Daily Scrum é uma reunião de inspeção e adaptação do trabalho do dia a dia do Development Team para o próprio Development Team.

O facilitador pode quebrar esse contato visual de diversas maneiras. Como exemplo: ficar a trás do flipchart, ir ao banheiro, sair da sala, ou ficar atrás de alguém ou de alguma coisa. Acredite isso já rendeu momentos engraçados, mas no fim todos acabam entendendo.

_______________________________________________________________________________________

 

Curtiu? Então da uma olha nas outras 6 dicas que nós elaboramos para você!

Não esqueça de deixar seu comentário 😉

Facebook  |  Twitter  |  Linkedin | Youtube

Nenhum comentário »

Categorias deste post

Daily Meeting, Scrum

Agile Fundamentals: the basics, the simple

There are many flavors of Agile: XP, Scrum, FDD, Kanban, SAFe, LeSS and so on. These are called “agile frameworks”, and each has its own goal: XP is focused on developing a software, Scrum is focused on organizing a team process and SAFe is focused on projects at scale. Although the many and obvious differences between the frameworks (goals AND practices), they all talk the same language: Agile.

 

The Scrum effect
Scrum is the most didatic and popular framework. It’s easy to use, and yet brings lots of challenges on its use. The Scrum Alliance offers well-marketed and well-accepted certifications to differentiate professionals that are trained in using Scrum to deliver software. So, although I think XP still is the most complete agile framework for a team, many companies are beginning their agile journey through Scrum. Many people think Scrum is synonym of Agile.

 

Rude awakening
There are many software professionals around the world. Sooner or later, a Scrum-only professional will stumble upon someone that delivers software very well using Kanban, or using only XP. This is really common. And, usually, this is not a kind moment: at this moment, the Scrum professional realizes that there is something much greater than Scrum. This is Agile. And than a new (and huge) journey begins: understanding the hole Agile universe through the study and experimentation of its great variety of frameworks, the discovery of new roles and disciplines and the abstraction of a method.

 

Increments, short cycles and feedback
This is the essence of Agile. If you or your team deliver software through small increments demonstrated in short periods of time to collect feedback that will influence the software you’re developing (and the process you’re using for it) you’re doing Agile. You don’t even need to name the process you’re using. You’re just delivering software.
Depending on the context you and your team are developing software (a 5 people startup or a 6.000 people huge company) you’ll need totally different sets of tools and processes to deliver small increments of software in short cycles and collect feedback. Here comes the variety of Agile frameworks available for us to use.

 

Focusing on the Agile fundamentals
The International Consortium of Agile (ICAgile) is offering a set of training and certifications focused on working with Agile, no matter the framework you’re using. The main concern of ICAgile is to teach people the essence of Agile and how to work with it, from gathering requirements to testing a software. It doesn’t offer any kind of framework or process, helping people to understand the mindset behind every existing Agile framework, and making it easier and safer to use/merge the frameworks depending on the problem you’re trying to solve.
Because the ICAgile certification process focuses on teaching people how to deliver software with an Agile mindset, and not on specific mechanics and processes, I truly believe these training tracks, much more than their certifications, can help us guide software professionals through real Agile software development/delivery.

Nenhum comentário »

Categorias deste post

Agile, Certified Agile Professional