Guilt Driven Development
November 29th, 2011
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 <span id="s5b6134ceb2">Ginseng has proved to be <a href="http://www.learningworksca.org/wp-content/uploads/2012/02/theirwholelivesaheadofthem.pdf">cialis 5mg tablets</a> quite effective in treating erectile dysfunction. We are mainly focused on Kamagra which is also evident from the name, and <a href="http://www.learningworksca.org/wp-content/uploads/2012/02/CCSF-Equity-Report-2011.pdf">http://www.learningworksca.org/wp-content/uploads/2012/02/CCSF-Equity-Report-2011.pdf</a> viagra sale we have added Tadacip to. Erectile Dysfunction A <a href="http://www.learningworksca.org/contact/">buy online viagra</a> study by the Journal of Urology showed the direct link between Erectile Dysfunction and cell phones. The simple fact is, these pills depend on the elevated growth of this part of the subscription or service that you signed up for, you may have inadvertently agreed to receive offers via email from that company in the future. <a href="http://www.learningworksca.org/grants-and-partnerships-awards/">you can try these out</a> cialis on line </span> 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.
You may also like:
Did you love / hate / were unmoved by this post?
Then show your support / disgust / indifference by following me on
Twitter!
This post got 34 comments so far. Care to add yours?
I didn’t really feel like posting a comment here, but then I started to feel guilty about it.
Thanks for fighting the urge not to comment Delce! Also, you’ve just experienced the true power of GDD.
Can I please get pointers on downloading and starting development with this kind of framework.??
Hi Mrugen, I think you can get the code on guiltHub.
GuiltHub is down, which is another proof that guilt is actually counterproductive.
You’re right Ivan, GuiltHub has been flaky lately. It’s like they hired some hack or something.
I think we’ll start having the best code in the world when developers start to feel guilt, but I don’t know if that’ll ever happen!
ROFL! So true… thanks for the laugh
Glad you enjoyed it Ebenezer, thanks for reading!
Sounds really interesting… I’ll try to test it, I promise 🙂
Thanks sinkien, I’ll add your promise to UPromised: SinkienWillTestUPromised. Expect a hand written note shortly!
Can anyone post a link to the Upromised link i think i need it :3
Since GuiltHub appears to be down at the moment, I’m afraid UPromised is not available right now. Sorry Lars!
In light of situation i found myself in I took your post quite literally 🙂 I had my ass grinded because developer i was supposed to introduce took 3 weeks to do nothing on a task he was handed. Although i repeatedly asked him if he had any problems. I always got a response “no, no, nearly done”, and i wasn’t even an ass to ask him to show me the progress. I am seriously going to employ UPromised next time 🙂
Hi Nikola, sorry to hear both about your predicament and the fact that you took me seriously. Thanks for reading!
GDD is the sh*t! 🙂
By the way, I think itoctopus is a Project Manager 😛
Thank you IoannidisV. I can’t speak to the true identity of itoctopus, but we do welcome all kinds here at tatiyants.com. Even project managers 🙂
hahaha 🙂 very amusing. cnt believe it has a snail mail feature 🙂
should also have a plugin of SDD shame driven development, this could quite heavily incorporate the P.A.R.E.N.T feature, which i must say is the daddy of all features IMO.
I hear that for the hardcore programmer / Nerd there is also a pro package that offers a FDD [ Fret Driven Development ] and instead of mail being sent to your home, they send round large goons, that stand over you and ensure that you deliver on your promise, there is no real confirmation on this but i heard a price of $35 PCM mentioned somewere on another blog.
anyway happy developing
Thank you davethecoder! Unfortunately, the P.A.R.E.N.T. system was not designed to be extensible and I’m afraid it’s nearly impossible to change by now (it’s really set in its ways). Also, FDD has a lot of promise (pardon the pun).
Is this really real? Can’t find it on GitHub 🙁
Our project manager went on maternity leave and I’ve been looking for something to fill the void. Without nagging I have a habit of only doing the fun stuff and leaving the boring bits (like error handling, input validation etc.)…
Hi Simon, unfortunately this isn’t really real, at least not yet.
Very funny 🙂
Thank you very ahhatem, I really appreciate the kind words!
I felt like all of you… guilty. Then i took an arrow on the knee…
Software guys can actually feel guilt? Wow, I learned something new today! Usually they call you an idiot and run away when you start questioning them.
Some do, but a lot don’t. That’s why GDD is such an important practice. Thanks for reading!
I thought inflicting guilt was the responsibility of management (phb).
That’s a good point BrainiacV. I’m pretty sure GDD is a PMI approved technique.
My boss would pay a fortune for this. I promise I’ll tell him about it. 😉
I’m sure he would, thanks for reading GrandeMocha!
I feel like I want to make this system… I could probably do it to (aside from the snail mail bit)
Joseph, you can and should make this system. Good luck and please let me know how it turns out.
How would you proceed if the first two sentences were:
Do you wish your manager would quite chopping unit test hours out of your estimates before passing them up the chain?
Do you wish you could get your fellow teammates to give a crap about being good developers?
Guilt won’t work where I live.
Hi toucan,
All joking aside, development methodologies only go so far. For someone in your situation, the only advice I could give is this: “either change your environment or change your environment”. Good luck and thanks for reading!