As more and more software companies migrate to a permanent work-from-home arrangement, programmers find themselves increasingly disengaged from needed resources, conversations, and collaborative workflows, leading to frustration and burnout. Targeting software engineers working remotely, Onvu automatically analyzes code content, monitors progress, and provides relevant links to online documentation/forums and organizational members.

Design Process

Opportunity Identification

With the COVID-19 pandemic, most jobs have transitioned to a virtual setting. In such a situation, it often becomes difficult to feel connected to the people around us. This translates into the workplace as well, and it proves difficult to facilitate collaboration between employees on the same level of an in-person office.

Starting with the opportunity space of “how might we maximize engagement and human connection in a virtual setting”, a series of brainstorming techniques were used to generate a large (>50) list of potential opportunities for exploration during this project. These opportunities were then clustered and filtered through affinity diagramming and team discussion to create a resulting shortlist. Each final contender in the shortlist was re-examined and edited to be more specific, then voted upon in a weighted matrix to generate the top three project opportunities.

From the top three, “how might we mitigate virtual work burnout in SAAS SMEs as they enable permanent work-from-home” was determined to be our opportunity moving forward.

During this phase of the design process, it became apparent that the numerous overlapping opportunity ideas from various team members signified a good area to look into. While independent brainstorming was challenging initially, being on a call with other team members helped the flow of ideas and created spur-of-the-moment improvements to existing opportunities, as well as entirely new ones. Additionally, it was easy to become overly attached to each opportunity and over-examine the implications of each opportunity as we sought to eliminate the less relevant ideas, resulting in extended calls.

Finally, in the final parts of this phase, increasing the specificity of the opportunity shortlist helped us better evaluate each one in the weighted matrix, and ultimately created a place to start for solution conceptualization without being limiting.

User & Market Research

To better understand the user base and refine our opportunity to fit user and market needs, a combination of surveys, 1-1 interviews, and observations were conducted. In both of our user research methods involving interactions with potential users, care was taken to avoid suggestive questioning in order to gain the most organic and comprehensive insights from potential users.

The survey, posted to Facebook, Reddit, and other campus channels, garnered over 250 responses over the course of a week from respondents in software, healthcare, law, and life science industries in technical, business, and service-related functions. The survey revealed that a majority of respondents spend more than 5 hours in front of a computer for work every weekday, and a majority of this computer time is spent conducting task-based work. Furthermore, a majority of respondents felt that completing the same job remotely during COVID has decreased the enjoyment of the work and created fatigue.

The 1-1 interviews included more in-depth conversations with friends and family members in the software-as-a-service industry regarding specific events or situations that contribute to remote work burnout or disengagement. From these interviews, we learned that higher-level positions, especially managerial positions, experienced little to no virtual work burnout, whereas software engineers felt the heaviest burden from the switch to working from home. Specifically, the largest pain points demonstrated by interviewees include the lack of flexibility and spontaneity in communication, as well as the difficulties involved with becoming familiar with a new project when physically isolated from potentially knowledgeable co-workers or databases.

While directly observing users in their daily routines is most likely the best way to infer accurate insights, only one observational session occurred as an auxiliary component to this phase of user research. The observation revealed that working from home has decreased meeting durations as well as meeting participation.

To synthesize findings, two user personas and their corresponding empathy maps were created. Celia is a young programmer who is just introduced to the industry, thus finding delayed virtual communication with the project manager a cause for frustration and mental isolation. Fletcher, a more seasoned veteran programmer, finds catching up in new projects or with new project teams difficult during virtual work and, more devastatingly, disruptive of his tried-and-true workflows.

This phase of the project demonstrated the danger of preconceived notions in validating a market/user need. Prior to conducting surveys and interviews, personal experience felt so universal that it was difficult to imagine or consider alternate perspectives or factors that drive virtual burnout (or a lack thereof). Fresh views from user research made apparent many key insights that facilitated the development of our solution in the next phase as well as our determination of VOA factors and product requirements. Examining potential competitors was also a crucial step in informing our VOA. While our solution space is relatively unique in that no direct competitor exists, multiple established products on the market serve as indirect competitors in the industry of remote work productivity.

