Software Project Management Challenge #1
Posted by robkraft on October 30, 2012
The software programmer has added a feature to the program as requested but the feature contains a minor flaw. The programmer has spent four hours trying to eliminate the flaw with no success. As shown in the images, the flaw is a visual flaw. When the screen is resized to a smaller size, one of the input fields vanishes. But any subsequent resize causes the missing field to re-appear.
Should the programmer continue to fix the flaw? None of the programmers has any ideas for how to fix the flaw, they have already researched and tried everything they can think of. No time estimate can be made for the fix; it might take 2 hours or it might be impossible to fix.
Your software has 5,000 users, but you estimate this feature will be used about once per day by 10 of those users on average, and if those users don’t resize the screen they won’t notice a problem.
- Do you have the programmer continue to work on the flaw for 8 hours and then re-assess the issue.
- Do you have the programmer spend 40 hours redeveloping the feature completely in a different way that hopefully will have no problems.
- Do you remove the feature from the code hoping to try to implement it again in a future iteration?
- Do you create a new ticket in the bug tracking system to address the problem in the future, or do you leave it unrecorded and hope it is never reported.
- If you create a new ticket in the bug tracking system, do you include the bug in the list of known bugs in the application?
- Do you tell your quality assurance team to ignore the bug; to not report it as a bug.
This challenge is typical of the decisions that need to be made every day in software development. I don’t believe there is a correct or best answer to this scenario. Perhaps you have a junior programmer doing the work and you feel it would be good for him to spend a few days trying to resolve the problem. Or, perhaps the project is behind schedule and you have several more valuable features to complete so you decide to leave this one as is. Or perhaps you software has been critiqued severely lately for releasing code with bugs so you decide it best to take this feature out to reduce further stains on your reputation. There are many factors that go into making this decision and I’m sure I cannot think of all of them. Can you?