hammock driven development

when you take the time to think deeply about the problem and the solution space before diving into code.