This is a story a of 2 developers who love their job.
John is a passionate developer who likes to work punctual and precise. He loves test driven development because it gives him stability and guarantee in his work. He knows that it takes a bit more time and effort to setup, but he thinks that the benefits are worth it!
Stephen is also a passionate developer, but he likes to get things done fast. After all, time is money! Although he knows the advantages of test driven development, he thinks that it takes too much time and maintenance to implement and that the benefits are too small for that.
Let’s see how these two developers’ approach and vision reflects on their work in the busy, fast and ever demanding world of development…
Day #1
Both John and Stephen get the assignment of their client to create the awesome Feature #1.
John – punctual and precise as he is – uses Test Driven Development to setup Feature #1. This costs him more time then Stephen. While John is still working on Feature #1, Stephen already has Feature #1 up and running on the end of the day.
Day #2
The client is on a role! John is not even ready with Feature #1 and the client already has a request for Feature #2!
John keeps working on Feature #1, and he manages to finish it before lunchtime. After his cheese-with-hot-sauce-sandwich he starts with Feature #2. At the end of the day Feature #2 isn’t ready yet. John calls it a day and goes home to his wife and children.
Stephen on the other hand was already done with Feature #1 so he works all day on Feature #2. There were some minor glitches in Feature #1 that collided with Feature #2 but Stephen – a pro as he is – has both Feature #1 and #2 working at the end of the day. Time to commit his hard work to the repository, turn off hist computer and head to town. Tonight he goes partying with some co-workers.
Let’s see what happens tomorrow…