When you have a large, distributed system with many moving parts, debugging no longer applies. To top that off, you in no way have a complete "view" of the state of the system and you have to piece together clues from varying parts. Taking into account the user "story" of what happened, which is usually vague.
I always liken it to being a detective trying to piece together a crime scene from incomplete clues. But now that I think about it, it's also quite a lot like trying to diagnose an illness from symptoms.
I always liken it to being a detective trying to piece together a crime scene from incomplete clues. But now that I think about it, it's also quite a lot like trying to diagnose an illness from symptoms.