Follow @RoyOsherove on Twitter

April 18: Refactoring and Design Skills for Test Driven Development Workshop

When? April 18-19

Where? Oslo

How much? 11,900 NOK

How to register? Send me an email.

The Problem

You have been trying to learn TDD, and it’s going pretty well, but your code looks horrible. Your design skills are lacking, and trying to let TDD drive the design without having design skills can lead to a very problematic, although testable, design of your code.


I usually do not focus about design in my TDD courses. I believe that separating the learning about the core skills of Unit Testing, TDD, and Design should be separated so that the learner will not feel overwhelmed. This course is a complement to the Art of Unit Testing course I am teaching. This course is specifically dealing with design skills, and assumes that you already know how to write unit tests.

Assumed: You already have some experience writing unit tests.

  1. 1.      Clean Code and SOLID Design Principles
  2. 2.      Design for Testability
  3. 3.      Refactoring patterns on hard to test legacy code
  4. 4.      Writing tests against refactored code
  5. 5.      When it does and does not make sense to refactor
  6. 6.      We will also take a look at open source projects and try to see how we would refactor them.


All students get a PDF of all the slides in the course, in downloadable form.

Agenda - Day 1:(09:00-16:00)

  1.   From TDD Kata to Design Skills
  2.   Single Responsibility Functions
  3.   Single Responsibility Classes
  4.   SOLID Principles
  5.   Drills throughout the day     

Agenda - Day 2:(09:00-16:00)

  1.   Working with Legacy Code
  2.   Refactoring for Inversion of Control
  3.   Refactoring for Open Closed
  4.   Liskov Substitution Problems
  5.   Refactoring for Dependency Injection
  6.   Drills throughout the day

Beautiful Builds: Release Compilation Step

Two workshops on Beautiful Builds, Refactoring and Design Skills