Thrashing

by mgordon 8. August 2007 02:52

Do you thrash?  Thrashing is when you find yourself in a situation where you can't seem to make any progress on a problem no matter how much effort you're exerting.  Thrashing can frustrate and kill both productivity and timelines.  Maybe you're trying to track down an elusive bug, working in an unfamiliar language or technology, or you're doing something unique and uncharted.  The common thread in all these scenarios is a lack of information.  Where do I look next? How can I create a particular behavior with the tools I have at hand?  What tool should I be using instead?

Assuming that your thrashing is based on a lack of information, the warning signs should be fairly obvious.  Do you have a pretty good idea how you're going to accomplish your task?  If you don't, you may be on your way to a good thrashing.  Thrashing can usually be prevented with preparation. 

First, know your tools.  Be honest.  How familiar are you with the language you're using?  Do you often read code written in that language?  If not, you need to.  If you do, do you find yourself wondering what chunks of the code are doing?  As my high school English teacher said, "If you come across a word you don't understand, look it up."  Doing this will keep thrashing due to ignorance of the language at bay.

Second, know you're requirements and have a design in mind.  I can't tell you how many times code I've worked on has been held up because either the requirements were unclear or certain points in them are disputed among the users.  If you don't know exactly how the application is to behave, it's your job as the developer to clarify these things.

 If you should find yourself in a situation where you're thrashing, the best way to break out is to remember that someone knows the answer to the questions you have.  Find them and ask.  In my book, the only excuse for thrashing is the rare situation where there is no expert or they are unavailable.

Tags: ,

General | Productivity

Comments are closed

Powered by BlogEngine.NET 1.5.0.7
Theme by Extensive SEO