Imagine that you're at the ballpark taking batting practice. The pitching machine is lobbing balls through the strike zone. You're taking nice and easy swings, driving balls to all fields.
Suddenly, a baseball hits you in the back of the head.
You whirl around to yell at the thrower, and get pegged again by another ball from somebody else. Soon balls are flying in from all directions, and you're pummelled by the onslaught.
Welcome to the life of a software developer. When life is going well, they are in the zone, marching through their bugs and features and writing good software.
But then a manager interrupts them to do "just this one thing", knocking them out of the zone. While they're dealing with that, another coworker needs emergency help finishing up a task. More last-minute items get dumped on the poor developer. Eventually they're just trying to survive the week, the zone a distant memory.
It's happened to all of us. And it ain't no fun. So how does FogBugz help with that?
FogBugz is like the pitching machine – it feeds tasks to developers in an orderly fashion. The developer settles down in front of their computer, reads their email, checks Reddit, opens FogBugz and says "Show me the open cases that are part of the next release that are assigned to me, sorted by priority". Boom. There's the list, in order, of what the developer needs to work on.
When new tasks arise, they are not thrown straight at the developer, jolting them out of the zone. Instead, they are fed into FogBugz, where the project manager takes care of prioritizing the task, placing it in the proper release, and assigning it to the appropriate developer. The task shows up on the list in FogBugz, but the developer hasn't been disturbed from the zone.
By using FogBugz to manage the tasks confronting a software development team, you get more productive developers. FogBugz lets them hit balls out of the park.
P.S. Thanks to Brett, one of our developers, for the baseball analogy.