Projects -> Pause MATLAB execution

Pause MATLAB execution

Image for pausing MATLAB execution.

use cases guerilla interviews requirements design

Time: 2014 - 2015

Project goal: This feature enables users to pause MATLAB execution in the GUI on demand.

Design challenges & approach: Pausing the execution of MATLAB code has been requested by users over the years. For example, many users would like to stop their running code to check intermediate results to make sure the code is doing what they expect it to do before continuing with the execution. However, the pause behavior is not intended for all users. In fact, some users, when inadvertently invoking the behavior, would become confused because their code would appear to have “stopped working” suddenly. Thus, the design challenge was how to make the feature discoverable by its target users while remaining unobtrusive to those who do not need it.

I approached the design challenge by facilitating a series of collaborative design sessions where the teams brainstormed design ideas, sketched out UIs, and design workflows. We also considered each design idea’s pros and cons and ranked the ideas based on how well they were expected to work under the design constraints we were faced with.

Collaboration challenge & approach: I was brought onto the project when it had stalled: the two teams disagreed on what users expected of the feature. After talking to the stakeholders on both teams, I devised a strategy to help the project gain traction. The strategy consisted of establishing alliance with the other team’s UX specialist, actively seeking buy-in from the other team’s engineers, and delivering on my UX efforts as quickly as possible. Using this strategy, I helped the project gain momentum and progress toward a successful completion.

Summary of UX methods and goals

UX methodsGoals
Guerilla email “interviews” To quickly understand users’ goals, existing workflows, and pain points when lacked resources for full-fledged user interviews.
Use case analysis To aggregate use cases using data from guerilla email “interviews” and years of customer request info.
Collaborative requirements elicitation sessions To reach a consensus on what users’ needs were and to come up with requirements as a team.
Collaborative design sessions (brainstorming, sketching, critiquing, & prioritizing) To collaboratively brainstorm and sketch design ideas, consider each idea’s pros and cons, and prioritize the ideas based on project constraints.
 

Results and impact: Downstream team’s team lead praised that the use cases were just what we needed to move the project forward. The use cases I created highlighted where teams disagreed and helped them form a shared understanding of what users wanted based on real data. My work also formed the basis for conducting collaborative requirements and design sessions.