About a month ago, I facilitated the first event as part of the Source Allies external mentoring program known as Source Allies University (SAU).
It was an interactive forum and networking event designed to:
- Cover basics and explore new tricks of Test Driven Development (TDD) in Java
- Create new code & refactor existing legacy code via TDD
- Code through a sample project for hands-on experience
I want to thank my employer, Source Allies, for offering the workshop, and Kaplan University for graciously hosting the workshop. I also want to thank the 20 attendees from many different companies including: Berkeley Technology Services, General Dynamics Information Technology, John Deere Financial, Principal Financial Group, and Sprint, as well as a few IT students from Kaplan University.
I started the workshop with some introductory material on the TDD process and the tools that were used in the workshop. Here is a sample of my discussion:
I also shared some of my favorite books on testing: Test-Driven Development By Example, Professional Test Driven Development with C#, Specification by Example: How Successful Teams Deliver the Right Software, and my current favorite, BDD in Action: Behavior-driven development for the whole software lifecycle.
The workshop was conducted mob programming style, in which the entire audience participated in the coding while one volunteer drove the keyboard. The group worked through a code kata that represented development of new code using the TDD process.
After a brief break, the group worked though refactoring the code they just developed to represent using the TDD process on legacy code. This refactoring introduced the concepts of dependency injection and mocking to help test the existing code. The code from the workshop can be found on GitHub.
Since this was our first event, we’re looking to improve! We welcome any feedback from people who attended, who wanted to attend, and/or people who have held similar events. We hope to do more of these, and if anybody has topics they’d like us to cover, please suggest them!