Do you have Stopping Point Syndrome? I didn’t know that I had it until I read a recent post on Programmers.SE about how someone just couldn’t find a stopping point and would work into the night or until he passed out. In essence, it’s when you want to wait until you get to a good stopping point, but you just can’t seem to get there. It’s a real problem, and one that many of us have faced before. Here’s how I’ve helped curb this problem in my own development life and used this need of a stopping point to my advantage.
Check-in early. Check-in often.
The benefit of this is many-fold. Jeff Atwood of Coding Horror wrote on the benefits of early and often check-ins of your code. You can go back to previous versions, see the progression of code, etc. In general, you should check-in early and often to find integration issues early. The side benefit is that checking-in early and often gives you more frequent stopping points so you can close the laptop lid and go home when the time comes.
The Getting Things Done methodology is a way of working that uses prioritized task lists to…get things done! Some people are more fanatical about it than others, but the essence of the idea can definitely help deal with SPS. Working using a task list forces you to break down the things you’re working on into smaller chunks, which gives you more frequent stopping points. There are a lot of great tools out there to help with tasks like Remember The Milk and Outlook, but hopefully you should have a bug/task tracking system set up for your development team that will do exactly this. If you don’t have one – get one! If you do, try to make sure everyone is on-board with entering tasks and making them small and manageable, linking smaller ones together to create big tasks.
Use and stick to your calendar.
Pen (don’t pencil) into your schedule events at home and with friends, time for sleep/food or whatever and stick to it. Set up reminders ahead of time so you can be aware that you need to get to a stopping point soon.
So, there you have it, some quick tips on how to get to a stopping point faster at the end of the day. You’re much more productive when you’ve had sleep and are happy than when you feel like you’re never getting anything accomplished and only see progress after huge/long stretches of coding. At the end of the day, it takes willpower and just saying no to continuing past a good stopping point.
Do you have techniques or motivations that help you get to a stopping point when you need to?