Test Driven Development: Thoughts and Examples