Alex Miller presented a talk at his recent Strange Loop conference about Walter Mischell’s marshmallow experiments. Mischell studies children’s ability to defer gratification when they were put in a room with a marshmallow and told they would receive another one in ~20 minutes if they didn’t eat the first. The longer term study found that kids who were able to wait, scored much higher in “life metrics” later on (e.g. work success, school studies, etc).
Alex’s talk got me thinking about deferring gratification in software development …. which imediatley made me think about testing.
In college, there were no tests. Just me, alone, with lots of code. And, there were lots of headaches and confusion. Fast.
Now I write tests and consider the behavior of my system before I write a single line of code. Now every line of code was written with a pair. After every iteration the team gets together to discuss how we are doing and how we can do it better. There are some headaches but a lot less confusion. Now there is pride and quality.
Having the discipline of writing tests first, and developing software in thin vertical slices from the top down is hard. It is hard because we desire closure, and immediate feedback. But by focusing our energy on producing a long term quality product, we can achieve a higher level of satisfaction.
Being surrounded with that many passionate professionals makes you want to be better.
A huge thanks to Alex for putting on a great conference here in St. Louis. I can’t wait for next year.