User Testing

1. Contextual Inquiry

Contextual Inquiry is a user-centered design (UCD) method. It calls for one-on-one observations of work practice in its naturally occurring context. During or after the observations, a discussion occurs, during which users’ daily routines or processes are discovered. The product or website can then be designed to either work with the processes or help to shorten or eliminate those processes altogether.

2. Concept validation

Concept validation is key for screening design ideas with users of the system. What our team did is present current users of the platform with a number of scenarios of use for which they gave us feedback on.

3. Heuristic Evaluation

Heuristic evaluation is a discount usability engineering method for quick, cheap, and easy evaluation of a user interface design.Heuristic evaluation is the most popular of the usability inspection methods. Heuristic evaluation is done as a systematic inspection of a user interface design for usability. The goal of heuristic evaluation is to find the usability problems in the design so that they can be attended to as part of an iterative design process. Heuristic evaluation involves having a small set of evaluators examine the interface and judge its compliance with recognized usability principles (the "heuristics"). These can be found in Appendix B: Nielson’s Heuristics. (source: http://www.useit.com/papers/heuristic)

4. Think-Aloud protocol

Think-Aloud protocol is a technique in user testing where users are asked to speak their thoughts as they perform a task. While the focus in user testing is primarily on how effectively a user performs the required tasks (and not on how users believe they are performing), verbalizations are quite useful in understanding mistakes that are made and getting ideas for what the causes might be and how the interface could be improved to avoid those problems. (source: http://www.usabilityfirst.com/glossary/term_103.txl)

 

Features

1. WorkBench - Main Design Area

Within the system there are two ‘benches’. These benches split the developers environment into two distinct components. The most important of these components is the development environment and is called the WorkBench. Within this environment are all the items the developer needs to complete his work in an efficient and effective manner.

Feature: Split Panels

The split panels are used to help developers maintain context, to compare two different elements, and to easily reuse code. They divide the general design area into two subsections.

Feature: Contextual Toolbars

Tools are used to both create new elements, as well as to insert elements that already exist into the code. The toolbar only presents the developer with tools that can be used in the given context (i.e., the open element), reducing the complexity produced by the number of overall tools.

Feature: Live Search

This feature allows developers to have direct access to an element, either for use in their code or to open for work. The search is keyword based, providing suggestions as the terms are entered, with the suggestions coming from the entire solution space and sorted by relevance.

Feature: Independent/Dependent Browsing

This feature’s goal is to facilitate both code comparison and knowledge transfer. Independent browsing focuses on code comparison, while dependent browsing addresses knowledge transfer by making code context highly visible.

Feature: Thumbnail View

This feature is designed to help developers keep their context. The thumbnail appears when the split bar of the split panels is completely removed, making a single-panel design area. It displays the last view of the element open in the left panel to help maintain the developer’s context.

Feature: Breadcrumbs

The breadcrumbs feature addresses a developer’s need to maintain the context of the open element, as well as the need to quickly and easily access ancestor elements at any hierarchy level.

Feature: Breadcrumb Previews

The breadcrumbs themselves do not provide full context, and so each one has an available preview, visible when the mouse cursor hovers on the breadcrumb name.

Feature: Debugging

Still found at the bottom of the design area, debugging is always available and is done in real time, with error messages appearing when changes in the code introduce problems.


2. Communication

A recurring theme of this project, communication is at the center of global development. As mentioned in the User Research report, communication is done in several ways, using various mediums and for different reasons. In an Agile Environment, breakdowns in communication tend to lead to breakdowns in maintenance; a key part of the developers tasks.

Feature: Notes

Located at the bottom-left of the interface, the notes focus on supporting all forms of developer notes, from code comments to personal memos.

Feature: Collaboration

This feature is designed to provide the developer with real-time information regarding other developers’ work, letting them know if others are modifying the same code. It also allows the developer to communicate with all the collaborators of the project, irregardless of when they worked on it.


3. Visual Representation of Code

Also one of our foci, Visual Representation of Code is a major feature within the Service Studio. Since the software uses a visual-based language, in order to redesign the product, this must be taken into consideration. Since this was already included in the platform and is the main aspect of the development environment, we extended its functionality. Since the user is already being asked to design visually, the team believed that this should be explored further.

Feature: High-level System Diagram

This diagram is a visual representation of the entire solution space provides a convenient way of browsing through all the components, facilitating knowledge transfer between developers as well as gaining a mental model of the structure of a solution.

Feature: Zooming and Panning

Zooming and panning enable developers to see entire diagrams, if they are very large. The entire context can be seem by zooming out, while more detail can be seen by zooming in and panning around the code.


4. Meta Data

Within any software development environment there is a lot of information that is required to support the users work. In most environments, however, this data is not strictly kept by the system. It may be kept on paper, in a digital notepad or in the users head. This Meta Data is still, however, an integral part of the developers work environment. However, this data is not always needed by the user, but should always be available to them nonetheless.

Feature: History

The history feature addresses both the problem of developers forgetting where they left off, and the problem of finding an error after introducing a bug into the code.


5. TaskBench

This part of the system is designed to give developers task management capabilities within their development environment. In the TaskBench, developers have access to all their tasks in one place.

Feature: Adding and Removing Work Items

When there is no management tool  within the company, the TaskBench can fill that purpose. In this situation, managers are able to assign work items to developers through a TaskBench interface.

Feature: Task Searching and Sorting

Like the search feature in the WorkBench, searching in the TaskBench is a “Live Search”, where a list of matches appears as soon as the search field gains focus. The list then shrinks as more characters are entered. The list of tasks can also be sorted by any of the column headers.

Feature: Custom To-Do List

The My To-Do List allows users to drag and drop work items into that tab, enabling giving them a digital space to create a list of work items to focus on.

Feature: Claim Work Items

This feature allows developers to both see and claim unassigned tasks, as well as other developers’ tasks.

Feature: Open Work Items in WorkBench

Developers can open the location of work items in the WorkBench directly from the TaskBench. This enables them to begin work more easily, since they do not have to find the start location themselves

Feature: Details of Work Items

After selecting a work item, developers are able to see any additional information related to the item, such as ECT screens or relevant email threads.

Feature: Timesheet Management

Developers are able to manage and log their estimated and actual hours for a work item.

 

Future Exploration

As mentioned earlier, there were several features that we were unable to implement and test with the given time frame. However, those features do solve some key issues that were observed during the user research phase. While these items should not be adopted without testing, the team believes that it will help aid in improving the product and should be explored further.

Some of these items have been described earlier. They include:




Downloads