Aspiration and Advisory

View Original

What Is Wrong With Ticketing Systems?

See this content in the original post

Ticketing systems are usually controlling more than half of most software development companies' internal processes and activities. Let us see what is wrong with these systems and why they are so weird and complicated to use.

Functionality vs. Simplicity

Most ticketing systems start their lives as simple tools to automate internal activities related to the tasks users have to perform. However, they quickly evolve to maintain calendar events, time tracking, project management, agile development features, and so on. Just remember a couple of the most popular ticketing systems on the market, and you understand the scope of functionality they support.

Such extendability and functionality have one major downside — complexity. Users spend lots of time learning how to use it, spend even more time using it, and very unhappy. Sounds familiar, isn't it?

The simplistic approach is much easier — the bare ticketing system is an excellent, simple, and pleasurable tool. However, the user still has to use other applications to cover other activities — calendar events, project management, etc.

So, in the end, this is a simple choice — use one functional but cumbersome tool that can do everything, or use tons of friendly small tools and sync the data between them manually. Most people choose the first approach.

User Experience

Most people prefer to have a universal tool to do everything in one place that often leads to a poor user experience.

The first issue is the complexity itself. The more elements (forms, buttons, links) the application has to render, the more complicated it is for a regular user. Different applications are solving this issue in different ways. Some adding scopes to separate responsibilities, other adding application-in-application views. But the issue mostly remains there.

The second consequential issue is a visual representation. It is hard to organize lots of elements, functions, and features without losing the functionality and convenience. So, most users are stuck with overcomplicated interfaces with lots of forms and buttons to do things they never need.

Finally, there is a question of external plugins or extensions. The concept itself is straightforward — the application provides an extension point for 3rd-party developers to add even more features. However, the quality of these plugins is often low, the user experience could be better, and the overall impression is slightly disappointing. And do not forget that these plugins add even more complexity to already massive and cumbersome applications.

What Should I Do?

There are many different solutions for different cases. Have a look and see which one suits your situation the best.

The easiest solution is to reduce the scope of the functionality and disable all unused features. It is a great solution, except for when most of the custom features are used by just a few people. Consequently, all others have to look at all those features but never use them. It is a good idea to configure which features are visible for every user and disable most of these features by default.

The following solution is to decrease the amount of data a user can work with or access. Less data is easier to handle visually, and the application also may work faster. The disadvantage is that the application administrator has to limit access to that data carefully.

Finally, a designer may simplify or refactor the interface to improve the user experience. It is the most complicated solution as it requires direct modification of the application interface. It also requires a good interface designer with enough knowledge to build a good and usable interface.

These are standard recommendations that can be applied to every application t make the life of users simpler. Remember that perfection is achieved not when there is nothing more to add but when there is nothing left to take away. Follow this principle, and you will have an efficient application and happy users.

See this content in the original post