A linha de montagem de SW -n paulo caroli - QconSP 2010

Post on 01-Dec-2014

1.706 views 1 download

description

Esta palestra sobre “Agile Card Wall” explica esta abordagem única para a gestão e acompanhamento do desenvolvimento de software. Você vai aprender técnicas valiosas que podem ser aplicadas a qualquer empresa e equipe que procura melhorar a sua implementação Agil. Você vai descobrir como uma simples ferramenta que complementa as práticas, princípios e valores de Agile pode transformar sua organização. Nesta palestra voce vai entender como cartões na parede tornam conceitos básicos de Scrum, Lean e XP visíveis a todo time.

Transcript of A linha de montagem de SW -n paulo caroli - QconSP 2010

Paulo Caroli Agile Coach

pcaroli@thoughtworks.com Twitter: @paulocaroli

A linha de montagem de SW representada como cartões na parede

Agenda

• Workflow• Desenvolvimento de SW e Agile• Cartões na parede• Conceitos• Q&A

Workflow

Um fluxo de trabalho (workflow) é uma sequência de etapas e atividades de trabalho realizado por uma pessoa

ou uma equipe, para alcançar um objetivo específico.

Um fluxo de trabalho sequencial é um fluxo de trabalho onde cada etapa do trabalho depende

da fase anterior.

Etapa 1 Etapa 2 Etapa N Final Goal(Done)

Exemplos de Workflow

Workflow do Starbucks

Na Fila Caixa Barista Bebida Pronta

14

Na Fila Caixa Barista Bebida Pronta

15

Na Fila Caixa Barista Bebida Pronta

16

Na Fila Caixa Barista Bebida Pronta

17

Na Fila Caixa Barista Bebida Pronta

18

Na Fila Caixa Barista Bebida Pronta

A Workflow snapshot (instantâneo)

20

Na Fila Caixa Barista Bebida Pronta

Desenvolvimento de SW

Desenvolvimento de SW não é uma atividade altamente previsível nem repetitiva.

Desenvolvimento de SW é uma ativitade empírica!

“relativo aos médicos cuja habilidade derive da experiência prática e não da instrução da

teoria.” (Wikipedia)

Agile

Agile enfatiza o controle do processo empírico.

Inspect and adapt

Scrum’s sprint retrospectives

Lean’s kaizen

XP’s weekly iterations and short releases

Iterativo e Incremental

Incoming work

requirement

analysis

planning

design

integrating

deployed

testing

implementation

feedback

Iteration

Iteration

Iteration

Work backlog

Completed this iteration

Planned for this iteration

Completed in previous iterations

Completed this iteration

Completed this iteration

Completed in previous iterations

Planned for this iteration

Planned for this iteration

Work backlog

Entrega Incremental

32

func

tiona

lity

time

Tradicional

34

func

tiona

lity

time

35

func

tiona

lity

time

36

func

tiona

lity

time

Meses depois…

38

func

tiona

lity

time

Agile

40

func

tiona

lity

time

41

func

tiona

lity

time

42

func

tiona

lity

time

43

func

tiona

lity

time

“Pequenos Requisitos”

Pra cada pequeno requisito…

O workflow de desenvolvimento de SW

Analysis Design Code Test Deploy

um workflow sequencial…

1 2 3 4 5

A D C T R

Em métodos tradicionais, o workflow e o desenvolvimento são sequenciais

A D C T R

time

Tradicional

60

func

tiona

lity

time

A D C T R

Em Agile, o workflow é sequencial, mas o desenvolvimento é concorrente

Trabalhamos concorrentemente nos pequenos requisitos

Agile

63

A D C T R

A D C T R

A D C T R

A D C T R

A D C T R

func

tiona

lity

time

Concorrente, mas integrando continuamente…

Continuous Integration

66

Continuous Integration

A D C T R

A D C T R

A D C T R

A D C T R

A D C T R

func

tiona

lity

timeContinuous Integration

A linha de montagem de SW(comum para times usando Agile)

A D C T R

time

75

A D C T R

76

A D C T R

10

9

7

77

A D C T R

10

9

7

78

A D C T R

10

9

7

79

A D C T R

10

9

7

80

A D C T R

10

9

7

81

A D C T R

10

9

7

Um exemplo de Card Wall

In Dev In QA Signed Off

Backlog

10

5

9

31

18

17

21

4

7

51

12

John

Suzy

Paul

Amy

Dan

Outro exemplo de Card Wall

Doing DoneTo Do

10

5

9

3118

17

21

47

5

112

John

Suzy

Paul

Amy

Parâmetros Essenciais

87

A D C T B

A D C T B

A D C T B

A D C T B

A D C T B

Throughput

Latency

Bandwidth

func

tiona

lity

time

