Test Driven Development

Nemanja Malocic Categories: Knowledge Base Date 29-Mar-2017

    Being an employee-oriented company, it is only natural for us to invest in the professional development of our colleagues where part of such development are workshops covering various topics - from new frameworks and language features to general best practices and architectural concepts.

    Test Driven Development has been around the IT community for a while now, and yet not everyone practices it. It was our goal to introduce our new colleagues to the principles and ideas behind TDD while demystifying the entire TDD process, which is why our latest workshop held on March 25th was all about the TDD.


    As this was the first workshop and since it was intended as an introduction to the TDD, no previous knowledge was required in order to participate. The goal was to have pairs of two people working together solving sets of problems (kata’s) in TDD fashion. It was our recommendation for one of the colleagues to write the test while the other one writes the implementation, following which they would switch roles. Seventeen pairs were presented with eight problems to be solved, ranging from very simple to the complicated ones. It was all about coding, with the exception of the little talk we had at the very beginning of the workshop where we just explained the idea of writing a failing test, making test pass and then refactoring. Immediately after this everybody began coding.

    With our main goal being learning the TDD, the idea was also to see how many different implementations we would have for the same problem, how is it that people read specifications and break them down into solvable tasks. It was also our goal to pair people from different teams so they could get to know each other better and learn about each other. The fact that our CTO and a few Architects and senior developers attended the workshop was a huge plus, since it gave the opportunity to less experienced colleagues to see how they would solve problems.

    This was our second in a series of technical workshops so, if you are familiar with any other interesting topic or if you have participated in a similar workshop, please let us know at our contact page. We would like to hear more about your experience.

    Nemanja Malocic Software Developer

    Born to a family of lawyers, Nemanja knew from a young age that it was his destiny to leave the life of litigation for a life of the imagination.