Here's some simple stuff:
Code doesn't break.
If the robot used to function, and now it doesn't, though the software hasn't been changed, then something in the hardware changed.
The code still works, but for a different setup.
Allowing the whole team to participate in troubleshooting requires two things:
- clear communication
- isolation of errors
It's generally true that singular components of the robot changed, not the robot as a whole. Clear communication is required to determine what was deliberately changed since the robot last worked, and what might have failed.
Of course, you're not actually done troubleshooting until the problem is fixed, and you know WHY it's fixed.