Nesta seo voc encontra artigos voltados para a prtica de mtodos geis.
Flavio S. Mariotti
flaviomariotti@gmail.com
Especialista em Engenharia e Arquitetura
O
de Software. Ps Graduado pelo Instituto Kanban baseado na ideia O Kanban, basicamente, tem como
de Pesquisa Avanada de Tecnologia IBTA onde atividades em andamento principal objetivo transformar o tra-
em Engenharia de Software baseado em devem ser limitadas. Um novo balho em andamento visvel para toda
SOA. Bacharel em Sistemas de Informao item s pode ser iniciado quando o item equipe, criando um sinal visual que
pela UNIUBE e tcnico em Processamento
em andamento finalizado ou quando indica que o novo trabalho pode ou no
de Dados pela FEB. Consultor independente
no desenvolvimento de software em arqui- uma funo automtica inicia o mesmo ser iniciado e se o limite acordado para
tetura OO, SOA, GIS e Plataforma .NET. instantaneamente. cada fase est sendo respeitado.
Neste momento, provavelmente voc est se perguntando, Gerenciamento do lead-time, ou seja, tempo que a ativi-
o que isso tem de interessante? David J. Anderson teve essa dade leva para passar por todas as fases at a sua entrega.
mesma sensao e segundo ele A teoria do Kanban no soa
muito revolucionria nem parece afetar profundamente o O sistema Kanban
desempenho, cultura, capacidade e maturidade de uma equipe Para entendermos a proposta desde conceito, vamos primei-
e a organizao na qual est inserida. Mas o impressionante ro estudar o sistema Kanban. Vamos chamar as tarefas que
que afeta! O Kanban parece uma mudana pequena e, no compe o painel Kanban de cartes. O nmero de cartes
entanto, muda tudo a respeito de uma empresa. representa a capacidade limite acordada em cada fase de um
Portanto, o Kanban no um processo e nem descreve papeis sistema que so colocadas em circulao.
e faces para serem seguidos. Podemos dizer que o Kanban Cada carto funciona como um mecanismo de sinalizao e o
uma abordagem para mudana gerencial do projeto, um concei- sistema s permite iniciar uma nova tarefa quando um carto
to para introduzir alteraes em um ciclo de desenvolvimento est disponvel. muito importante respeitar essa regra, e fazer
de software ou gerenciamento de projetos. com que qualquer novo trabalho espere em uma fila at que
Os mtodos geis fornecem transparncia sobre as ativida- um carto se torne disponvel.
des em andamento e concludas, e reportam mtricas com O sistema Kanban fornece um mtodo simples, barato e fcil
velocidade. O Kanban, no entanto, vai um passo alm e d de implementar e rapidamente comea a apresentar resultados
transparncia ao processo e seu fluxo, expondo gargalos, filas, permitindo gerenciar o limite de atividades em andamento e
variabilidade e desperdcios. Portanto, tudo que impacta no garantindo o bom desempenho da equipe.
desempenho da equipe de produo e para entrega de valor,
fica explcito no modelo Kanban. Afinal, por que usar um sistema Kanban?
Ao entender a proposta de um sistema Kanban, se torna
O que Kanban? simples perceber que o uso de um sistema prepara e limita o
O nome Kanban de origem japonesa e sua traduo seria trabalho em andamento para uma capacidade suportada pela
como sinal ou carto. Portanto, vamos chamar de sina- equipe. Esse recurso proporciona o equilbrio da demanda de
lizador ou melhor registro visual. O nome Kanban surgiu uma equipe controlando o seu rendimento, e consequentemente,
dos sistemas de carto usados nas indstrias de produo, que acelerando sua produo.
tinham como finalidade o gerenciamento do fluxo de trabalho simples deduzir que todas as pessoas produzem mais
atravs da organizao de desenvolvimento. quando conseguem equilibrar a vida pessoal e profissional.
O Kanban, com seu mecanismo de sinalizao, tem como O Kanban buscar atingir um ritmo sustentvel de desenvol-
objetivo apresentar uma atividade de trabalho em processo, vimento para que todos os indivduos possam alcanar esse
ou seja, o nmero de atividades ou cartes em circulao objetivo entre vida pessoal e profissional. Segundo David J.
equivalente capacidade do sistema. Anderson, O Kanban rapidamente elimina as questes que
Uma outra caracterstica importante do modelo Kanban o prejudicam o desempenho, e desafia uma equipe para se con-
conceito de puxar tarefa quando h capacidade de process- centrar em resolver essas questes a fim de manter um fluxo
la. Esse recurso vai de encontro ao tradicional modelo de constante de trabalho.
empurrar tarefa conforme sua demanda, mantendo assim o O Kanban atua fornecendo visibilidade nos processos, dei-
bom desempenho da equipe. Portanto, ao invs dos membros xando explcito os problemas e prendendo o foco da equipe em
que produzem o produto receberem atividades conforme suas qualidade. Portanto, este comportamento reflete os defeitos,
demandas, os requisitos so adicionados a lista de backlog e pontos de sobrecarga, custos econmicos sobre o fluxo de
puxados pelos membros que liberam suas atividades corren- rendimento e a variabilidade. A simples regra de limitar os
tes e se tornam disponveis para iniciar uma nova tarefa. trabalhos em andamento no sistema Kanban estimula maior
Uma boa metfora que descreve essa regra imaginarmos qualidade e maior desempenho na execuo de cada tarefa.
uma rodovia que suporta at 100 veculos para manter o fluxo O Kanban, com a combinao de fluxo, contribui para a reduo
de trafego com um bom desempenho, porm em todos os do estresse da equipe e melhora a previsibilidade e colaborao,
feriados essa rodovia recebe em torno de 200 veculos. Essa de- refletindo com isso, nas datas de vencimento para entrega de ta-
manda no suportada pela rodovia gera um congestionamento refas. Com a equipe produzindo e cumprindo os prazos de libera-
afetando consideravelmente o desempenho do trafego. Logo, o, o Kanban ajuda a fortalecer os laos de confiana dos clientes,
no adianta empurrar um numero de atividades no suportada parceiros, fornecedores e outras entidades relacionadas.
pela equipe, isso ir causar um congestionamento e afetar o Ao aplicar o Kanban, respeitando suas pequenas exigncias,
desempenho de produo. o sistema tende a contribuir para a maturidade da equipe,
A implementao do modelo Kanban se resume em trs podendo at afetar a cultura organizacional da empresa.
etapas que so: Com a identificao de falhas, a equipe consequentemente
Visualizar os processos; concentra-se em uma fora tarefa para resolv-las, e por contar
Limitar o trabalho em processo do ingls WIP (work in com maior contribuio da equipe, a tendncia de prevenir
progress); problemas futuros.
Nesta etapa do artigo, ser apresentado um modelo de quadro o sprint. A entrega com atraso apresenta riscos e tende a afetar
Kanban. Este exemplo ser customizado conforme as necessi- o desempenho da produo, afetando significativamente o
dades da equipe. O importante respeitar as poucas polticas resultado de valor entregue ao cliente.
exigidas pelo Kanban, e depois customizar na tentativa de O Scrum prope aos membros da equipe a trabalharem
acelerar e aperfeioar o conceito de comunicador visual. juntos em apenas uma necessidade antes de iniciar um novo
A Figura 1 ilustra um modelo simples de sinalizador visual item. O Kanban aplica essa orientao de forma implcita e
Kanban. Nesta representao, fica fcil identificar o limite de explcita, definindo um limite no nmero de itens em anda-
cartes estabelecidos para cada fase. Este limite est repre- mento. Ao limitar a quantidade de trabalho em andamento, a
sentado pelos nmeros em vermelho no cabealho. Os cartes equipe , consequentemente, forada a colaborar na busca por
ilustrados pelos retngulos representam uma breve histria soluo nos itens que apresentam riscos para o desempenho
dos usurios, ou seja, as demandas. As imagens com formato do desenvolvimento.
de rosto representam os responsveis pelos trabalhos em an- Outro benefcio alcanado com a aplicao de limites de
damento. Portanto, este exemplo aplica as trs etapas cruciais trabalho em andamento o ganho do conceito de puxar novos
para obter os benefcios alcanados com o sistema Kanban. itens, o que garante que nunca a demanda excede a capacidade
de produo. recomendado que os limites sejam estabelecidos
pela equipe em colaborao e a equipe de administrao ou
gesto do projeto. Isso contribui para otimizao no fluxo de
trabalho. Essa colaborao tambm implica na gesto alinhada
com a estratgia do negcio e proteo do limite WIP.
s
D
tivamente, enquanto outras equipes usaro Kanban no nvel A Engenharia de Software Magazine tem que ser feita ao seu gosto.
sobre e
de portflio de projetos, continuando a utilizar outras meto- Para isso, precisamos saber o que voc, leitor, acha da revista!
s
ta
edio
dologias no nvel de equipes pequenas. D seu voto sobre este artigo, atravs do link:
Kanban ainda uma ferramenta muito nova e vem se es- www.devmedia.com.br/esmag/feedback
tendendo desde pequenas equipes para o projeto de portflio
Nesta seo voc encontra artigos voltados para a prtica de mtodos geis.
N
Desenvolvedor, QA, Gerente de Projetos, o h mais dvidas de que a in- ainda defeituoso, inadequado aos de-
Analista de Sistemas e de Requisitos, Au-
dstria de software uma das sejos do cliente, entregue fora do prazo
ditor de Garantia da Qualidade (PPQA) e
Analista de Processos. Possui experincia mais importantes atualmente. e acima dos custos esperados.
na definio e implantao de processos O mercado brasileiro de software e ser- Observando esses e muitos outros
aderentes ao CMMI e ao MPS.BR e, em ava- vios de TI, segundo o ltimo relatrio problemas, h mais de 10 anos, 17
liaes MA-MPS nvel F e SCAMPI Classe A da ABES [9], de US$ 19 bilhes e cresce profissionais da rea escreveram e
nvel 2. entusiasta em desenvolvimento
de 25% a 30% ao ano desde 2004. Porm, assinaram um manifesto: o manifesto
gil desde 2007. Atuamente, trabalha na
Nexxera Techpeople, em Tubaro, SC. grande parte do software produzido para desenvolvimento gil de software.
O mtodo Kanban
Como implementar mudanas continuamente no processo
de trabalho da equipe com sucesso? Este um ponto funda-
mental e um dos motivadores centrais das cinco propriedades
do mtodo Kanban:
1. Visualizar o fluxo de trabalho; Figura 1. Kanban systems for software development [10]
2. Limitar a quantidade de trabalho em andamento;
3. Medir e otimizar o fluxo de trabalho; Para Alisson Vale [5], em atividades que envolvem trabalho
4. Tornar explcitas as polticas do processo; criativo, como desenvolvimento de software, o propsito
5. Gerenciar quantitativamente. do Kanban provocar conversaes sobre o sistema de
trabalho.
O Kanban no uma metodologia, mas sim um framework Para limitar a quantidade de trabalho em andamento
para implementar mudanas de forma incremental. Esse um necessrio definir, monitorar e manter um limite mximo de
conceito muito importante para que se entenda o Kanban como tarefas em andamento para cada uma das etapas de trabalho
um todo j que, quando se fala em metodologias, fala-se em mapeadas no quadro kanban, como visto na Figura 1.
conjuntos de prticas e o Kanban no tem nenhuma prtica Ao estabelecer os limites, a equipe comea a identificar
prescrita. H, nele, somente propriedades que devem guiar a onde esto os principais gargalos do processo de produo
melhoria no processo atual, no importando quais prticas e comea a ter que terminar todo o trabalho inacabado na
estejam sendo usadas. linha de produo para conseguir puxar mais trabalho para
Ao usar o Kanban, como veremos mais detalhes ao decorrer o gargalo. Com isso, o trabalho tende a ser finalizado de uma
do artigo, esperado que se consiga visualizar quais prticas forma incremental e no de uma forma cascata, tornando-se
esto sendo positivas e quais esto sendo negativas e isso, assim um sistema puxado (TOC), onde a equipe que dita a
consequentemente, vai conduzir a mudanas, que, natural- sua capacidade de produo.
mente adicionaro, eliminaro ou alteraro as prticas atuais O uso do sistema puxado, juntamente com a visualizao de
de trabalho. todo o processo de desenvolvimento por toda a equipe, permite
A forma mais comum de se conseguir visualizar o fluxo de implementar mudanas no processo de modo incremental.
trabalho atravs de um kanban. Esse uma espcie de qua- Consequentemente, h reduo significativa da resistncia, o
dro, que pode ser fsico, normalmente colocado em uma das que facilita o alcance do ritmo sustentvel, teoria to comenta-
paredes do local onde a equipe trabalha, ou virtual. O uso do da em desenvolvimento gil, mas para a qual poucas definies
quadro virtual tem alguns prs e contras. Os pontos fortes so existem alm das 40 horas semanais de trabalho.
basicamente a facilidade de extrao de mtricas e o histrico. Uma citao de David [1] sintetiza isso: Um interessante
O principal ponto fraco dessa abordagem a dificuldade que a efeito colateral de sistemas puxados que eles limitam o
equipe ter para analisar e evoluir conjuntamente o processo trabalho em andamento (WIP Work In Progress) para certa
de trabalho. quantidade acordada, evitando assim que trabalhadores fi-
Nesse quadro, inicialmente devem ser modeladas cada uma quem sobrecarregados..
das etapas necessrias para se produzir o software, isto , todo Outro fator importante o ganho que se tem ao praticamente
o workflow de trabalho. E, em cada uma dessas etapas deve ser impedir que uma mesma pessoa execute vrias tarefas no mes-
colocado e mantido um carto, a fim de simbolizar um trabalho mo projeto em paralelo. Vale destacar tambm o processo Just in
que est em andamento, como podemos ver na Figura 1. Cada time (JIT), que evita o acmulo de estoque ao longo do processo
um desses cartes deve conter informaes detalhadas sobre a de desenvolvimento, como se faz no ciclo de vida em cascata.
atividade, bem como quem est desenvolvendo o item, e quando Nesse caso, software em estoque so todos os requisitos que
o mesmo foi iniciado. ainda no foram liberados para o cliente usar.
No Kanban para desenvolvimento de software, o kanban No desenvolvimento de um software, como em qualquer
deve ser mantido e evoludo por toda a equipe, o tempo todo. outra atividade intelectual, por mais contra intuitivo que possa
A proposta baseia-se em fazer a prpria equipe enxergar onde parecer, executa-se com mais qualidade e mais rapidamente
est errando e deix-la tomar decises seguindo um framework duas tarefas fazendo-as uma de cada vez, do que as duas em
simples, que guiar grande parte dessas melhorias. paralelo o tempo todo.
e equipes. Com isso, exigem que o agente de mudana tenha do conhecimento, como em desenvolvimento de software,
muitas habilidades de negociao, articulao e bastante in- cresce exponencialmente com a quantidade de trabalhos em
teligncia emocional [1]. andamento. Tanto a transferncia como a descoberta de infor-
Os maiores geradores de retrabalho em desenvolvimento de maes no desenvolvimento de software conhecimento tcito
software so os defeitos causados principalmente pela baixa por natureza e criado durante sesses de trabalho colabora-
qualidade das entregas. E, alm de um gerador de retrabalho, tivo, face a face. A informao verbal e visual, mas em um
baixa qualidade faz os clientes ficarem inseguros e a equipe formato casual, como um esboo em um quadro branco.
desmotivada. Nossas mentes tm uma capacidade limitada para armazenar
O incentivo qualidade das entregas tem um grande conhecimento tcito. E, quanto mais tempo passa, h mais
impacto na produtividade das equipes com altas taxas de falhas para recordar detalhes precisos. Assim, uma srie de
defeitos. Segundo David [1], em equipes verdadeiramente erros cometida. Equipes que trabalham de um modo gil,
ruins, somente concentrando-se na qualidade pode-se obter em um mesmo espao de trabalho, tm uma maior facilidade
uma melhoria de produtividade de at dez vezes. em reter o conhecimento tcito.
Para David [1], tanto as tcnicas de desenvolvimento gil Mas, independentemente da forma de trabalho da equipe, o
como as abordagens tradicionais tm seu mrito para a conhecimento tcito se deprecia com o passar do tempo. Por
melhoria da qualidade. As principais prticas incentivadas isso, tempos de espera (lead time) menores so essenciais para
por ele para a melhoria da qualidade so: os processos que envolvem muito conhecimento tcito. O foco
1. Escrever testes automatizados, preferencialmente antes; da reduo de trabalho em andamento est diretamente rela-
2. Revisar cdigo (Verificao); cionado com a reduo dos tempos de espera (lead time).
3. Fazer atividades de anlise e design do software de forma Assim, podemos deduzir que haver menor depreciao
colaborativa; de conhecimento tcito quando temos menos trabalho em
4. Usar Design Patterns; progresso o que resultar em maior qualidade. Em resumo,
5. Usar ferramentas modernas de desenvolvimento. reduzindo a quantidade de trabalho em andamento, melhora-
se a qualidade e possibilita-se entregas mais frequentes. Isso
Parece haver uma vantagem psicolgica em pedir para os aumenta a confiana externa na equipe.
desenvolvedores escreverem testes antes, porm, importante Alm de reduzir a quantidade de trabalho em andamento,
ressaltar que tambm existem inmeros casos de sucesso com a importante reduzir o tempo de uma iterao, pois isso tambm
escrita dos testes aps a codificao. trar um impacto positivo significativo na qualidade. Segundo
Inspees ou revises de cdigo ajudam a melhorar tanto a David [1], parece que existe uma relao entre a quantidade
qualidade externa como, notadamente, a qualidade interna do de trabalho em andamento e a qualidade, ou seja, defeitos vo
software. Todas as tcnicas tm o seu valor. Programao em aumentar com o aumento da quantidade de WIP. Portanto, faz
par e reviso por pares so alguns exemplos. No entanto [1], ins- sentido que iteraes de duas semanas sejam melhores do que
pees de cdigo so melhores quando so feitas em pequenas iteraes de quatro semanas e que iteraes de uma semana
quantidades vrias vezes. David menciona [1] que ele costuma sejam melhores ainda. Iteraes mais curtas iro resultar em
encorajar as suas equipes a inspecionar cdigo, todos os dias, por entregas de maior qualidade.
pelo menos 30 minutos. Seguindo a lgica das evidncias apresentadas, se sabido
Sem dvidas, quando toda a equipe trabalha em conjunto na que limitar o WIP ir melhorar a qualidade, por que no intro-
anlise dos problemas para as solues de design, a qualidade duzir poltica explcita para isso, deixando assim os gerentes
superior do que quando apenas uma pessoa faz isso. Assim como livres para se concentrarem em outras atividades? Essa jus-
as inspees de cdigo, atividades de modelagem de software tamente uma das propriedades do Kanban. Entretanto David
devem ser feitas em pequenas quantidades, todos os dias. afirma [1] que ainda no existe nenhuma evidncia cientfica
Os padres de projeto de software, mais conhecidos pelo termo desse resultado que foi observado apenas empiricamente.
original em ingls Design Patterns, descrevem solues para
problemas j conhecidos e recorrentes no desenvolvimento de Entregando frequentemente
software orientado a objetos. O uso de padres de projeto garante Para entendermos a importncia dessa etapa, David apresenta
que defeitos de design sejam eliminados j no incio do projeto. uma excelente analogia em seu livro [1]: Quando eu ensino
O uso de ferramentas modernas de desenvolvimento melhora isso nas aulas, eu gosto de perguntar s mulheres da classe o
a qualidade porque a grande maioria dessas inclui funes de que elas pensam sobre duas situaes depois de ter um pri-
anlise de cdigo esttica e dinmica, que evitam que os desenvol- meiro encontro com um cara:
vedores introduzam problemas bsicos e j bem compreendidos, Situao 1: Eles tiveram um bom encontro, mas depois
como falhas de segurana, no software. disso ele no d sinais de vida a ela durante duas semanas.
Mas, ento, ele aparece em sua porta com um ramo de flo-
Limitando a quantidade de trabalho em andamento res e um pedido de desculpas;
fcil especular porque limitar a quantidade de tarefas em Situao 2: Eles tiveram um bom encontro e na mesma noite
andamento aumenta a qualidade. A complexidade do trabalho a caminho de casa ele envia uma mensagem de texto a ela
implementar e dominar as primeiras cinco etapas da receita. A Engenharia de Software Magazine tem que ser feita ao seu gosto.
sobre e
Resumindo, essa receita a forma que David [1] acredita que Para isso, precisamos saber o que voc, leitor, acha da revista!
s
ta
uma equipe de desenvolvimento de software deve amadure- D seu voto sobre este artigo, atravs do link:
edio