I have a confession to make: I am an undisciplined programmer at heart. Unless someone or something provides external motivation to do otherwise, I tend to jump in and start coding a project without ...