Make sure you're able to run timer based services on demand
My job has had me working on service applications that run on a timed interval. One aspect of debugging these services that was slowing me down was waiting for the service to get triggered. For the longest time, I compensated by having the service be in on a 10 second timeout, since it didn’t take very long to run a sync. This still slowed me down though, and it made it easier to get sidetracked while waiting for the service to fire.
The solution didn’t strike me for a good 3 months: Add a way to trigger the service on demand. It is a very obvious solution in retrospect. And it makes a lot of difference when debugging, as I can fire off the service as much as is needed to test for different states.