Potsdam is beautiful specially in this time of the year, it's definitely a must see, I am loving the place. However, I am not here for tourism reasons. I am attending a special training called "Train the trainers" for those professionals who want to be trainers in the Certified Agile Tester program. And it's not because I am going to be a trainer for the CAT, it's about other training program we are planning 🙂 but will talk about that in a future post.
This is the first training for testers I attend to and I am really enjoying it. Half the training is about agile. The contents are very well prepared and so the teacher. So I can tell that in this training, people learn a lot and have to study and participate a lot. Not everyone passes the exam.
In this edition there are participants from 6 different countries or so and the atmosphere is great. One of my colleagues comes from Mexico, what a long trip!
The exercise I've enjoyed the most so far is the Lego game. Building a city "the agile way". You can find all the pictures here.
And there it is the short retrospective with lessons learned from the game in our small team:
- We didn't ask enough to the product owner in the first iteration (acceptance criteria).
- We didn't agree on some criteria or conventions even between us.
- We didn't do any spike to have at least a rough idea of what a story point represented.
- We committed ourselves with a bunch of user stories for the first sprint without any clue of how much does it take to build a single house and without any acceptance criteria for it.
- Although I didn't feel any good at the beginning of the first sprint, with all those questions on my head, I couldn't prevent my 3 team mates from start building like crazy. Uncomfortable situation for me... I felt we were going to crash but couldn't avoided, we just crashed like dummies. Fortunately we did way better the next iteration so experiencing the failure was positive and maybe necessary for us to react and improve 🙂
This game, along with the marshmallow challenge are my two favorite metaphors to introducing agile in the small.
Best look to all the trainers that are going to do the exam on Friday!
I've got goosebumps on my arms most of the day. And it doesn't happen very often. This is the most emotional coding dojo I've ever facilitated. It's been in Gran Canaria, at the Universidad de Las Palmas de Gran Canaria (EII ULPGC).
The last day in college for some students, where many of them were thinking of their uncertain near future. Asking for recommendations and expressing many doubts.
More than 50 people coding together for more than 8 hours, in an incredible atmosphere.
How did we get here?
There is only one book on TDD in Spanish so far. Published by my friends and me back in 2010, under the creative commons license. Creative commons is like a virus for this. One year ago a real master, Jose Juan Hernandez (@jjhernandez) decided the book was nice to teach his students how to write clean code. We didn't know each other. In fact I didn't know the book was being used at the University. Jose Juan has been coding since 1985 and I do believe he is a software craftsman, now that I've seen him coding and teaching.
A couple of months ago he contacted me see if I could give a talk to his students, about TDD in the real world™ and the encounter was excellent. The coding dojo proposal came along right after that.
Why has it been so good?
Guillermo and I
Several factors in here. Jose Juan has been teaching TDD, Refactoring, Patterns and Clean Code to his students the whole year. No only the practices but the values. This is the reason we believe he is a master, because his students have embraced and internalized his values and principles.
- So about 30% of the students were familiar with the techniques, and we asked them to pair up with those not exposed to automated tests and example driven design before. And they explained everything to others with passion.
- In a regular coding dojo the facilitator does not necessarily teach. Her goal is facilitating. In this case though, we've been teaching people, so it's been half of a training session. With direct feedback on their work, based on our experience.
- We were 3 guys facilitating: Guillermo Pascual (@pasku1), Jose Juan and me. And the sinergy it's been huge.
- Everyone was absolutely willing to learn and share. Passionate people, warm and friendly.
- It's been a total win-win event. We (facilitators) have felt very useful and appreciated, it's been fulfilling. Some people have discovered a new way of understanding their careers, and what "caring about code" means.
- The retrospectives following every iteration were very participative, people were able to discuss among them.
- This is a milestone in the Canary Islands software development community, I can feel it. Something is changing...
- Let's keep on practising together. The AgileCanarias community is growing and it's a good starting point o meet new people and learn new stuff. The Tenerife group is kind of mature and stable now, let's do the same in Gran Canaria. And let's join the two groups for dojos and local conferences.
- We have the Agile Open Space this year in Tenerife. Join us, it's a great opportunity to discover more.
- Now you know there are different ways of writing software. Keep on learning, it's a never ending path.
- When is the next coding dojo, who will organize and facilitate it? 🙂
I want to facilitate a dojo, what should I know?
- Manage people's expectations. In general a coding dojo is not a training session. Be honest with participants and help beginners as much as you can. Otherwise they'll be scared, run away and take a wrong idea about what it is.
- A dojo is a space for innovation, try different things all the time, you don't have to follow the manual on the go. Just use your imagination and empathy.
- Ask someone experienced to facilitate it before doing it yourself, if possible.
- There is an interesting new book on this by Emily Bache: https://leanpub.com/codingdojohandbook (haven't read it yet), foreword by Uncle Bob Martin.
- Check out this video by Emily Bache: http://www.youtube.com/watch?v=yao5XLJqogQ
- Jose Juan and Guillermo Pascual.
- All the participants, of course. Without them, there is nothing to do.
- Jorge Castellano for his pictures and video. Pictures will be uploaded soon here. Jorge already uploaded some pictures to twitter. Just search for the hashtag #dojoULPGC
- Fran Santanta for his support and organization. Fran brought journalists from local newspapers and TV, apart from the food and everything else.
- Mario Hernandez Tejera for his company, hospitality and sharing his interesting/wise thoughts.
- All the colleagues who work with Jose Juan for his support and energy.
- JM Beas, Xavi Gost and other folks from Agile Spain, as they introduced me to coding dojos.
This is the related thread in the AgileCanarias mailing list.
I connect to my desktop PC (which is very powerful) from my laptop (very old), when I feel like coding from the other room, the couch or the bed. Desktop is a Windows 7 machine, laptop is Ubuntu. I have installed TightVNC on the Windows machine and SSVNC (without any SSL) package on Ubuntu. Everything was fine but still, the cursor was moving so slow through the source code.
The key is the "Screen pooling cycle" option on the TightVNC configuracion. It's default value is 1000 but changing it to 100, makes me feel like I am coding in my desktop PC.
This is obviously in my LAN, through the internet it's better to use Teamviewer or Chrome Remote Desktop. And if you can work only with a terminal, then SSH+ Tmux is the best choice.
Happy couch coding!