The final result is that tests are not written, build is not maintained and code is difficult to handle. What else could I do? If one team member wants to learn TDD but he or she cannot attend an scheduled event I could give them more options to learn that don't require them to read long books or to be present at a room at a certain time. So I thought about recording videos, screencasts.
I tried different free products and did some experimentation myself, and finally found two:
- Using Mac you can record videos easily with Quicktime
- Using Windows, Open Broadcasting Software was my option
With Open Broadcasting Software you can record your webcam, the application or both, and assign keyboard short-cuts to switch between them. You can broadcast or record, and your recordings can be easily published to YouTube or Vimeo, and you can leave them unlisted, only for a certain group of users. Great!
My main objective was to easily record videos, without post-production, little preparation and a duration between 5 and 10 minutes. Currently I've recorded a couple of videos (in Spanish) just to show TDD in action, and the "possibility" of introducing tests in an existing code base. All the code is written in Java. For some of the videos I've also shared code in github.
I'm not happy with the videos, but better done than perfect.
Getting feedback from my peers I learnt:
- Seeing the face of the speaker is interesting but not vital. If they have to choose, they prefer seeing the face.
- The screen resolution has to be lower than your beloved monitor, otherwise it's going to be difficult to see. 800x600 was too big, but very readable. I'm not yet sure about the best resolution.
- Noise reduction is important. In Mac I did not have to do anything but it took me too long to find out how to remove it in Windows. I had some Dell application to manage that, and I was not aware.
- It's hard to code and to talk about what you are thinking, at least for me. And the most difficult part is to add emotion to your voice. People will fall asleep.
- 5 to 10 minutes is the ideal (I think) but it's hard to achieve without post-production if you are building code.
- A video will never replace the live experience.
The videos, in Spanish, are:
Using this tools you can also share with your team other practices that work for you. And you don't need to be a guru to share.