The Importance of Time Tracking for Big Teams
How do you maintain visibility, manage a high volume of communications and ensure everyone is able to make the best use of their time in a BIG team?
Nothing makes my coworkers and I groan as much as when our product manager announces that we need to do full regression testing before a new release.
It’s tedious and time-consuming. And it turns up lots of bugs, which is of course the idea. Â
So now that you’ve identified the bugs, what’s the best course for communicating, finding, and fixing them?
The first step to successful debugging is communicating the problem to the dev team. While that sounds obvious, how it’s handled can waste or save a lot of time.
If the bug is being reported by a customer, then start by getting all of the information you can about the environment the bug is occurring in. You’ll want to know:
As much as possible, try to collect all of this information in one place. You don’t want your dev team to have to comb through a long comment chain to find the information they need.  You can save time by adding a form that collects the information above on the issue, adding custom fields (such as “Steps to reproduce”) to a transition screen, or structuring your Description field so it shows all fo the pertinent information at a glance.
If you’re doing internal testing, the you might want to consider using a bug reporting app such as the  Disbug Chrome extension, or these options from the Atlassian Marketplace.
Sometimes things are simple. Your IDE tells you where (and sometimes even what) the problem is. In other cases, the greatest challenge in debugging isn’t fixing the problem, it’s finding the problem. Here are few strategies that can help you pin down where, in all those lines of code, the problem lies:
You found the problem! You fixed it. Or did you? Chances are you found more than one thing. So to ensure that you’re implementing a viable solution, retest each change that you make (after seeing that the change worked, remove the change to verify that the system breaks again). This will help you stay clear on what you’ve done in the code and will ensure that your fix(es) can stand on their own.
When You’re Stuck
Many programmers say that the best thing to do when you’re really stuck is to stop and think. Think through the logic of what the code is trying to do. Explain it to your cat or a rubber duck. Going through the logic step by step can help you identify likely trouble spots.
Another good strategy is to take a break. Take a walk. Take a nap. Take a shower. Come back with a clear head. Sometimes, while your conscious brain is taking a break, your subconscious brain figures out what the solution is!
The other thing to do when you’re stuck is ask for help. Being either too familiar or too unfamiliar with the code can work against you. If you’ve been staring at it for hours, there may be something you can’t see that will be obvious to one of your co-workers.
Hooray! You’ve found the problem. You’ve fixed the problem. Time for a beer.
Not so fast. It’s not done until it’s documented. This is especially important in complex systems and even more crucial when you’re working remotely. Your other team members need to know what you did and why.  Document your changes:
Mistakes are part of life, or at least part of software development. Good practices can make them faster and easier to deal with so you can get back to creating (intentional!) features.
Join us on Social Media!