Just in case you didn't get the metaphor from the titleEveryone’s application needs a good clean once in a while. When you’ve been building and implemented new code for a sustained period, there’s bound to be one or two bugs that need rinsing out.

Spending a good couple of hours (or more or less depending on the size of your app) sweeping your product is a lot of time out of your day when you could be doing, let’s be honest, more exciting and creative activities. So you need it to be a productive session. And for every problem that you miss, the less valuable your time has been spent.

As we do on average one run-through a fortnight for colaab, we thought we’d share a few tips and guidance points from our experiences on how to effectively sweep your app:

1. Be logical. Break your app down into chunks of similar size or quality. For example, with colaab, our main chunks are Signing up/logging in, Top navigation bar, Dashboard, Discussion hub, User list, Workspace and Resource.

Then break those chunks up into smaller bites. In our top navigation bar chunk, we break this up into Overall, Company management, User management, Help section, Logout. With these smaller sections you will have a complete overview of every area in your app to work through logically. It’s also a lot more motivating working through smaller sections with a clear idea of progress.

2. Break your app. When working through each section, test your application to the limit. Do everything that is humanly possible within your product and then some. This may seem a bit vague so let me focus a bit more:

  • Do all the links go where they are supposed to go?

  • Are all different types of input handled, special characters etc?

  • Are the emails sending correctly?

  • Did you test absolutely every last function of that area?

  • Does the information in that area update properly?

  • Did you try every scenario possible?

3. Sweep for improvements. Sweeping is all about making things in your app better. You’re doing it with broken sections, so why aren’t you doing it with working sections? Is that area of your app all it could be? If it isn’t, write it down.

4. Bugs don’t exist solely in functionality. Be very pedantic. Be incredibly picky. Become so pernickety that people start thinking you’re a control freak. That link may have worked, but was the text styled differently to the surrounding text? Ask yourself these questions when sweeping, for example:

  • Do all the links have correct alt tags?

  • Is the design consistent with the rest of the app?

  • Are there any grammatical/spelling mistakes?

  • Does any content need to be written/rewritten?

5. Get online project management software / bug tracking. JIRA, Basecamp, FogBugz – take your pick. For the amount of hassle it removes, it’s definitely worth forking out an extra few dollars a month to keep on top of issues you’re dealing with.

6. Can your app be used collaboratively? Your app may have worked when you were using it alone, but how did it perform from a collaboration point of view? Here are some things to think about if your service offers such features:

  • Did the changes update almost immediately for both users?

  • Were the changes consistent?

  • Did any action cause your app to crash?

  • Did your app perform as expected after the changes?

7. Do it as a team. Don’t pawn one person off to do it all on their own. Split up the sweep by sections, or let one set of people sweep and another resolve issues. Not only is it less de-motivating, but multiple people also bring about multiple eyes for searching out improvements.

Do you do regular sweeps for your app? Do you use any of the above techniques? Do you have any pearls of wisdom of your own to impart? As always, your comments are much appreciated.