.comment-link {margin-left:.6em;}
Name:
Location: Penang, Malaysia

March 01, 2008

The 4 weapons of software developers

I blog only when my mood is good. Some people blog when they are frustrated on something. I am different today, I blog because I am in a dilemma. So, I try not to think about it. Anyway, it is not actually a problem but… So, I blog as a way to get away from it temporarily. Will think about it later when my mind is clear.

Well, as someone in the software field for sometime, I kind of observe a few traits that are pretty much consistent. Working with software developers is always interesting. Working with vendors is another challenge but that is a different story for a different time later.

Software developers don’t just write codes. Too bad, most of the fresh graduates these days think that the only thing they can do in the industry is to write codes. Well, you need to spend time to understand requirement, you need to work with software architect, you need to create and update design documentation, you need to duplicate and debug issues, you need to communicate, and you need to follow processes!!! And, much, much more!!!

At times, under tight schedule to deliver builds, to implement features, and to fix defects, I observed that software developers tend to use 4 weapons. Let me describe them one by one.

The first is always cannot understand the defect. This is not a defect. This is not suppose to be the way user going to use this piece of software. Based of the requirement document, I thought this is the way it suppose to function. Even, the UML diagram is not clear enough. Whatever...

After you manage to convince them this is indeed a defect, here comes the second weapon. I could not duplicate the defect here at my place. We tested many times and it is running OK at our side. We always write down the detailed steps to reproduce a defect in out defect tracking database. Sometimes, it is even necessary to make a video to show the defect.

Then, the third weapon is to dispute the requirement document. There is no such requirement mentioned in the documentation. We didn’t implement this because it says we need to do this and this only. Then, you have to go through the logic with the developers that this is indeed needed. Otherwise, this piece of software is just like crap and unusable. They are all inter-related.

Finally, the fourth weapon. Time. After using the first 3 weapons and wasting so much time, we are now running behind of schedule. We can't fix all the defects. Now, please prioritize the defects that you need to fix. Some can't even implement all the features.

I have the answers and countermeasures to these 4 weapons. Hey, I am a veteran. I am not going to discuss that in detail today. Leave it for another blog entry someday.

Anyway, these are challenges in life. Don't worry, all the technical problems might appear like there are many ways to solve it. They are all pretty much working towards the same goal. However, people is a totally different thing. It requires different kind of skill to handle people. To me, it is fun. You want to be yourself, you want to tell the truth. The truth is, people don't want to know the truth. The truth is that they can’t handle the truth. When you tell nothing but the truth, the truth will come back and haunt you.

So, next time, adopt the stance as if you are being audited by and ISO 9000 auditor. Answer only what is asked. Do not comment, do not volunteer information, do not dispute. Prepare your answer up front. Hope you like my crap today.

0 Comments:

Post a Comment

<< Home