estimar sprints: mensurar indicadores intangíveis

32
SPRINT PLANNING Wylker Silveira Barros Analista de Negócios/BA Product Owner - CSPO

Upload: wylkerb

Post on 11-Jun-2015

632 views

Category:

Technology


3 download

DESCRIPTION

Apresentação de uma nova proposta para identificar indicadores no desenvolvimento de software e assim mensurar com mais qualidade o esforço empregado na confecção de um produto.

TRANSCRIPT

SPRINT PLANNING

Wylker Silveira Barros Analista de Negócios/BA Product Owner - CSPO

Após a definição das estória que compõem o Product Backlog, a

equipe deve estimar o tempo/esforço de cada estória. As

estimativas podem ser realizadas de diversas formas. Algumas da

principais técnicas para estimar o tempo/esforço necessário para

realização das estórias/tarefas são:

• Planning Poker;

• Estimativas Análogas;

• Estimativa Paramétrica;

• Estimativa de três pontos;

• Análise de especialista;

A priorização das estórias deve ser realizada levando-

se em consideração:

• Precedência

• Dependência

• Grau de Importância

• Tempo (esforço)

As estórias de um SPRINT devem possuir, somadas,

uma quantidade de tempo (ou pontos) que seja

suficientemente suportada pela equipe no time box.

Para calcular de maneira realista a capacidade de

produção de um SPRINT, é necessário realizar uma

análise utilizando-se de informações fornecidas pela

equipe envolvida. Essas informações contribuirão para

fornecer um valor aproximado da capacidade realista

de estórias (esforço e/ou tempo) suportadas em um

SPRINT.

• Hora/Homem Semanal

• Número de Desenvolvedores

• Time Box

• Porcentagem de Retorno do Teste

• Tempo de Correção das estórias

• Impacto dos Riscos

• Tempo Estimado do Teste/ Estória

• Tempo de Refatoração dos Testes

CAPACIDADE REALISTA DO DESENVOLVIMENTO

Total de horas possíveis dentro de um sprint

Obviamente, para identificar a carga máxima de TEMPO de desenvolvimento em um sprint, deve-se ter conhecimento da disponibilidade de recursos disponíveis e do valor do Time Box.

Capacidade de Máxima de Produção

Capacidade Máxima (MPD) = HS * ND * TB

Horas /Homem Semanal (HS) Número de Desenvolvedores (ND) Time Box (TB): 2,3 ou 4 (Semanas)

Observação: Para times que possuem membros com carga horária distintas, soma-se as horas individualmente de cada membro no time box.

Os impedimentos podem impactar bastante na produção, limitando imediatamente a capacidade máxima produtiva. Nesse exemplo, o impacto dos riscos de impedimento (RI) é de 30%. Aqui é que entra aqueles 15 min de cafezinho, twiiter, bate papo e até mesmo outras tarefas paralelas!

Capacidade de Produção após identificação dos riscos

Capacidade de Produção = Capacidade Máxima - Capacidade Máxima * RI

Tempo consumido por Impedimentos

Tempo consumido por Impedimentos

Capacidade de Produção após identificação dos riscos

Retorno dos Testes

Para se calcular a capacidade realista de horas ou pontos de desenvolvimento em um sprint, deve ser estimada a porcentagem de estórias que retornam dos teste (PRT). Essa estimativa deverá ser aprimorada a medida que o time amadurece e ganha experiência.

Tempo consumido por Impedimentos

Capacidade de Produção após identificação dos riscos

Após estimar a porcentagem de ESTÓRIAS que retornam do teste (reprovadas), a equipe deve estimar o tempo para a correção dessas estórias. Normalmente, a correção leva bem menos tempo do que o desenvolvimento inicial.

Tempo de

Correção

Retorno dos Testes

Tempo consumido por Impedimentos

Capacidade de Produção após identificação dos riscos

Ao possuir estimativas de retorno do teste e tempo de correção, e ainda a capacidade de produção de desenvolvimento em um sprint após estimativa dos riscos, fica fácil descobrir o número realista de horas de produção que caberá no sprint.

Tempo de

Correção

Retorno dos Testes

Tempo consumido por Impedimentos

Capacidade de Produção após identificação dos riscos

Capacidade Realista

Tempo de

Correção

Retorno dos Testes

A capacidade de produção realista somada ao tempo de correção das estórias que retornam do teste deve ser igual a capacidade de produção máxima menos o impacto de impedimentos.

Capacidade Realista de Produção do Desenvolvimento = (MPD*(1-RI)) / (1+PRT*TCT)

Tempo consumido por Impedimentos

Capacidade de Produção após identificação dos riscos

Capacidade Realista

Tempo de

Correção

Retorno dos Testes

CAPACIDADE REALISTA DO TESTE

Em vários times de desenvolvimento é comum a

realização de estimativas de pontos ou horas das

estórias sem levar em consideração o tempo ou

esforço reservado para os teste.

As estórias DEVEM possuir, também, o seu valor em

tempo ou esforço para o teste.

Tempo Estimado da Estória (EE) Tempo Estimado da Estória + Testes (TEE) = EE + (EE * TET)

