The past few weeks here at work, I\'ve had to begin to shift my programming paradigm. Now usually I don\'t like to use words like that, but its an exact match in this case so I am going to let it slide.
In the \"old\" days here, we\'d get a project, and just start building the thing and worry about testing later. We knew all along that we needed a better process, and that we really should have had some sort of *formal* testing process. However it was alwasy a \"someday\" and never became a reality due to tight deadlines, lack of motivation, whatever...it just didn\'t happen.
We now have someone that is leading our team that is very well versed in the test-driven development arena and is attempting to bring hat way of thinking into our circle. So far its working, I can see our processes changing, I can already feel my thoughts beginning to focus more on the feature at hand and not the whole project at once. The hardest adjustment has been trying not to \"think for the customer\" and plan ahead, which goes against everything I\'ve ever done. I always like to plan ahead and try to meet the customers needs before they know them in the first place. All of that sounds like its good, but thinking ahead too far is showing me that you can get in your own way and over-complicate things.
That being said, I think the whole test-driven development thing can get in your own way as well. I can actually hear the faint rumblings of, \"we need to write tests to test our tests...\" and THAT scares me. Granted at the end of the day, we don\'t want to \"ship shit.\" We want to deliver a professional, polished end product that is virtually bug free and been tested to the hilt. However, I fear that we can get in our own way here as well. In a world where far to many people come from the \"do more, with less -- and faster\" way of thinking, we run the risk of being the \"yeah, they do great work, but they take too long get it done\" kind of folks.
I am sure we\'ll find our rhythm and start stamping out projects at the speed of light, but the shift that it takes to get there is proving rather tough for me. The one thing I have going for me is that I re-tooled to become a developer. I come from the networking backgroud. I haven\'t been a developer as long as these guys have which \"should\" make it easier for me to break out of old habits. My problem is, I am so used to programming for a deadline balls to the wall that actually taking a step back and splitting out feature by feature and testing \"until fear becomes boredom\" is making me far to antsy about getting things done \"on time.\" For those of you who know me, your probably shaking your head at me. I\'m late for everything, so why am I worried about deadlines now?? I dunno...I guess I just have to get out of my own way and do this thing right.
