Test Driven Development is Demand Driven Development in disguise. From the first test case written, we already pictured a great API or object with perfect methods waiting for us to be used. Along the way of our development, we can also picture a perfect class or methods that takes objects that we naturally created in the most convenient fashion and does all the magical things.
The implementation of these ideas sometimes might have to take some compromises, but that’s the negotiation between day-dreaming and one’s technical abilities. I believe as one’s ability improves, he can execute closer and closer to his imaginations.
Toyota’s just-in-time production system is another example of this demand driven development. They only produce when the pull is there. The pull is an external force from the customers. In design, or painting, or printmaking, the customer is the imagination in my head, which has certain demand, or requirements for the technical department to fulfill.
These demands could be translated into tests, which is a small step converting dreams into realities. The small step might seem trivial, but it’s a concerted effort towards the dream. It’s a small step, but it’s a meaningful step. This step is the first attempt to bring the dream down to earth and make it a reality. A truly zero to one moment. There might be many other problems this small step can’t solve, but, it does solve some problems and point the project into a concrete direction, because it actualize the dream through materials.
Small tests are not tests, they are small steps making the dream a reality.
Leave a comment