* TET = Tempo estimado do teste (%). Para os nossos

exemplos o TET é definido em 150%.

12 Estórias desenvolvidas; 0 Estórias Testadas; - Acúmulo na fase de testes; - Reprovação do teste alta; - Possível perda de tempo no desenvolvimento. Muitas estórias podem precisar ser refeitas após análise no teste; - Estórias previstas não são entregues; - Nenhuma estória sujeita a deploy; * Falta contabilizar estórias reprovadas!

1 2 3 4 5 6 7 8 9 10 11 12

Estória desenvolvida sem teste

Início da execução do teste

Planejamento do Teste

12 Estórias desenvolvidas; 4 Estórias Testadas; - Acúmulo na fase de testes; - Reprovação do teste alta; - Possível perda de tempo no desenvolvimento. Muitas estórias podem precisar ser refeitas após análise no teste; - Estórias previstas não são entregues; * Falta contabilizar estórias reprovadas!

1 2 3 4 5 6 7 8 9 10 11 12

1 3 T

Estória Testada

Estória desenvolvida sem teste

2 4

Estória desenvolvida com teste!

5 Estórias desenvolvidas; 4 Estórias Testadas; - Não há acumulo na fase de testes; - Reprovação do teste tende a ser menor; - Estórias previstas entregues; * Falta contabilizar estórias reprovadas!

1 2 3 4 5 6 7 8 9 10 11 12

1

D

3 4 2

Estória desenvolvida sem teste

T 5

7 Estórias desenvolvidas; 7 Estórias Testadas; - Não há acumulo na fase de testes; - Estórias previstas entregues; * Falta contabilizar estórias reprovadas!

1 2 3 4 5 6 7 8 9 10 11 12

1 4 2

1 2

5

4

3

5

6

T

7

Estória desenvolvida sem teste

Estória desenvolvida com teste!

Estória Testada

Para times que possuem um ou mais membros especializados

em realizar apenas testes (QA), a produção desse(s)

profissional(is) deve(m) amortizar o tempo ou esforço das

estórias. No entanto, deve ser encontrado a capacidade de

produção realista desse(s) profissional(is) no time box.

Total de horas possíveis dentro de um sprint

Capacidade de Máxima de Produção

Capacidade Máxima (MPT) = HS * NT * TB

Horas /Homem Semanal (HS) Número de Testadores(NT) Time Box (TB): 2,3 ou 4 (Semanas)

Observação: Para times que possuem membros com carga horária distintas, soma-se as horas individualmente de cada membro no time box.

Os impedimentos podem impactar bastante na produção, limitando imediatamente a capacidade máxima produtiva. Nesse exemplo, o impacto dos riscos de impedimento (RI) é de 30%. Aqui é que entra aqueles 15 min de cafezinho, twiiter, bate papo e até mesmo outras tarefas paralelas!

Capacidade de Produção após identificação dos riscos

Capacidade de Produção = Capacidade Máxima - Capacidade Máxima * RI

Tempo consumido por Impedimentos

Tempo consumido por Impedimentos

Capacidade de Produção após identificação dos riscos

Retorno dos Testes

Para se calcular a capacidade realista de horas ou pontos de testes em um sprint, deve ser estimada a porcentagem de estórias que retornam dos teste (PRT). Essa estimativa deverá ser aprimorada a medida que o time amadurece e ganha experiência.

Tempo consumido por Impedimentos

Capacidade de Produção após identificação dos riscos

Após estimar a porcentagem de ESTÓRIAS que retornam do teste (reprovadas), a equipe deve estimar o tempo para a refatoração desses testes. Normalmente, a refatoração dos testes leva bem menos tempo do que o teste inicial.

Retorno dos Testes

Tempo de Refatoração

Tempo consumido por Impedimentos

Capacidade de Produção após identificação dos riscos

Ao possuir estimativas de retorno do teste e tempo de refatoração, e ainda a capacidade de produção de testes em um sprint após estimativa dos riscos, fica fácil descobrir o número realista de horas de produção que caberá no sprint.

Tempo de Refatoração

Retorno dos Testes

Tempo consumido por Impedimentos

Capacidade de Produção após identificação dos riscos

Capacidade Realista

Retorno dos Testes

Capacidade Realista de Produção do Teste (CRT) = (MPT * (1-RI) / TET) / (1+PRT * TRT)

Tempo de Refatoração

Após descobrir a capacidade realista de produção do

teste, já é possível aplicar a amortização no tempo

total das estórias de um sprint.

Tempo Estimado da Estória (EE) Tempo Estimado da Estória + Testes (TEE) = EE + (EE * TET)

Tempo Total das Estória (TTE) = ∑TEE – CRT

* CRT = (MPT * (1-RI) / TET) / (1+PRT * TRT)

Variáveis:

Tempo Estimado da Estória (EE) Tempo Estimado da Estória + Testes (TEE) = EE + (EE * TET)

Tempo Total das Estória (TTE) = ∑TEE – (∑TEE –∑EE – CRT)

