Guilt Driven Development
Do you want to use Test Driven Development in your daily work but lack the necessary motivation? Do you have the nagging feeling that TDD could use more nagging to make you get things done?
If this describes you, then you should definitely consider Guilt Driven Development. GDD is a powerful new technique based on one of the strongest motivating forces known to man: guilt. It works by forcing you to create promises to it and then guilts you into keeping them.
UPromised
To fully leverage the power of GDD I highly recommend UPromised, a framework built from the ground up to support the GDD workflow. Here’s a sample output generated by running UPromised against an existing GDD project:
Starting UPromised...
Well, it sure is nice to hear from you again. It's been like 27mins since
I last saw you. Where you on a lunch break or something?
Anyway, let's see what we got here:
Promise to CorrectlyAddTwoNumbers was kept
Promise to HandleNegativeNumbers was kept
Promise to HandleNumbersWithFractions was broken
Promise to ProperlyRoundUpResult was broken
Looks like you broke 2 out of 4 promises. That's not great and it took
forever to run (3mins 17secs). I expected more from you, I really did.
Let's just hope it goes better next time, ok?
Goodbye for now..
As you can see, UPromised is stern but effective. It will use subtle (and not so subtle) techniques to encourage you to do what you said you would.
Notification System
One of UPromised’s most powerful features is its advanced notification system known as Persistent Alert Reporting and Escalating Notification Transmittal. This system uses every means at its disposal to alert you of broken promises. It will email you, text you, tweet you, call you, post embarrassing things on your wall, even generate handwritten notes and send them directly to your house.
The best part is that it cannot be disabled, not even during holidays (On the contrary, it will automatically triple the number of alerts you receive during holidays).
Final Thought
With GDD and UPromised you finally have the tools you need to make TDD work for you. So, why not make a promise to get started today? And remember, GDD puts “driven” back into Test Driven Development.
