TDD is a practice like swimming

A reader of our eXtreme Programming book asked us a guide to move from 0% TDD programming to 100% (or almost) TDD programming. But, there’s no manual that will really teach TDD, because it’s a practice. We could use a metaphor to explain it, TDD is like swimming, an activity that we practice.

Yes, TDD can be very hard at first time. Like swimming, you might not have enough breathing discipline, getting tired faster and giving it up. And after say “I didn’t like swimming, swimming is not for me”.

As a swimmer needs to jump in the water, a programmer needs to start with a failing test, write code until the test works, and refactor. And repeat these steps a lot of times. It’s a cycle, it’s a mantra:

image
TDD mantra: write a failing Test, Code until pass the test, so Refactor.

After a lot of TDD cycles, you will be understanding how to practice TDD. So, please, jump in the water and enjoy TDD.

— Thanks to Guilherme Motta for the review.

Anúncios

Kanban, pizza e agile no GUMA-RS

Dia 03/11/2015 (terça-feira) haverá o workshop GUMA Pizza Kanban facilitado pelo Cristiano Basso, no horário das 18:30 às 21:30, na PUCRS. Esse evento é organizado pelo GUMA-RS, o Grupo de Usuários de Métodos Ágeis do Rio Grande do Sul. A ideia é aprender lean e kanban na prática, construindo pizzas (feitas de papel). Show! Né? 🙂

Inscrições

A inscrição é realizada pelo link:

GUMA Pizza Kanban

Quer saber mais sobre o Kanban Pizza Game? Então siga lendo…

Kanban Pizza Game

Pizza Small6163012549_7c7934aa5e-1_1
Kanban Pizza Game. Fonte da imagem: agile42 – http://www.agile42.com/en/training/kanban-pizza-game/

O Kanban Pizza Game é uma dinâmica do agile42, e mostra na prática os princípios do lean, agile e kanban, numa divertida de um jogo. Veja só como fica o quadro de kanban durante o jogo:

kpg - visualize on a flipchart
Fonte da imagem: agile42 – http://www.agile42.com/en/training/kanban-pizza-game/

Aprendendo sobre Kanban

O kanban para desenvolvimento de software foi formulado pelo David J. Anderson (@lki_dja), em seu livro Kanban – Successful Evolutionary Change for Your Technology Business:

Existe também o mini book do Jesper Boeg, Kanban em 10 Passos, disponibilizado gratuitamente na InfoQ:

Kanban10PassosCapa

Aprendendo sobre Lean

Para aprender mais sobre Lean, veja os slides de uma palestra que fiz sobre Lean Thinking:

Sobre o facilitador do workshop

Esse game será facilitado pelo Cristiano Basso (@csbasso), um amigo desde a época do PoA-OSUG (Porto Alegre – OpenSolaris User Group). O Cristiano Basso já facilitou esse workshop na ESPM, veja só a notícia que saiu:
http://hubnews.espm.br/noticias/acontece-no-campus/935-cristiano-basso-fala-sobre-kanban-no-workshop-da-atletica

Buscando algumas memórias, lembro do FISL 2009 onde estávamos no estande do OpenSolaris (vide fotos a seguir). Naquele ano, o pessoal da Sun compareceu em peso, e veio até o ex-presidente Lula visitar o FISL, ele colocou o boné do OpenSolaris e assinou a camiseta do OpenSolaris! Bom, mesmo anos depois, a participação dele na comunidade de TI permace, dessa vez com uma dinâmica para mostrar o kanban e o ágil na prática.

IMG_2419
Cristiano Basso ao centro da foto.
IMG_2468
O ex-presidente Lula no estande do OpenSolaris no FISL em 2009.
IMG_2511
Camiseta assinada pelo ex-presidente Lula.

Então, aproveite o workshop! Inscrições em:

http://www.sucesurs.org.br/evento/guma-pizza-kanban-2

 

Lean para Potencializar a Qualidade no Software – Palestra na InfoQ Brasil

Saiu na InfoQ Brasil a palestra que fiz na trilha de Testes do TDC 2014! Nesta palestra, falo de como o Lean pode potencializar a Qualidade no Software. Segue o link:

http://www.infoq.com/br/presentations/lean-para-potencializar-a-qualidade-no-software

Lean Beer Porto Alegre (Lean Coffee)

Ontem (23/07/2015) realizamos o Lean Beer em Porto Alegre, no mezanino do Lagom Brewery & Pub do bairro Moinhos, unindo o GUMA-RS e o Lean Coffee Porto Alegre. O Lean Beer possui a mesma dinâmica que o Lean Coffee, porém com cerveja! 😉

20150722_213423
Lean Beer Porto Alegre. Da esquerda para a direita: Alejandro Olchik, Diogo Lucas, Dionatan Moura, Eduardo Klein e Cristiano Basso.

