Getting Things Done with code: address the real issue
I haven't yet delved into the real practices surround Getting Things Done, but I have come across a principle that can be applied to a variety of different things. I call it "Remember Less." The basic idea is to put less pressure on your self by organizing and writing things down.
I found recently that this principle definitely applies to writing software. By writing clean, organized, self-documenting code and focusing on the real issue (rather than implementation details) there is less pressure on you as a developer to remember the intricacies of your codebase. This also decreases the need for you as a developer to communicate and document your code, and speeds up ramp-up time for new developers.
For example, when making a web form, it is better to check the type of request rather than to look for a specific variable that might indicate that the form was submitted.
This brings me to my next point, which is that nice frameworks decrease developer stress by providing convenient syntax and logical concept-models for interacting with the code workflow. For example, using Rails'
if request.post? #Do some POST stuff end
is way easier to understand and conceptually consistent than a similar expression in PHP (okok, i'm comparing a language to a framework, bear with me):
if($_SERVER['REQUEST_METHOD'] == "POST")
{
// Do some POST stuff
}
So go the extra mile and write good clean, self documenting code. Also, distill the problem down to it's most basic form, without getting confuse.d by the implementation, and you'll make it easier on yourself.