We offer TDD training in most of the popular programming languages. Content can be customized based on need.
To request a training please email to terry.yin@odd-e.com
We are a group of TDD practitioners, and we have successfully practiced TDD to make large-scale software for two decades and are still practicing it daily. We also have rich experience coaching other programmers to adopt this important developer practice.
This workshop will provide you with a firm understanding of Test-Driven Development and the skill of practicing in the following four perspectives:
To begin with the end in our mind, we will agree on the criteria to evaluate the effect of any developer practice first.
TDD isn’t about testing at all, and it’s a developer practice that facilitates the acquisition of domain knowledge and, in the meanwhile, preserves the acquired knowledge. We will also compare TDD to Domain-Driven Design.
We will go through the rigorous TDD process with a short and naive exercise.
A common misunderstanding is that you get small solutions when you break down a big problem. Through a series of exercises, let’s see how we can break a big problem into smaller ones without jumping to the solution too early.
This part will also help you distinguish the impacts we bring into the product and the stuff we maintain after making the impacts.
“As the tests get more specific, the solution gets more generic.” We will practice emergent design with some exercise for half a day.
We will discuss and practice TDD when dealing with dependencies. Topics include mocking, functional style, event sourcing pattern, etc.
We might devote some time to TDD with Async and time-related scenarios.
The two great enemies of making TDD beyond an individual practice are NIH (Not-Invented-Here) and designing something “reusable” instead of usable.
Find the details here: https://medium.com/@kentbeck_7670/limbo-scaling-software-collaboration-afd4f00db4b
We will devote most of the morning to doing TCR (a pre-requisite for the Limbo exercise) and then the Limbo exercise.
Acceptance Test-Driven Development and TDD are very different concepts and focus on customer collaboration. It can be well embedded into a software development life cycle. We will explain the process with a full-scale demonstration.
For more information, please contact terry AT odd-e.com