The vision and purpose for an application, or even an organization for that matter, are the standing marching orders. When someone makes a decision, they need a framework within which to make that decision. If the framework doesn’t exist or lacks clarity, it’s nearly impossible to make consistently good decisions. More importantly, for a large team, it is entirely impossible to have everybody rowing in the same direction without that vision.
For that reason, it’s imperative that the vision and purpose exist. Since I’m developing the issue tracker virtually on my own, I might not have to coordinate a team of developers, but I do need that same framework. I’ve had a loose vision for our bug and issue tracker for years, but that’s not good enough. Loose visions lead to loose execution. So, after a bit of exploration, I decided that status, responsibility, and accountability are the most important aspects of the application.
Then of course, the corollary to that rule was that everything had to be as simple as possible. How did I define simple? I knew that any piece of functionality that did not directly support status, responsibility, or accountability wasn’t going to make it into the first version. More importantly, it meant that the design had to place an emphasis on those elements.
Emphasizing Status and Responsibility
One of the first decisions that evolved was to base the navigational elements on responsibility and status. (Figure 1) The most important responsibilities are included. They are, “My Issues”, “Everyone’s Issues”, and “Nobody’s Issues”. In the system, unassigned issues are like red flags. Therefore, they even receive their own navigational tab so they can’t be overlooked. Also, all closed issues are excluded from the primary tabs and included in their own tab to that the main tabs are focused on active issues and making progress.
Additionally, when you’re viewing one of the tabs for active issues, the issues are listed such that status and responsibility are readily visible. (Figure 2)You should be able to quickly scan or scroll through a list of issues and gain a very thorough understanding of what you’re up against.
In order to establish a visual language the elements of the design indicating status are carried over when you’re viewing an issue. The colors are used in the header at the top of the page for an ambient indication of status, and each comment also has a block quickly illustrating whether the status changed when that comment was made. (Figures 3 & 4)
Similarly, the comments are designed to facility quick scanning. This enables a rapid understanding of the life-cycle that a particular issue has undergone. Or, if you’re working on an issue, it enables you to quickly look back in time through the comments to find the original reason the issue was reopened. With the easily visible status indicators attached to comments, this all becomes much more natural and intuitive.
By having a clear vision and purpose, it enables everyone to make more focused and appropriate decisions. Whenever you face that tough “what should we do here” situation, the vision provides an obvious route out of the woods. Without that vision, there’s no telling what kind of decisions are being made. A particular quote comes to mind here.
Those who stand for nothing fall for anything.Alexander Hamilton
It’s worth thinking about. What does your application stand for?