Now that you’re familiar with all of the pieces to the puzzle, the final step to saving time and money with issue tracking is the logistics. It’s not complex, but it will certainly take some time. The good news is that you don’t have to do it perfectly, and your process can, and should, evolve over time. So what do you need to move forward?
- Welcome Email
- Getting Started Guide
- Priorities Baseline
- Platform/Browser/Device Testing
- QA and/or Staging Environment
- Release Process & Testing Cycles
- Bug/Issue Tracking Software
- Exception & Performance Monitoring
- Help Desk & Support
Minimum Viable Quality Strategy
When inviting new team members, especially non-technical folks, to your process and tools, you have to remember how overwhelming the amount of new information can be. However, if you give them some context and let them know the tools and processes can help make their job easier, you’ll see significantly improved adoption rates.
Your welcome email will be highly dependent on the tools and processes that you use, but we’ve put together a basic welcome email for Sifter customers to use with their team that helps give you an idea of how to organize a similar email for your team.
Getting Started Guide
If you think of the welcome email as a sales pitch to encourage adoption a “Getting Started” guide is the next step that helps make sure people adapt seamlessly to your team’s unique approach. Since team size, project size, technology stack, and other variables are at play, even if someone is familiar with issue tracking, they aren’t necessarily familiar with your brand of software development. Providing some context to help them get started and refer back to later can go a long ways.
If you skimmed the welcome email, you probably noticed that it explicitly addresses priorities. One of the most common challenges for teams is that priorities aren’t used effectively. There’s always a handful of people that will label everything as critical. And naturally, if everything is important, then nothing is. The best way to handle this is objectively define what the various priorities mean. This way, nobody will want try to claim that a typo took the system offline.
One of the most important facets of testing is covering the spectrum of available devices, platforms, and browsers. Developers tend to only build and test in the environment that they use every day. As a result, subtle bugs could sneak in and become a problem. You can go all out and have dedicated testing machines for Windows, Linux, OS X, or whatever devices and systems you need. Fortunately, there are some great online tools like BrowserStack that are great for testing the majority of scenarios that you’ll need. Online tools are virtualized, so it’s entirely possible that you actually want to set up a physical device lab for testing purposes.
While you don’t need a dedicated room with dozens of devices plugged in, it’s helpful to make sure that you have access to all of the relevant devices for your product. Keep them handy and in a central place, and make sure that at least one person is committed to trying the tools on all of the devices and reporting relevant bugs. At a minimum, you may just want to see if there’s an open device lab near you for easier testing.
QA or Staging Environment
While it requires some overhead, setting up a shared QA or staging environment is one of the most helpful steps available as it provides a central and consistent representation of the current state of your application. This helps minimize miscommunication or problems around reproducing issues. And you get the added bonus of having an environment that’s similar to production for troubleshooting those nasty problems that only happen in production. (Those are the worst, right?)
Release Process & Testing Cycles
For testing to become a natural extension of your process, you have to set aside time for it and plan to do it. If it’s treated as an afterthought, you’ll be more likely to forget about it or just skip it to save time. Our suggestion is to build it into your iterations so that every Friday or every other Friday is dedicated to testing and fixing. Release to
Bug and Issue Tracking Software
Once you’ve set up a testing process, you’re going to need a place to keep track of all of the bugs that get uncovered. Ideally, with code reviews and automated testing, most bugs will be caught long before they make it to the testing phase and won’t even need to be logged in the issue tracker, but those methods can’t uncover everything.
There are countless bug and issue trackers available with an incredible variety of feature sets. The key is choosing one that’s right for your situation. Too complex for and configurable for your needs and you may spend more time configuring it than using it. Too simple for your needs, and you may frequently be frustrated by its constraints. Just remember, if significant portions of your team can’t stand your issue tracker, the features and functionality don’t really matter.
Automatically keeping an eye out for exceptions is a must. Exception monitoring tools are generally easy to set up and configure, and they help uncover problems that may otherwise be hidden from view. If customers encounter a bug but don’t report it, an exception management tool will help make sure that you’re alerted. These are great because they’re quick and easy to install and provide immediate feedback once you start using them.
Like exceptions, performance issues can be virtually invisible to you. They can be caused by a variety of problems that may only affect certain customers. Application performance monitoring can help you uncover performance problems, but it can also help you anticipate performance problems related to growth and manage your capacity accordingly.
One significant facet of performance monitoring is trends. While you definitely want to be mindful of absolute values, performance monitoring can also help you catch problems earlier if it’s easy for you to discern when something began slowing down. Did your last release double your dashboard’s response time? Did your background processing speed up after upgrading your job server? Having a good understanding of whether your performance is trending up or down can help expose problems and validate technical changes.
While log management and help desks quickly become key pieces of the quality strategy puzzle, you can get away without them in the early days. I would advise setting them up sooner rather than later, but if you’re feeling overwhelmed in the early days, you can buy yourself some breathing room by delaying these.
It won’t take long before you’ll need to dig into your logs. If you’re running everything on a single server, you can likely get away without using log management on day one. If you have multiple servers, though, setting up log management is worth it in the amount of time it will save you when troubleshooting problems. Logentries has a good introduction to log management and some associated best practices.
Help Desk & Support
If your team is really small, you might be able to get away without having a help desk for a short time, but before long, you’ll be wishing that you had one. Email is convenient, but help desks do a much better job at helping you manage conversations and make sure that no customer requests are lost or forgotten. Many of them also provide reporting insight to help you understand your most frequent requests.
That’s all folks!
Here we are. Hopefully you feel a little more informed and ready to start tackling quality improvements on your own projects. You may even be overwhelmed, but just remember, while a diverse set of tools will provide the most complete results, it’s better to start with something. Try out each tool or process and make adjustments. Trying to implement everything overnight is counter-productive. The goal is to just help you get started with one tool that can help you see the biggest gains. Then just add tools and processes organically over time.