Flayra just posted a video of one of the Natural Selection 2 artists texturing a 3D model. I've done a bit of modeling and texturing (poorly, of course), so it's awesome to watch someone who's really good. It also reminded me of how I work on RESTdb, though. I always have my heavily modified nosy running in its own terminal window, and it gives me constant feedback on the effects of every little change I make.
In the video, it's obvious that constant feedback is critical to the process. If the artist tried to create the entire texture without seeing it applied to the mesh, the process would take much longer, yield poorer results, or probably both. As far as I'm concerned, the same applies to programming: if you use a bit of TDD, along with a continuous test runner like nosy, the programming process becomes more organic and approachable. It becomes easier to break the problem down into pieces that can be tackled easily, and you have a better sense of the scope of your changes.
If you haven't tried nosy yet, do it! It's very easy – just download nosy.py, stick it in your project's directory, and run it. It's only about 25 lines long, but it can have a huge impact on how you work. If you're still not convinced, check out Jeff Winkler's screencast.