O Lean Coffee, ou Lean Beer, é uma forma inovadora de discutir assuntos, um modelo muito enxuto em relação às reuniões tradicionais, que por vezes desperdiça tempo e energia das pessoas, além de dinheiro.

A sensação de participar de um Lean Coffee é a de querer mais, os assuntos fluem com foco de uma maneira muito eficiente.

Assuntos discutidos

IMG-20150723-WA0030
Quadro de kanban com os assuntos discutidos no Lean Beer.

Os assuntos discutidos foram nesta ordem:

  1. Quais os problemas de gestão que mais incomodam?
  2. Como ser criativo mantendo a produtividade no trabalho, com qualidade de vida?
  3. Aplicação de ágil fora da área de software.
  4. Como escalar o Lean Beer?

O único assunto que ficou de fora, por falta de tempo, foi sobre Management 3.0: salários e considerar desempenho?

Como funciona um Lean Coffee?

Basicamente, o grupo de pessoas realiza os passos:

  1. Definir o escopo dos assuntos (normalmente qualquer assunto é válido).
  2. Escrever em post-its os assuntos que desejam discutir;
  3. Colar os post-its num quadro de kanban com as três raias: todo/a discutir, doing/discutindo e done/discutido;
  4. Cada pessoa vota uma numa quantidade fixa de assuntos. Normalmente, são dois a três votos.
  5. Ordenar os post-its no quadro de kanban de acordo com a quantidade de votação. Quanto mais votos, mais no topo estará na raia todo/a discutir.
  6. Movimenta-se o post-it de maior prioridade para a raia doing no quadro de kanban, discutindo-se abertamente o assunto entre o grupo num período cronometrado de 5 a 10 minutos. Preferencialmente, quem deu a ideia do assunto pode fazer um briefing, explicando a importância daquele assunto.
  7. Ao finalizar-se o tempo (5-10min), o grupo vota caso desejar mais um ciclo de 3 a 5 minutos para continuar discutindo o assunto. Caso a maioria vote que não deseja continuar, então o post-it atual é movimentado para a raia done e volta-se ao passo 6 e discutindo o próximo assunto de maior votação.

Onde posso aplicar um Lean Coffee?

É possível utilizá-lo em muitas situações, basta que se encaixe bem no contexto. Eu já utilizei na minha empresa para discutir assuntos gerais e ideias para a própria empresa. Foi uma ótima fonte de incentivar a inovação. Sei que times ágeis que utilizam para realizar retrospectivas, principalmente quando se tem muitos assuntos para conversar. E participei ontem, no Lean Beer.

Como escalar um Lean Coffee?

O que se faz quando houver mais de 15 ou 20 pessoas para discutir os assuntos? Bom, existem diversas alternativas. Eis algumas:

  • Restringir o escopo;
  • Restringir a quantidade de assuntos por pessoa;
  • Restringir o tempo para escrever os assuntos em poucos minutos;
  • Agrupar os assuntos em clusters;
  • Utilizar um fishbowl.

Existem muitas maneiras de escalar, então analise bem o contexto e adapte a dinâmica. 🙂

Mais informações:

Métodos Ágeis para Desenvolvimento de Software Livre

O “Eureka!” de relacionar métodos ágeis e software livre veio no FISL (Fórum Internacional de Software Livre) no ano de 2013, enquanto eu assistia uma palestra no evento. Dois anos depois, no FISL16, estarei apresentando com a Jamile Alves a palestra métodos ágeis para o desenvolvimento de software livre. Falaremos de Lean Software Development, Kanban, Scrum e eXtreme Programming! 😀

Esses são os slides da palestra:

Lean Thinking: Mentalidade Enxuta para Desenvolvimento Ágil de Software

Qual a relação do Pensamento Enxuto e o Desenvolvimento Ágil de Software? Posso dizer que possuem a mesma essência. 🙂 Na Quarta do Conhecimento na PROCERGS em abril de 2015, a Jamile Alves e eu palestramos sobre Lean Thinking, Mentalidade Enxuta para Desenvolvimento Ágil de Software, fazendo a relação entre o mundo Lean e o mundo Ágil.

Seguem o vídeo compacto da palestra:

E os slides:

“Be lean, be agile!”

XP Big Picture: Visualizando as práticas do eXtreme Programming

Tudo começou na necessidade de mostrar conexão das práticas na primeira turma do curso de eXtreme Programming. Então na retrospectiva do curso, a Jamile e eu fizemos um rascunho das práticas. Foi só para esboçar o começo: Big Picture v0Simples, né? Já que não temos habilidades de desenho (percebe-se hehe), utilizamos ícones gráficos para representarmos cada prática. E surgiu a big picture abaixo: bigpicturePara baixar o PDF da Big Picture, acesse: https://github.com/dsmoura/xp-big-picture Em cada curso, distribuímos essa Big Picture para cada aluno, assim eles podem colar no ambiente de trabalho para lembrar das práticas e da sinergia entre elas.

“Não basta somente ver, tem que enxergar.” Pensamento Lean