CodeBeamer - NetBeans ALM Module - UI Review
Author: Ondrej Langr
$Id: index.html,v 1.3 2007/12/04 07:58:26 jpirek Exp $ (see full CVS history)
Table of Contents
Executive Summary
ALM Module for NetBeans seems to be a very handy tool for NetBeans developers whose teams are using the CodeBeamer collaborative platform. It delivers a powerful set of features and in the tested version provides access to majority of platform's functionality aimed at developers.
However, the integration with NetBeans IDE could be in some cases better. Major task-flow stoppers are a separate CodeBeamer project management window and in some cases also somewhat indirect navigation towards user's tasks.
Introduction
The review applies to NetBeans ALM Module in version 0.6, running in nb5.5, but is done with future integration to NetBeans 6.0 in mind.
Target Audience
The product is aimed at small development teams. Within the team, mosly the developers role is addressed as engineering managers are assumed to tend to use the codeBeamer web interface.
Thus, typical ALM Module user is NetBeans developer with average to high experience and highly technical reasoning.
Scenarios, Tasks
The ALM module was evaluated with respect to following scenarios:
- Setting up the connection
- Bug reporting
- Filing a bug report
- Search for an Issue
- Fixing a bug & changing it's state
- Trackers
- Create a new tracker
- Modify an existing track
Following functionality was not review because it was not available at the time of the review:
- Integration with Versioning Systems (Project Sources checkout, etc...)
- Searching for Trackers
Findings and Recommendations
High-Level Issues, General Flow
| Finding |
CodeBeamer project and NetBeans projects are completely separated. The typical flow (e.g. when fixing a bug reported via CodeBeamer tracker, and many others) often involves frequent switching between collaboration window where most of CodeBeamer project management takes place and between project window where the user navigates performs regular development tasks. From most people's point of view, there is no significant difference between the two projects. Therefore, these should be integrated, so that tasks and management would be acessible from a single place. Icons and visual clues could easily be used to distinguish between local (sources) and remote (e.g. discussion forums) data. As during typical tasks both windows frequently need to be open, their integration would also increase the amount of space available for editor and/or eliminate the need for bothersome switching between the two windows. |
| Severity |
P1-P2 |
| Recommendation |
For users, the two "repositories" should be ideally integrated. This would keep project related tasks available from one place and significantly reduce the amount of needless navigation and enhance users' comfort. |
| Finding |
There is no visual clue on how to submit a new tracker which has state <not submitted yet> and there is an inconsistency between the label "not submitted" and action which submits the tracker: "save", which is likely to cause confusion for first time users. |
| Severity |
P3 |
| Recommendation |
Rename "Save" to "Submit" or the other way.
Topic for discussion: Should "Save" shortcut (Ctrl + S) also save/submit the currently opened tracker? It probably should as it works this way in Tracker list (tracker type-specific window) |
| Finding |
Close all the connections and also the Collaboration window. After reopening the collaboration window, there is no easy way to start a new connection directly from this window. |
| Severity |
P3 |
| Recommendation |
Add a contextual (right-click) menu with "CodeBeamer Login" item into the Collaboration window. (This would issue would be even beter solved by suggested project integration into standard NetBeans project window) |
Visual Integration with NetBeans IDE
| Finding |
The icon does not quite match NetBeans Look & Feel (Nimbus) |
| Severity |
P3 |
| Recommendation |
Address Ondrej with requests for the new icon. |
Setting Up the Connection - Server Authentication Screen
| Finding |
After an unsuccessful attempt to connect to a codebeamer repository, only "Cancel" button is enabled. This prevent the user from smooth mistake recovery in edge-case scenario where the user discovers that s/he does not have the internet connection, fixes the problem upon the error message and wants to try to connect again. |
| Priority |
P3-P4 |
| Recommendation |
|
| Finding |
There is no visual feedback on why the Manage button is disabled. I was not able to make it enabled.
|
| Severity |
P3-P4 |
| Recommendation |
|
Creating a New Tracker Scenario
General Task Flow
| Finding |
When a new tracker is created, empty tracker is added to the end of the list. Because the tracker is always created with a purpose to decribe a bug, enhancement or something else, the tracker's window should also be brought up to allow the user to change the tracker directly. |
| Severity |
P2 |
| Recommendation |
The interaction could be significantly shortened by adding the "add tracker" item directly into following contextual menu:
This would directly open a window for editing the new tracker. At the same time, tracker should be possible to "Save" directly from Tracker's editor window, which would allow the user to create trackers without Tracker specific window (i.e. bug window in our case). |
| Finding |
Creating a new tracker typically involves interaction with all Collaboration window (to open the window with trackers), Tracker-type specific window (to create the tracker), tracker properties editor window (modify the default-empty tracker) and then again the Bug window - save it. This is an unnecessary burden for a very common operation.
|
| Severity |
P2 |
| Recommendation |
Ideally, we should allow the user to quickly create a new tracker directly from Project window and save it directly from the tracker properties window (at the same place where he/she describes the tracker and fills in all the tracker details). |
Bugs and Minor Usability Issues
| Finding |
Inconsistency in the tracker contextual menu - the "Properties" item should be the last in the list, to be consistent with other contextual menu in codebeamer ALM module and also in NetBeans.

|
| Severity |
P4 |
| Recommendation |
Tracker type specific (e.g. Bug window) could be easily made |
| Finding |
For a first time user, it is not obvious how "Format" checkbox will affect the result and what is format used for.
|
| Severity |
P4, because first time users are not very likely to create new trackers. |
| Recommendation |
Add a short description/explanation
|
| Finding |
It is not clear what the meaning and purpose of Key (short name) field is. The same applies for workflow checkbox. Or is it just my poor insight into the CodeBeamer background? Review this point after call with Matt and Olaf.
|
| Severity |
P3 - P4 |
| Recommendation |
Add a short description/explanation |
| Finding |
When there are multiple new issues which are "Not Submitted Yet", they can't be submitted all at the same time. |
| Severity |
P4, submitting many trackers at the same time is probably not a typical use-case |
| Recommendation |
|
Trackers - Searching for Trackers
I was not able to find this functionality.
Trackers - Change Tracker State
The issues encountered during this scenario are that the tracker may be difficult to find (at least for me, see previous section) and that user needs to switch to another window to save/submit the changed tracker (already mentioned here ).
"Fix a Bug" Scenario
Navigation and Task Flow
| Finding |
(evaluated from video only) In the commit dialog, there is a panel added by codebeamer where the user can associate a tracker with the particular commit. However, commits typically changes state of a tracker and there is no way to do it in this dialog, so that the user is forced find the appropriate tracker and change it's state, which requires significantly more effort and navigation than is necessary.
|
| Severity |
P2 |
| Recommendation |
The panel should contain a possibility to change the state of associated tracker. |
- I did not find any "search trackers" functionality - did I miss it?
- Would be nice to have: Integration with NetBeans TODO list - new trackers assigned to me could directly create entries in my NetBeans TODO list ..
- Would be nice to have: Drag'n Drop between categories - let's say there is a bug developement team decides to turn into an enhancement. If I get it right, currently they need to re-create it in the appropriate category.
- Integration with versioning has not been tested as it was not available at the time of this review