Luckily there are some troublesome parts of software maintenance that we can impact. Often times these mark the difference between success and failure.
In the heat of a broken system, there can be a strong desire to fix bugs ASAP. Often a conflicting goal is to make updates which keeping costs under control. It then becomes easy but detrimental to allocate limited resources to problem resolution.
Even though maintence is often a huge part of the software life cycle, it is not given priority. Lowly employess get assigned the bug fixing tasks. Original developers are usually not around once the system has been delivered.
And while maintenance usually comprises of fixing bugs, the system requirements can be ever changing if customers are not managed well. The good news is that this and all other issues I list here can be avoided or minimized with good management. This is the heart of what I want to dicuss and explore in this blog.
Reproducing a Race Condition
-
We have a job at work that runs every Wednesday night. All of a sudden, it
aborted the last 2 weeks. This caused some critical data to be late. The
main ...