Doing DoneTo Do

10

5

9

3118

17

21

47

5

112

John

Suzy

Paul

Amy

Bandwidth

Doing DoneTo Do

10

5

9

3118

17

21

47

5

112

John

Suzy

Paul

Amy

Latency

10 10Day 1Day 6

Doing DoneTo Do

10

5

9

3118

17

21

47

5

112

John

Suzy

Paul

Amy

Day 1

Throughput

Day 2

Day 3

Outro exemplo:ninguém está pareando

In Dev In QA Signed Off

Backlog

10

5

9

31

18

17

21

45

112John

Suzy

Paul

Amy

Dan

Em que a Suzy está trabalhando?

In Dev In QA Signed Off

Backlog

10

5

9

31

18

17

21

45

112John

Suzy

Paul

Amy

Dan

In Dev In QA Signed Off

Backlog

10

5

9

31

18

17

21

4 5

112John

Suzy

Paul

Amy

Onhold

Dan

Informação Visível

Title…

Onhold

name

3

Some notes

Pairing

In Dev In QA Signed Off

Backlog

10

5

9 3118

17

21

4

7

5 1

12

John Suzy

Paul Amy

Dan

Queue

In Dev In QA Signed Off

Backlog

10

5

9 3118

17

21

4

7

5 1

12

John Suzy

Paul Amy

Dan

Qual é o estado do cartão #7?

In Dev In QA Signed Off

Backlog

10

5

9 3118

17

21

4

7

5 1

12

John Suzy

Paul Amy

Dan

10

5

9

3118

17

21

4 7

5 1

12

John Suzy

Paul Amy

Dan

In Dev In QA Signed Off

Backlog Q

Equipe multi-funcional e pairing

10

5

9

3118

17

21

4

7

5

1

12

John Suzy

Paul Amy

Dan

In Dev In QA Signed Off

Backlog Q

10

5

9

3118

17

21

4

7

5

1

12

John Suzy

Paul Amy

Dan

In Dev In QA Signed Off

Backlog Q

10

5

9

3118

17

21

4

7

5

1

12

John Suzy

Paul

Amy

Dan

In Dev In QA Signed Off

Backlog Q

Movendo o trabalho

10

5

9 3118

17

21

4

7

5 1

12

John Suzy

Paul Amy

Dan

In Dev In QA Signed Off

Backlog Q

10

5

9 3118

17

21

4

7

5 1

12

John Suzy

Paul Amy

Dan

31

In Dev In QA Signed Off

Backlog Q

9

10

5

918

17

21

4

7

5 1

12

John Suzy

Paul Amy

Dan

31

In Dev In QA Signed Off

Backlog Q

9

10

5

18

17

21

4

7

5 1

12

John Suzy

Paul Amy

Dan

31

In Dev In QA Signed Off

Backlog Q

Pull System

319

Paul Amy

Down StreamUp Stream > Workflow >

9 31

Paul Amy 31

Down StreamUp Stream > Workflow >

99

Paul Amy 31

Down StreamUp Stream > Workflow >

9

Paul Amy 31

Down StreamUp Stream > Workflow >

Gargalo

9

10

5

18

17

21

4

7

5 1

12

John Suzy

Paul Amy

Dan

31

In Dev In QA Signed Off

Backlog Q

9

10

5

1817

21

4

7

5 1

12

John Suzy

Paul

Dan31

Amy

In Dev In QA Signed Off

Backlog Q

Algum problema?

9

10

5

1817

21

4

7

5 1

12

John Suzy

Paul

Dan31

Amy

In Dev In QA Signed Off

Backlog Q

Limite

9

10

5

18

17

21

4

7

5 1

12

John Suzy

Paul Amy

Dan

31

In Dev (2)

In QA(1)

Signed Off

Backlog Q(2)

Pull System e Limites

319

Paul Amy

Down Stream(2)

Up Stream(X)

Workflow >(Y)

9 31

Paul Amy 31

Down Stream(2)

Up Stream(X)

Workflow >(Y)

99

Paul Amy 31

Down Stream(2)

Up Stream(X)

Workflow >(Y)

9

Paul Amy 31

Down Stream(2)

Up Stream(X)

Workflow >(Y)

9

Paul Amy 31

Down Stream(2)

Up Stream(X)

Workflow >(Y)

Get more work

9

Paul Amy 31

Down Stream(2)

Up Stream(X)

Workflow >(Y)

53

Pull System, Queue e Limites

9

10

5

18

17

21

4

7

5 1

12

John Suzy

Paul Amy

Dan

31

In Dev (2)

In QA(1)

Signed Off

Backlog Q(2)

80% done on Card #9

9

10

5

18

17

21

4

7

5 1

12

John Suzy

Paul Amy

Dan

