BIT around the block: Lean Coffee Portugal

Foi com muita honra que apresentei a Bit | Sonae no último Lean Coffee Portugal. 🙂

O Lean Coffee Portugal para quem não sabe é um grupo (que tive o prazer de ajudar na sua criação) que fomenta Agile e Lean junto de praticantes, curiosos e de organizações que valorizam as práticas ágeis.

Para quem não pôde assistir aqui fica um video com o resumo do evento que aconteceu no HeartBit, o edifício da Bit | Sonae:

Até para a semana.

Scrum vs Kanban vs Lean

Em 2009 Henrik Kniberg ao escrever um artigo no seu blog sobre Scrum e Kanban nunca pensou que iria cunhar um conceito (na minha opinião) completamente errado e que após 4 anos continua para durar.

Acho interessante como ele começa por escrever o seu post a dizer que havia muito “buzz” sobre Kanban (em 2009) e se olharmos para Portugal a verdade é que (infelizmente) ainda pouco se fala. Em Portugal, temos realmente uma comunidade bastante forte de Scrum. Temos também uma comunidade crescente de Agile (a tentar de certa forma abraçar a comunidade de Scrum). Agora comunidade de Kanban ainda não sei de nenhuma.

Voltando ao Henrik e ao titulo deste post… o que o Henrik escreveu no post dele (e que depois deu origem a um livro) com o titulo “Scrum vs Kanban” era que o Scrum e o Kanban poderiam ser usados em conjunto (suprimindo as suas lacunas / best of both worlds). Ora se olharmos para o titulo do post dele, o que é sugerido (à primeira vista) é que o Scrum esta contra o Kanban (e vice-versa) e que apenas poderíamos usar um ou o outro.

Como o ser humano é preguiçoso, muitas pessoas na comunidade Agile olhando apenas para o titulo trataram logo de separar as aguas e dar origem a uma certa rivalidade entre os “seguidores” de Scrum e os “crentes” em Kanban e Lean. A rivalidade cresceu de tal forma que inclusivamente o autor sentiu-se na “obrigação” de vir a terreiro dizer que o titulo tinha sido mal interpretado e que ambos os “métodos” podiam (e em alguns casos deviam) ser usados em conjunto.

A verdade é que depois do Scrum, do Kanban e do Lean se darem a conhecer ao mundo e de já terem sido bastante explorados, a rivalidade mantém-se e pelo que percebo está para durar.

Inclusivamente, Ron Jeffries, co-autor do eXtreme programming, manifestou este mês a sua desilusão por ter testemunhado que no maior evento Agile do mundo, #Agile2013 em Nashville (EUA), organizado pela Agile Alliance, os participantes estavam mais preocupados em demonstrar que a sua metodologia fetiche (Scrum, Kanban, Lean, etc.) era melhor do que as outras do que propriamente trabalhar em conjunto para tirar proveito do melhor de cada uma delas.

Tal como Henrik teve oportunidade de dizer em 2009 e agora Ron em 2013, o Scrum, o eXtreme Programming, o Kanban e o Lean não são incompatíveis. Inclusivamente existe a forte convicção de que combinando um pouco de cada uma destas “ideologias” podemos atingir um alto nível de eficiência.

O que eu penso sobre este assunto (e apesar de simpatizar mais com Scrum e eXtreme Programming do que com o Kanban e o Lean) é que a comunidade Agile é pequena de mais para este tipo de rivalidades e clivagens. Tal como qualquer grupo, separados pouco valemos mas juntos valemos muito.

Não entendo o interesse que existe por de trás destas separações ou se é apenas um fenómeno humano ficarmos “cegos” com algo que (realmente) apreciamos ignorando tudo o que está à nossa volta.

Sinceramente não sei… agora que é uma pena a malta de Scrum não se dar com a de Kanban (e vice-versa) e passarem mais tempo a discutirem uns com os outros em vez de trabalhar em conjunto… lá isso é.

Pode ser que isto mude no futuro mas já nisto há tempo suficiente para saber que é pouco provável. 😦

Até para a semana.

kanban

Não, não é nenhum tipo novo de sushi. 🙂

O Kanban é um conceito, que está de mãos dadas com o Lean e com o JIT (Just-in-time), que nos permite, através da restrição de operações executadas em simultâneo ( aka WIP, work in process), sermos muito mais eficientes.

Confusos? Como é possível algo que limita o número de operações a decorrer ao mesmo tempo ajudar na eficiência? Nada mais simples, se virem bem, ao limitarmos o número de operações a decorrer em simultâneo conseguimos muito facilmente perceber quando uma operação (ou tarefa) está interrompida, atrasada ou com dificuldades através do congestionamento. O Kanban com a limitação procura que estas tarefas sejam rapidamente detectadas fazendo com que o focus das equipas passe para a resolução do problema. Desta forma não existem tarefas “on hold” durante tempos infindáveis fazendo com que a equipa consiga trabalhar de forma eficaz e mais eficiente.

O Kanban é uma filosofia super flexível sem regras para além da limitação da quantidade de trabalho em progresso.
Reparem que com esta imposição apenas existe trabalho a ser executado quando efectivamente existe capacidade para o fazer. Evitando assim que a quantidade de trabalho aumente de forma desproporcional originando uma sobrecarga.
Para implementarmos o Kanban temos 3 simples passos:
1 – Visualizar os processos;
2 – Limitar o trabalho em progresso;
3 – Gerir o tempo que demora uma tarefa a ser executada, de ponta a ponta, durante o fluxo do processo.

O Kanban, tal como o Scrum, auxilia-se de um quadro para gerir os processos. Recorre a um instrumento visual que permite, a toda a equipa, perceber num fluxo de um processo onde se encontra uma tarefa. Normalmente um quadro Kanban tem como colunas: Backlog, Selected, Develop (subdividido em Ongoing e Done) e Live que correspondem às várias etapas de um fluxo de um processo. E é por estas colunas do quadro que os cartões ou post-its (que representam as tarefas) “circulam”.

Tal como referi, uma das grandes vantagens desta ferramenta é detectar se existe algum ponto do processo que esteja a ficar congestionado (efeito de bottleneck), “obrigando” a equipa a agir.
Perante um bottleneck temos de nos colocar a questão: Será que o limite que temos para a fase do processo em causa é muito baixo? O que acontecerá se permitirmos que mais uma tarefa seja executada em simultâneo? E é basicamente assim que o Kanban é feito: Limitação de trabalho em progresso (por cada estado do fluxo do processo) através da experimentação. Se impusermos limites muitos baixo teremos uma produção muito baixa e se tivermos limites muito altos sujeitamos-nos a que várias tarefas fiquem pendentes e a aguardar resolução. O alvo, objectivo, é alcançarmos o meio termo que permita a equipa produzir uma quantidade expectável de trabalho sem permitir que determinadas tarefas fiquem, por tempos intermináveis, a aguardar resolução para a sua execução.

Deixo como nota final que o Kanban não é melhor ou pior que o Scrum. Na verdade ambas as ferramentas AGILE podem e devem co-existir.

Até para a semana.