Main screen mockup#3.png

DEPLOYD

Enterprise SaaS product design

Main mock-up-min.png
 

DEPLOYD

 

OVERVIEW

Companies desire the fastest possible deployment, but slacking on code quality is not an option if they want to gain a competitive edge.

Deployd is an Enterprise SaaS tool that uses complex algorithms to provide in-depth insights into the code changes and take concrete corrective actions, thereby helping the teams accelerate code delivery.

 

Role: UX Designer - Research, Interaction and Visual design | Branding

Tools: Sketch, Invision, Whimsical, Mural, JIRA

Team: Anita Grandhi, Co-Founders (Rahul & Nitin), UI Developer (Aadesh & Bhavesh), Backend Developer (Nikhil)

 

PROBLEM

In software teams, there is no automated way for developers and reviewers to be aware of the overall impact (direct and indirect) of their code changes, which could result in deploying partially tested code possibly leading to breaking the system or degrading the performance. The problem sometimes emerges long after the deployment making it harder to track the root cause. This can prevent the optimal performance of the system and necessitates additional effort to trace and fix the problem.

 

SOLUTION

Solution.png
 
 

Deployd provides tools for analyzing the changes made throughout the codebase by teams located globally, determining its impact and provide concise reports that helps for impeccable testing. This generates an opportunity for the team to dramatically reduce issues before the code is deployed into production and help make the engineering teams more successful.

 
 

RESEARCH & DISCOVERY

 

Getting Started

The initial goal of the company was to roll out the Analyze module for the pilot testing. I was briefed on how the tool operates and shown what it spits out. My job was to determine which data will help the users and how to help the users access it in the most natural and efficient way so that it aids their workflow.

 

Heuristic evaluation of existing prototype

I was given some initial designs to evaluate and determine if any of the designs can be re-used. So I conducted an audit using Neilson’s 10 Usability principles and concluded, there were many issues which need improvement. I presented my findings to the founders and we agreed the best approach is to start all over.

 

Learning from established enterprise product designs

Enterprise design focus on simplified workflows, decisions are more rational and aesthetics is not a primary principle. To achieve this, it was critical to decode the domain complexity. There was no direct competitor for this product, so I evaluated other enterprise designs to get a better idea of the design patterns used to help in my designs decisions.

competitor.png

Good design patterns identified

  • A vertical sidebar bar, with inline tabs or an additional horizontal nav bar to help split the functionalities in a clean logical manner

  • Providing a first time user experience (FTU) that provides all relevant information to get started quickly

  • Autofill data in forms based on context

  • Good Table design that takes into consideration factors like deciding user control over data, row actions, displaying large text fields in columns, pagination, easy scan-ability of the large amounts of data

  • Related data proximity and 1-click actions

  • Flexible configurations for novice and expert users

 

Personifying the User

I identified the personas I will need to create this product for to better understand their needs from this product.

 
 

DEFINE

 

Product Features

As it was tricky to let the users dictate the features without seeing any prototype , I utilized my own background as a developer to understand the journey I would take to come up with possible features. I took it to the stakeholders to discuss this and based on their feedback, personal experience and technical feasibility, we identified our 1st feature set. I also put together a user story map which we later converted into a Roadmap and created Stories and Tasks on JIRA.


 

User Flow Map

Prior to making the User Flows, I also put a detailed UI requirements document to help with my flow diagrams.

 
 

IDEATE & PROTOTYPE

 

Wireframing

As we were a complete remote team, rather than sharing my hand drawn sketches that I always make for any project, I made the low fidelity wireframes on Whimsical for easy collaboration and exchanging comments and other ideas about the initial designs.

 

Branding

 
 

At this point there was no branding established for this product except for the Logo, and I was given the freedom to establish one. I researched other enterprise websites and products to get a better understanding of the various UI elements and content to decide the direction for this product. I mashed up my findings with the founders vision to represent and put together a Brand Guidelines as a starting document.

 
Branding-min.png
 

Style Guide

A design system acts a single source of truth and provides a consistent content structure between designers and developers. However, to begin with I put a very detailed Style Guide to ensure alignment and maintain the integrity of the product. I shared this with the developer allowing him to find all pertinent information at 1 place. As we added more features and iterated on the product based on the feedback from users, adapted a different development framework which was much more efficient and easy to implement, we moved away from these design elements and redesigned the initial set of screens.

 
 

TEST & ITERATE

 

Design without validation is art

All the stakeholders including myself were experienced with the domain in which the product will be used. So it was critical & challenging not to let our biases get in the way. Also, our primary users will abandon this product if it in any way negatively interferes with their workflow productivity. So I had to ensure I conducted the usability tests with this specialized group of users, identify and track the right problems to solve. I adapted the divergent-convergent thinking of the double-diamond method as below.

For the 1st round, I conducted remote usability tests with 6 participants and had them perform the tests while I recorded their successes, frustrations and status of each task. A total of 53.2% of major issues were uncovered in these tests.

usability-tests-results
 
Impact-effort.jpg

Which issues should we fix?

I presented the findings to the team and showed the impact-effort matrix with the solutions I brainstormed. Then as a team, we brainstormed further and made adjustments to finalize the solutions that have the highest ROI before I started re-iterating my designs.

 
 

FINAL DESIGNS

 

The initial designs were made not following any particular framework. But soon, we adapted design elements from the ANT framework. There were multiple iterations of the designs as I conducted rounds of usability tests, incorporated actual user feedback and added new features. I worked with the developer while the designs were developed, conducted UI review and created bugs using JIRA to track.

Code repository setup - Before

Code repository setup - After

 

Impact Analysis job trigger - Before

Impact Analysis job trigger - After

 

Impact Analysis job execution - Before

Impact Analysis job execution - After

 

Results - Before

Results - After

 
 

CHALLENGES & TAKEAWAYS

 

Working for a startup creating the initial product designs presents a completely different set of challenges and at the same time, it is very exciting to work and create a product from the scratch. Some challenges and takeaways -

  • User familiarity: It is of utmost importance to understand the users familiarity, habits and expectations of similar products to help drive the designs.

  • Developer Collaboration: Even though our roles were clearly defined, our direct discussions were on need basis and a lot of communication was through texts and mails in the beginning. This posed problems as I did not have insights into the developer’s progress and was dependent on him reaching out to me. To address this problem, I created a detailed functional req document and also a developer copy that greatly helped align the code with the designs. And soon, the team started having daily stand-ups to discuss the progress, issues and work for next releases. Having a proper communication channel is critical to the success of any product.

  • Initial designs & Evolving requirements: Having an open slate to design everything for the product was exhilarating and at the same time challenging as there were no boundaries to adhere to in the start. Heavy research was involved to establish the design patterns and visual design for this product, while taking into account the domain and users for a product of this nature. Designing for a product ground-up requires that the designs be flexible and scalable to a large extent, while designing for an established product requires skill to work within lot more constraints.