31

In Dev (2)

In QA(1)

Signed Off

Backlog Q(2)

9

10

5

18

17

21

4

7

5 1

12

John Suzy

Paul

Dan

31Amy

Amy

In Dev (2)

In QA(1)

Signed Off

Backlog Q(2)

9

10

5

18

17

21

4

7

5 1

12

John Suzy

Paul

Dan

31

Amy

In Dev (2)

In QA(1)

Signed Off

Backlog Q(2)

9

10

5

18

17

21

4

7

5 1

12

John Suzy

Paul

Dan

31

Amy5

In Dev (2)

In QA(1)

Signed Off

Backlog Q(2)

9

10

5

18

17

21

4

7

1

12

John Suzy

Paul

Dan

31

Amy5

In Dev (2)

In QA(1)

Signed Off

Backlog Q(2)

9

10

5

18

17

21

4

7

1

12

John Suzy

Paul

Dan

31

Amy5

7

In Dev (2)

In QA(1)

Signed Off

Backlog Q(2)

9

10

5

18

17

21

4

1

12

John Suzy

Paul

Dan

31

Amy5

7

In Dev (2)

In QA(1)

Signed Off

Backlog Q(2)

9

10

5

18

17

21

4

1

12

John Suzy

Paul

Dan

31

Amy5

7

Amy

In Dev (2)

In QA(1)

Signed Off

Backlog Q(2)

9

10

5

18

17

21

4

1

12

John Suzy

Paul

Dan

31

5

7

Amy

In Dev (2)

In QA(1)

Signed Off

Backlog Q(2)

9

10

5

18

17

21

4

1

12

John Suzy

Paul

Dan

31

5

7

9

Amy

In Dev (2)

In QA(1)

Signed Off

Backlog Q(2)

10

10

5

18

17

21

4

1

12

John Suzy

Paul

Dan

31

5

7

9

Amy

In Dev (2)

In QA(1)

Signed Off

Backlog Q(2)

10

10

In Dev (2)

In QA(1)

Signed Off

Backlog

10

5

18

17

21

4

1

12

John Suzy

Paul

Dan

Q(2)

31

5

7

9

Amy

10

In Dev (2)

In QA(1)

Signed Off

Backlog

5

18

17

21

4

1

12

John Suzy

Paul

Dan

Q(2)

31

5

7

9

Amy

Mais sobre Queue e Limites

Doing DoneTo Do

10

5

9

3118

17

21

47

5

112

John

Suzy

Paul

Amy

Doing(4)

DoneTo Do

10

5

9

3118

17

21

47

5

112

John

Suzy

Paul

Amy

Doing(4)

DoneTo Do

10

5

9

3118

17

21

47

5

112

John

Suzy

Paul

Amy

priority

Doing(4)

DoneTo Do

10

59

3118

17

21

4

7

5

112

John

Suzy

Paul

Amy

Q(2)

WIP(4)

DoneTo Do

10

5

9

31

18

17

21

4

7

5

112

John

Suzy

Paul

Amy

P1(1)

P2(2)

WIP(4)

DoneTo Do

10

5

9

31

18

17

21

4

7

5

112

John

Suzy

Paul

Amy

P1(1)

P2(2)priority

Detalhando o trabalho

In Dev In QA Signed Off

Backlog

10

5

9

31

18

4

7

5112

In Dev In QA Signed Off

Backlog

12

In Dev In QA Signed Off

Backlog

12

In Dev In QA Signed Off

Backlog

12

In Dev In QA Signed Off

Backlog

12

In Dev In QA Signed Off

Backlog

1212

In Dev In QA Signed Off

Backlog

12

Outra forma

In DevIn QABacklog

10

5

9

3117

21

4

7

512

Specify Execute Done

T TTT

T T TT

TT

T T

TT T T

In DevIn QABacklog

10

5

9

3117

21

4

7

512

Specify Execute Done

T TTT

T T TT

TT

T T

TT T T

In DevIn QABacklog

10

5

9

3117

21

4

7

512

Specify Execute Done

T TTT

T T TT

TT

T T

TT T T

In DevIn QABacklog

10

5

9

3117

21

4

7

512

Specify Execute Done

T TTT

T T TT

TT

T T

TT T T

In DevIn QABacklog

10

5

9

3117

21

4

7

512

Specify Execute Done

T TTT

T T TT

TT

T T

TT T T

In DevIn QABacklog

10

5

9

3117

21

4

7

5

12

Specify Execute Done

T TTT

T T TT

TT

T T

TT T T

In DevIn QABacklog

10

5

9

3117

21

4

7

5

12

Specify Execute Done

T TTT

T T TT

TT

T T

TT T T

Bugs

10

In Dev (2)

In QA(1)

Signed Off

