Support Driven Development – Making Support a 1st Class Service

Start-ups often struggle with navigating the sea of development tools and the focus is almost always on the basics of source code management and issue tracking. Some roll their own point-based solutions by spinning up their own Git server and installing some open source issue tracker while others head to the cloud and try to tie these things together with APIs (which often leads to additional problems).

However, once the team puts the polish on the initial release and begins planning the rollout it is only then they realize they have to tackle support. This is a critical misstep. Support should be one of your first concerns and it should be dealt before the first line of code is written. How software shops provide support should be part of the conversation back when they were tackling source code management and issue tracking and while they may not rollout a support solution immediately, the process and tools they will use should be finalized. So why should you do support driven development?

The end of a development cycle is often the most chaotic. While the final tests are being run and packages are being built, plans are being made for the big release announcement and plans for the next version are already underway. Trying to iron out the support process and tools at the end of a development cycle, with everything going on, almost certainly means what ever decisions they make will be done in haste and that anything they rollout will feel like a 2nd class citizen to their customers. Is this the first impression customers want? Absolutely not!

We learned this lesson the hard way. We made all those missteps and are still paying the price. In short, a poorly thought out support process and bad decisions in support tools is just another form of technical debt. As a result we have had to address an out-of-date support process and aging tools just as we have to address other forms of technical debt (e.g. poorly written, untestable code, out of date processes, etc).

Then our CTO came to me with a pretty simply revelation. GForge Trackers already allows you to customize the data you collect and to define a workflow process for managing tasks, bug and enhancements. Why not expand our use of GForge to include support, and in turn make support driven development a reality? Back in GForge 6.3.0 we added Support Trackers. As with any new feature, we’ve had a few kinks to workout, however, the decision is already paying off. There are so many benefits to managing support within the same system you use for managing your issues and tasks:

  1. Support tickets can be managed by a separate team but using now your support and development teams are using the same tools. This simplifies training and allows each team to have visibility into what the other is doing.
  2. Managers can generate reports on support tickets and bugs in one system.
  3. Support tickets can be escalated to bugs, giving a clean hand-off from your support team to your development team.
  4. Support tickets can be associated with issues and tasks, retaining the relationship between them.
  5. Support tickets can be part of your sprints.

Sprints? While managing sprints in GForge is pretty cool, we never imagined ahead of time we’d be including support tickets in our sprints. However, after rolling out an alpha version of the sprint feature, we found that with a small team that provides both development and support that this was the perfect way to stay on top of everything and we couldn’t be happier.

If you agree great support is something your customers demand, the points we want to leave you with are simple:

  1. Iron out the details of how you will provide support before the first line of code is written.
  2. Try your best to avoid hard-to-integrate point solutions or clunky cloud-based APIs to tie support, issue tracking, etc together.

GForge allows everything from start-ups to enterprise-size organizations a way to provide support to their customers in the same tool their teams use for source code management, issue tracking and collaboration (chat). Learn more about GForge or download it today.