Interruptions: a destructive force every software development team has to manage.
There is a huge advantage to starting a new job or being brought in as a new consultant — you have no history, no baggage, no (internal) “body of knowledge” that you have to carry around with you from project to project. You get to start fresh and tightly focus on the project at hand.
As time goes by, you collect lots of internal knowledge and your name gets around. Once you’ve been with a company for a while, people get to know you, they seek you out, invite you to meetings, leverage your skills, and interrupt you incessantly.
What can you do?
As a manager you could go out and hire a new team for every project. That would eliminate many if the interruptions but each team would have to start over and develop an understanding of the business context before writing any code. Not a good trade-off.
As a team member, you could find a new gig after every project. If consulting is your thing, go for it. If longevity with a firm is what you want, embrace the interruptions and learn to manage them.
Here are a few tips:
- Prioritize. If your project is high-priority (from a corporate perspective), you should have the option to refuse interruptions and stay focused. If it’s not high-priority, allow extra time to handle the inevitable interruptions. No project priorities in your company? Allow lots of extra time for your project!
- Create breathing room. No one works eight productive hours every day. Most people work in chunks or batches with breaks in between. Add a few interruptions and you’re lucky to have six productive hours in a day. Plan accordingly.
- Instill a sense of urgency. Regardless of your situation, approach the work you do with a sense of urgency. When interruptions happen, ask questions. “Why now? Why me?”
If you want to be agile and get projects done faster, manage the interruptions.