Backlog

5

18

17

21

4

1

12

John Suzy

Paul

Dan

Q(2)

31

5

7

9

Amy

Q(2)

Bug on Card #7

10

In Dev (2)

In QA(1)

Signed Off

Backlog

5

18

17

21

4

1

12

John Suzy

Paul

Dan

Q(2)

31

5

7

9

Amy

Q(2)

10

In Dev (2)

In QA(1)

Signed Off

Backlog

5

18

17

21

4

1

12

John Suzy

Paul

Dan

Q(2)

31

5

7

9

Amy

Q(2)

10

In Dev (2)

In QA(1)

Signed Off

Backlog

5

18

17

21

4

1

12

John Suzy

Paul

Dan

Q(2)

31

5

7

9

Amy

Q(2)

10

In Dev (2)

In QA(1)

Signed Off

Backlog

5

18

17

21

4

1

12

John Suzy

Paul

Dan

Q(2)

31

5

7

9

Amy

Q(2)

9

10

In Dev (2)

In QA(1)

Signed Off

Backlog

5

18

17

21

4

1

12

John Suzy

Paul

Dan

Q(2)

31

5

7

Amy

Q(2)

9

10

In Dev (2)

In QA(1)

Signed Off

Backlog

5

18

17

21

4

112

John Suzy

Paul

Dan

Q(2)

31

5

7

Amy

Q(2)

7

9

10

In Dev (2)

In QA(1)

Signed Off

Backlog

5

18

17

21

4

112

John Suzy

Paul

Dan

Q(2)

31

5

Amy

Q(2)

Mais Bugs

In DevIn QABacklog

10

5

9

3117

21

4

7

512

Specify Execute Done

T TTT

T T TT

TT

T T

TT T T

In DevIn QABacklog

10

5

9

3117

21

4

7

512

Specify Execute Done

T TTT

T T TT

TT

T T

TT T T

In DevIn QABacklog

10

5

9

3117

21

4

7

512

Specify Execute Done

T TTT

T T TT

TT

T T

TT T T

In DevIn QABacklog

10

5

9

3117

21

4

75

12

Specify Execute Done

T TTT

T T TT

TT

T T

TT T T

In DevIn QABacklog

10

5

9

3117

21

4

75

12

Specify Execute Done

T TTT

T T TT

TT

T T

TT T T

T

In DevIn QABacklog

10

5

9

3117

21

4

75

12

Specify Execute Done

T TTT

T T TT

TT

T T

TT T T

T

In DevIn QABacklog

10

5

9

3117

21

4

75

12

Specify Execute Done

T TTT

T T TT

TT

T T

TT T T

T

In DevIn QABacklog

10

5

9

3117

21

4

7

512

Specify Execute Done

T TTT

T T TT

TT

T T

TT T T

T

Bugs de regressão (além dos cartões na parede)

10

In Dev (2)

In QA(1)

Signed Off

Backlog

5

18

17

21

4

1

12

John Suzy

Paul

Dan

Q(2)

31

5

7

9

Amy

Q(2)

10

In Dev (2)

In QA(1)

Signed Off

Backlog

5

18

17

21

4

1

12

John Suzy

Paul

Dan

Q(2)

31

5

7

9

Amy

Q(2)

111

10

In Dev (2)

In QA(1)

Signed Off

Backlog

5

18

17

21

4

1

12

John Suzy

Paul

Dan

Q(2)

31

5

7

9

Amy

Q(2)

111

Muitos bugs…

In DevIn QABacklog

10

5

9

3117

21

4

7

512

Specify Execute Done

T TTT

T T TT

TT

T T

T T T

Bugs

T

199

In Caixa Line

Caixa Barista Bebida Prontaready

200

Na Fila Caixa(1)

Barista(2)

Bebida Pronta(4)

Q(3)

Mais um exemplo…

Doing DoneTo Do

PPT

Q&A

Thank you!

Tips

Doing DoneTo Do

PPT

Q&A

Thank you!

Tips

Tips

Doing DoneTo Do

PPT

Q&A

Thank you!

Decida o que seus cartões representam

Refatore sua Agile Wall

Inspect and Adapt

Empower the team

Não se esqueça sobre os Big Visible Charts

A parede é 2D, pense em como adicionar

outras dimensões

Cuidado com a poluição visual

Complementado por ferramentas

Tips

Doing DoneTo Do

PPT

Q&A

Thank you!

Tips

Doing DoneTo Do

PPT

Q&A

Thank you!

Tips

Doing DoneTo Do

PPTQ&A

Thank you!

Obrigado!Perguntas?

A linha de montagem de SW representada como cartões na parede

Paulo Caroli Agile Coach

pcaroli@thoughtworks.com Twitter: @paulocaroli