From this phase, we learned that programmers have a unique workflow. Coding is often done individually, but questions or issues come up along the way in projects, and they require quick turnaround times. This may be simple enough in an office setting, but much less so virtually. Users tend to waste time and energy waiting for answers and pushing through brain blocks in the meantime. Additionally, since programming is technical and creative, programmers’ work-life balance can become thrown off if communication is lacking and project deliverables still need to be completed in a timely manner. This can happen regardless of team size. Finally, programmers at different experience levels or seniority will each experience burnout, but specific pain points vary, and a product should exist to address all users’ needs.

At this point, the opportunity statement reached its final iteration to state: How might we facilitate efficient exchange of project-related details among computer programmers working remotely?

Solution Conceptualization

This phase of the project resembled the opportunity identification phase in that it involved a lot of divergent thinking and brainstorming. Beginning with ten ideas from each team member as to how to create a solution that addresses the aforementioned VOA and product requirements, brainwriting was used to create 75 total concepts, which was then narrowed to 15 via focused discussion, then to 6 via Borda Vote Counting, and finally to the final one via a Weighted Matrix.

In this phase, many struggles similar to those encountered in the opportunity identification phase were faced by the team. Namely, an extended period of time was developed to each of the 75 initial ideas, resulting in a very lengthy but insightful meeting. Additionally, it was important to recognize the difference between an interesting and innovative solution and one that practically addresses the opportunity as well as adheres to the VOAs and product requirements set forth previously. Many top solution ideas were eliminated due to overlap with existing products/services, impracticality in prototyping/execution, or a lack of relevance to the problem space of communication and resource gathering for virtual programming.

To avoid missing out on potentially high-value solutions, the top three solutions from the Weighted Matrix (judged on a combination of scores and practicality) were chosen for rudimentary prototyping. In the end, Onvu was decided to be the winning solution idea and thus the candidate for final prototyping.

Product Prototyping

Onvu’s final prototype takes the form of an IDE plugin that can seamlessly integrate into existing programming workflows. Upon setup, users are prompted for more proactive inline notifications or less intrusive status bar notifications, allowing for flexibility and customizability depending on different work styles. ​​​​​​​​​​​​​​

Onvu offers three kinds of notifications – smart helper (smart web resource lookup), ping teammate, and suggested breaks. The former two automatically appear when Onvu detects an extended period of time spent on one method or its referenced components, while the latter appears for an extended overall session.

After further testing of the initial prototype, it was revealed that some programmers dislike interruptions while coding even if they are stuck, and that pinging relevant team members, getting specific answers, and prompting sporadic breaks from coding were the most important and useful features. Thus, we prioritized these features in the final prototype.

In this phase of the project, I finalized Onvu’s logo and brand identity, preparing and polishing both the design journey story and the final prototype for presentation.

Project Outcome

Onvu’s features address the core user needs we identified in our design process, including faster communication, better work-life balance, and easier access to information:

1. Streamlined Collaboration. By existing within the IDE, Onvu streamlines rapid communication between a team or with a PM so issues that pop up during coding can be handled at a pace comparable to in-person communication. The “right person” should always be one click away.

2. Customizability. Onvu gives options for users at different points of their programming careers and with different levels of burnout. A new team member may want to know when they’re going overtime, while a seasoned one may not. Onvu allows customizability with how a user wishes to see notifications (either inline or through a status bar), as well as the kinds of notifications they receive; the user can select whatever supports their coding process best.

3. Knowledge Empowerment. Onvu informs the user of what resources are available to them, either on the team (e.g., previous code contributions, relevant team members) or online (e.g., Stack Overflow). If they get stuck or need help, Onvu will put them on the fast track towards a resolution.