A linha de montagem de SW representada como cartões na paredePaulo CaroliAgile Coachpcaroli@thoughtworks.comTwitter: @paulocaroli
AgendaWorkflowDesenvolvimento de SW e AgileCartõesnaparedeConceitosQ&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.
Exemplos de Workflow
Workflow do Starbucks
Na FilaCaixaBaristaBebidaPronta14
Na FilaCaixaBaristaBebidaPronta15
Na FilaCaixaBaristaBebidaPronta16
Na FilaCaixaBaristaBebidaPronta17
Na FilaCaixaBaristaBebidaPronta18
A Workflow snapshot (instantâneo)
Na FilaCaixaBaristaBebidaPronta20
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 adaptLean’s kaizenScrum’s sprint retrospectivesXP’s weekly iterations and short releases
Iterativo e Incremental
Entrega Incremental
functionalitytime32
Tradicional
functionalitytime34
functionalitytime35
functionalitytime36
Mesesdepois…
functionalitytime38
Agile
functionalitytime40
functionalitytime41
functionalitytime42
functionalitytime43
“PequenosRequisitos”
Pracadapequenorequisito…
O workflow de desenvolvimento de SW
um workflow sequencial…
Emmétodos tradicionais, o workflow e o desenvolvimento sãosequenciais
ADCTRtime
TradicionalfunctionalityADCTRtime60
Em Agile, o workflow ésequencial, mas o desenvolvimentoé concorrente
Trabalhamosconcorrentementenospequenosrequisitos
AgilefunctionalityADCTRADCTRADCTRADCTRADCTRtime63
Concorrente, masintegrandocontinuamente…
Continuous Integration
Continuous Integration66functionalityContinuous IntegrationADCTRADCTRADCTRADCTRADCTRtime
A linha de montagem de SW(comumpara times usandoAgile)
ADCTRtime
75ADCTR
76ADCTR7109
77ADCTR7109
78ADCTR7109
79ADCTR7109
80ADCTR7109
81ADCTR7109
Um exemplo de Card Wall
In QASigned OffBacklogIn Dev7125110JohnDan4Suzy9182131Paul175Amy
Outroexemplo de Card Wall
DoneTo DoDoing12101John754Suzy9211831Paul175Amy
Parâmetros Essenciais
87LatencyADCTBfunctionalityADCTBBandwidthADCTBADCTBThroughputADCTBtime
DoneTo DoDoing1210Bandwidth1John754Suzy9211831Paul175Amy
DoneTo DoDoingDay 61210Day 110101JohnLatency754Suzy9211831Paul175Amy
DoneTo DoDoingThroughput12101JohnDay 175Day 24Suzy92118Day 331Paul175Amy
Outroexemplo:ninguémestápareando
In QASigned OffBacklogIn DevDan1012John1315Suzy491821Paul17Amy5
Emque a Suzy está  trabalhando?
In QASigned OffBacklogIn DevDan1012John1315Suzy491821Paul17Amy5
In QASigned OffBacklogIn DevDan1012John13145SuzyOnhold91821Paul17Amy5
Informação Visível
Some notesTitle…3nameOnhold
Pairing
Signed OffIn DevIn QABacklog12101JohnSuzy5Dan493118PaulAmy217517
Queue
Signed OffIn DevIn QABacklog12101JohnSuzy5Dan493118PaulAmy217517
Qual é o estado do cartão #7?
Signed OffIn DevIn QABacklog12101JohnSuzy5Dan493118PaulAmy217517
In QASigned OffIn Dev QBacklog10121JohnSuzy57Dan49311821PaulAmy517
Equipemulti-funcional e pairing
In QASigned OffIn Dev QBacklogDan10121JohnSuzy49311821PaulAmy51775
In QASigned OffIn Dev QBacklog121JohnSuzy49311821PaulAmy517107Dan5
In QASigned OffIn Dev QBacklog121JohnSuzy49311821Amy517107DanPaul5
Movendo o trabalho
In QASigned OffIn Dev QBacklog12101JohnSuzy57Dan493118PaulAmy21517
In QASigned OffIn Dev QBacklog12101JohnSuzy57Dan493118PaulAmy3121517
In QASigned OffIn Dev QBacklog12101JohnSuzy57Dan49918PaulAmy3121517
In QASigned OffIn Dev QBacklog12101JohnSuzy57Dan4918PaulAmy3121517
Pull System
Up Stream>  Workflow >Down Stream931PaulAmy
Up Stream> Workflow >Down Stream931PaulAmy31
Up Stream> Workflow >Down Stream99PaulAmy31
Up Stream> Workflow >Down Stream9PaulAmy31
Gargalo
In QASigned OffIn Dev QBacklog12101JohnSuzy57Dan4918PaulAmy3121517
In QASigned OffIn Dev QBacklog10211JohnSuzy57Dan3141718PaulAmy1259
Algumproblema?
In QASigned OffIn Dev QBacklog10211JohnSuzy57Dan3141718PaulAmy1259
Limite
In QA(1)Signed OffIn Dev (2)Q(2)Backlog12101JohnSuzy57Dan4918PaulAmy3121517
Pull System e Limites
Up Stream(X)Workflow >(Y)Down Stream(2)931PaulAmy
Up Stream(X)Workflow >(Y)Down Stream(2)931PaulAmy31
Up Stream(X)Workflow >(Y)Down Stream(2)99PaulAmy31
Up Stream(X)Workflow >(Y)Down Stream(2)9PaulAmy31
Up Stream(X)Workflow >(Y)Down Stream(2)Get more work9PaulAmy31
Up Stream(X)Workflow >(Y)Down Stream(2)539PaulAmy31
Pull System, Queue e Limites
In QA(1)Signed OffIn Dev (2)Q(2)Backlog12101JohnSuzy57Dan4918PaulAmy3121517
80% done on Card #9
In QA(1)Signed OffIn Dev (2)Q(2)Backlog12101JohnSuzy57Dan4918PaulAmy3121517
In QA(1)Signed OffIn Dev (2)Q(2)Backlog12101JohnSuzy57DanAmy4918PaulAmy3121517
In QA(1)Signed OffIn Dev (2)Q(2)Backlog12101JohnSuzy57DanAmy4918Paul3121517
In QA(1)Signed OffIn Dev (2)Q(2)Backlog12101JohnSuzy57DanAmy459Paul311821517
In QA(1)Signed OffIn Dev (2)Q(2)Backlog12101JohnSuzy7DanAmy459Paul311821517
In QA(1)Signed OffIn Dev (2)Q(2)Backlog12101JohnSuzy77DanAmy459Paul311821517
In QA(1)Signed OffIn Dev (2)Q(2)Backlog12101JohnSuzy7DanAmy459Paul311821517
In QA(1)Signed OffIn Dev (2)Q(2)Backlog12101JohnSuzy7DanAmy459PaulAmy311821517
In QA(1)Signed OffIn Dev (2)Q(2)Backlog12101JohnSuzy7Dan459PaulAmy311821517
In QA(1)Signed OffIn Dev (2)Q(2)Backlog1210101JohnSuzy7Dan9459PaulAmy311821517
In QA(1)Signed OffIn Dev (2)Q(2)Backlog1210101JohnSuzy7Dan945PaulAmy311821517
In QA(1)Signed OffIn Dev (2)Q(2)Backlog12101JohnSuzy7Dan94510PaulAmy311821517
In QA(1)Signed OffIn Dev (2)Q(2)Backlog121JohnSuzy7Dan94510PaulAmy311821517
Maissobre Queue e Limites
DoneTo DoDoing12101John754Suzy9211831Paul175Amy
DoneTo DoDoing(4)12101John754Suzy9211831Paul175Amy
DoneTo DoDoing(4)priority12101John754Suzy9211831Paul175Amy
DoneTo DoQ(2)Doing(4)121017John545Suzy9211831Paul17Amy
P2(2)DoneTo DoP1(1)WIP(4)7121John31554Suzy9102118Paul17Amy
P2(2)DoneTo DoP1(1)WIP(4)priority7121John31554Suzy9102118Paul17Amy
Detalhando o trabalho
In QASigned OffBacklogIn Dev75112109184315
In QASigned OffBacklogIn Dev12
In QASigned OffBacklogIn Dev12
In QASigned OffBacklogIn Dev12
In QASigned OffBacklogIn Dev12
In QASigned OffBacklogIn Dev1212
In QASigned OffBacklogIn Dev12
Outra forma
In DevIn QABacklogExecuteSpecifyDone12TT10TT54TTTTTT9217TT3117TTTT5
In DevIn QABacklogExecuteSpecifyDone12TT10TT54TTTTTT9217TT3117TTTT5
In DevIn QABacklogExecuteSpecifyDone12TT10TT54TTTTTT9217TT3117TTTT5
In DevIn QABacklogExecuteSpecifyDone12TT10TT54TTTTTT9217TT3117TTTT5
In DevIn QABacklogExecuteSpecifyDone12TT10TT54TTTTTT9217TT3117TTTT5
In DevIn QABacklog21ExecuteSpecifyDoneTT12TT10TT54TTTTTT973117TTTT5
In DevIn QABacklog21ExecuteSpecifyDoneTT12TTTT54TTTTTT91073117TTTT5
Bugs
In QA(1)Signed OffIn Dev (2)Q(2)Q(2)Backlog1251JohnSuzy7Dan9451021PaulAmy311817
Bug on Card #7
In QA(1)Signed OffIn Dev (2)Q(2)Q(2)Backlog1251JohnSuzy7Dan9451021PaulAmy311817
In QA(1)Signed OffIn Dev (2)Q(2)Q(2)Backlog1251JohnSuzy7Dan9451021PaulAmy311817
In QA(1)Signed OffIn Dev (2)Q(2)Q(2)Backlog1251JohnSuzyDan9451021PaulAmy3118717
In QA(1)Signed OffIn Dev (2)Q(2)Q(2)Backlog1251JohnSuzyDan94510PaulAmy312118717
In QA(1)Signed OffIn Dev (2)Q(2)Q(2)Backlog12591JohnSuzyDan4510PaulAmy312118717
In QA(1)Signed OffIn Dev (2)Q(2)Q(2)Backlog591JohnSuzy12Dan4510PaulAmy312118717
In QA(1)Signed OffIn Dev (2)Q(2)Q(2)Backlog7591JohnSuzy12Dan4510PaulAmy31211817
Mais Bugs
In DevIn QABacklogExecuteSpecifyDone12TT10TT54TTTTTT9217TT3117TTTT5
In DevIn QABacklogExecuteSpecifyDone12TT10TT54TTTTTT9217TT3117TTTT5
In DevIn QABacklogExecuteSpecifyDone2112TTTTTT5104TTTTTT973117TTTT5
In DevIn QABacklogExecuteSpecifyDone2112TTTTTT104TTTTTT9573117TTTT5
In DevIn QABacklogExecuteSpecifyDone2112TTTTTT104TTTTTT957T3117TTTT5
In DevIn QABacklogExecuteSpecifyDone2112TTTTTT104TTTTTT957T3117TTTT5
In DevIn QABacklogExecuteSpecifyDone2112TTTTTT104TTTTTT957T3117TTTT5
In DevIn QABacklogExecuteSpecifyDone21512TTTTTT10T4TTTTTT973117TTTT5
Bugs de regressão (além dos cartões na parede)
In QA(1)Signed OffIn Dev (2)Q(2)Q(2)Backlog1251JohnSuzy7Dan9451021PaulAmy311817
In QA(1)Signed OffIn Dev (2)Q(2)Q(2)Backlog1251JohnSuzy7Dan9451021PaulAmy311811117
In QA(1)Signed OffIn Dev (2)Q(2)Q(2)Backlog211251JohnSuzy7Dan94510PaulAmy311811117
Muitos bugs…
In DevIn QABacklogExecuteSpecifyDone1012TTTT554TTTTTT9217TT3117TTTTBugs
BebidaProntareadyIn Caixa LineCaixaBarista199
Caixa(1)Barista(2)BebidaPronta(4)Q(3)Na Fila200
Mais um exemplo…
DoneTo DoDoingTipsPPTQ&AThank you!
DoneTo DoDoingTipsPPTQ&AThank you!
DoneTo DoDoingTipsPPTQ&AThank you!
Decida o queseuscartõesrepresentam
Refatoresua Agile Wall
Inspect and Adapt
Empower the team
Não se esqueça sobre osBig Visible Charts
A parede é 2D, pense em como adicionar outras dimensões
Cuidado com a poluição visual
Complementado por ferramentas
DoneTo DoDoingTipsPPTQ&AThank you!
DoneTo DoDoingPPTQ&ATipsThank you!
DoneTo DoDoingPPTQ&ATipsThank you!
Obrigado!Perguntas?A linha de montagem de SW representada como cartões na paredePaulo CaroliAgile Coachpcaroli@thoughtworks.comTwitter: @paulocaroli

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