Horas /Homem Semanal (HS) Número de Desenvolvedores (ND) Número de Testadores (NT) Time Box (TB) – 2,3 ou 4 (Semanas) Porcentagem de Retorno do Teste (PRT) = % de estórias que não passam no teste durante um Sprint Tempo Estimado do Teste/ Estória (TET) = %EE: Tempo em relação a estória destinado ao teste (exemplo: se uma estória possui um tempo estimado em 10 horas, e o TET é 150% logo o TET em relação a estória/tarefa é 15 horas)

Tempo de Correção das Estórias/Tarefas (TCT) = %EE Tempo em relação a estória destinado a correção (exemplo: se uma tarefa possui um tempo estimado em 10 horas, e o TCT é 40% logo o TCT em relação a tarefa é 4 horas) Tempo de Refatoração de Testes (TRT) = %TEE Impacto dos Riscos (RI) = Porcentagem do impacto dos impedimentos sobre a produção.

Fórmulas:

Capacidade Máxima de Produção do Desenvolvimento (MPD) = HS * ND * TB Capacidade Realista de Produção do Desenvolvimento (RPD) = (MPD*(1-RI)) / (1+PRT*TCT) Capacidade Máxima de Produção do Teste (MPT) = HS * NT * TB Capacidade Realista de Produção do Teste (CRT) = (MPT * (1-RI) / TET) / (1+PRT * TRT) Regra Geral 01: TTE <= RPD (caso não ocorra, haverá estórias acima da capacidade de produção) Regra Geral 02: CRT <= RPD (caso não ocorra, haverá desperdício de teste)

O time Scrum da empresa “X” conta com 4 desenvolvedores, além de um PO. A carga horária na empresa X é de 44

horas semanais. O time box das iterações (sprints) definido pela equipe é de 2 semanas. É sabido que as

estórias/tarefas produzidas pela equipe costumam ser aprovadas no processo de teste em pelo menos 60%. Os

próprios desenvolvedores são responsáveis pelos testes, sendo que a fase de teste costuma ser 50% mais custosa que

a fase de desenvolvimento. Também se sabe que as estórias/tarefas que retornam do teste são resolvidas na metade

do tempo em que foram desenvolvidas inicialmente e testadas novamente na metade do tempo do primeiro teste.

Outro fator importante é que nos últimos sprints os impedimentos, em média, impactaram em 30% da produção. Em

posse dessas informações, responda:

a) Qual a capacidade máxima de produção do desenvolvimento?

b) Qual a capacidade realista de produção do desenvolvimento?

_____________________________________________________________________________________________

HS = 44 a) MPD = HS * ND * TB ND = 4 MPD = 44 * 4 * 2

NT = 0 MPD = 352 TB = 2 PRT = 40/100 = 0.4 b) RPD = (MPD * (1 - RI)) / (1 + PRT * TCT) TET = 150/100 = 1.5 RPD = (352 * (1 - 0.3)) / (1 + 0.4 * 0.5) RI = 30/100 = 0.3 RPD = (352 – 105.6)/(1+0.2) TCT = 50/100 = 0.5 RPD = 246.4/1.2 RPD = 205.3

Solução

O time Scrum da empresa “ZUMBA” conta com 2 desenvolvedores e 1 testador. A carga horária na ZUMBA é de 44

horas semanais. O time box das iterações (sprints) definido pela equipe é de 2 semanas. É sabido que as

estórias/tarefas produzidas pela equipe costumam ser aprovadas no processo de teste em pelo menos 70%. Os

desenvolvedores não realizam testes, eles contam com o auxílio de um tester. A fase de teste costuma ser 50% mais

custosa que a fase de desenvolvimento. Também se sabe que as estórias/tarefas que retornam do teste são resolvidas

na metade do tempo em que foram desenvolvidas inicialmente e testadas novamente na metade do tempo do primeiro

teste. Outro fator importante é que nos últimos sprints os impedimentos, em média, impactaram em 30% da

produção. Em posse dessas informações, responda:

a) Qual a capacidade máxima de produção do desenvolvimento?

b) Qual a capacidade realista de produção do desenvolvimento?

c) Qual a capacidade máxima de produção do teste?

d) Qual a capacidade realista de produção do teste?

HS = 44 a) MPD = HS * ND * TB c) MPT = HS * NT * TB ND = 2 MPD = 44 * 2 * 2 MPT = 44 * 1 * 2

NT = 1 MPD = 176 MPT = 88 TB = 2 PRT = 40/100 = 0.3 b) RPD = (MPD * (1 - RI)) / (1 + PRT * TCT) d) CRT= (MPT * (1-RI) / TET) / (1+PRT * TRT)

TET = 150/100 = 1.5 RPD = (176* (1 - 0.3)) / (1 + 0.3 * 0.5) TMT = (88 * (1-0.3) / 1.5) / (1 + 0.3 * 0.5)

RI = 30/100 = 0.3 RPD = (176 – 52.8)/(1+0.2) TMT = ((88 – 26.4) / 1.5) / (1.2)

TCT = 50/100 = 0.5 RPD = 123.2/1.2 TMT = (61.6 / 1.5) / 1.2

TRT = 0.5 RPD = 102.6 TMT = 34.2

Solução