- work out why the application is behaving unexpectedly.
- fix the problem
- avoid breaking anything else
- maintain or improve the overall quality
- ensure the same problem does not occur elsewhere and cannot occur again
- checkin codes and get code review
- Reflect: learn the lessons from the bug, does it happen elsewhere?
Make only one change at a time and keep a record of what you have tried.
Bugs take priority.
For the performance bugs, you need to find the bottleneck with getting an accurate profiling.
Use 'assert' to let application debugs itself.