A production problem got assigned to me. The fix was due in three weeks. It is a bug that was hard to analyze. A big problem I had was existing commitments of my time. Currently I spend about a third of my time helping our requirements team. I am also supposed to spend half of my time helping another development team. Normally I also find myself spending a third of my team dealing with the emergency of the day. These tasks alone overbook me.
So if I were to do all that I am currently asked, I would be spending well over 40 hours a week meeting these duties. Now I am tasked with an extra difficult problem to solve. Once you look at it in this light, you can see why three weeks is not enough. If this were a trivial problem, I could knock it out real quick and there would not be any fuss. But this one I got assigned is no simple case.
Here is a review of the difficulties I encountered researching this problem. I could not build a debug or release version of the application that is having the problem. After some research I found that this project assumes that I also have the source code for another project on my system. Then I found the application was throwing all kinds of assertions when I ran it. Some more research showed the test data in my development environment was not good.
Finally I got to the heart of the problem. There were two set of nearly identical code. The production release was using one version of the code which had the problem. The development release was using another version of the code that had this problem fixed. So in this case, we need to make sure our configuration management is up to snuff to avoid more problems like this. However my real beef is that I was over committed by management.
How did I resolve my problem? I told my boss that I was over committed. And I pitched some alternatives to resolve the problem. I said that they should stop loaning me out to other projects when I am too busy with my own. Another tough decision was to stop assisting our requirements team. That will cause some long term pain as the requirements will be no good. I also need to find good ways to stop being tricked into spending time on requirements. But that is a story for a future post.
Backtrack Linux - Backtrack is a Linux distribution based off Ubuntu. It is used for penetration testing and forensics. The distro was a combination of WHAX and Auditor. It...