Project Management – Dealing with Non-reproducible Bugs

project-management

Suppose your team writes a software system that is (quite surprisingly) running fine.

One day one of the engineers mistakenly runs some SQL queries that change some of the DB data, then forgets about it.

After some time you discover the corrupted/erroneous data and everyone scratches their heads as to which part of the code caused this and why, to no avail. Meanwhile the project manager insists that we find the part of the code that caused it.

How do you deal with this?

Best Answer

It is obvious no project manager will invest an infinite amount of time into such a problem. They want to prevent the same situation happening again.

To achieve this goal, even if one cannot find the root cause of such a failure, it is often possible to take some measures to

  • Detect such failures earlier in case they reoccur
  • Make it less likely the same failure will happen again
  • Make the system more robust against the specific kind of inconsistency

For example, more detailed logging, more finegrained error handling, or immediate error signaling could help to prevent the same error striking again, or to find the root cause. If your system allows adding database triggers, maybe it is possible to add a trigger which forbids the inconsistency being introduced in the first place.

Think of what the appropriate kind of action might be in your situation, and suggest this to the team; I am sure your project manager will be pleased.

One day one of the engineers mistakenly runs some SQL queries that change some of the DB data, then forgets about it.

As mentioned by others, it is also a good idea to forbid such a procedure (if you have influence on how the system is operated). No one should be allowed to run undocumented ad-hoc queries which change database content. If there is a need for such a query, make sure there is a policy to store the query together with its execution date, the name of the person who executed it, and the reason why it was used, in a documented place.

Related Topic