Design Process

“Simplicity is the ultimate sophistication.” — Leonardo da Vinci
Shabnam Suresh Babu

Discovery

I try to empathize with the users and define the problem at this stage. This is a key step that helps me to deep dive and understand the underlying business requirements. Some of the tools I use at this stage are as follows:

Brainstorming Whiteboard/Sticky notes used to generate as many ideas with stakeholders
Personas Defines demographics, abilities, skills, goals and motivations
Mind Map High level mapping of the system
Sample user persona
Fig 1.0 User Persona - MSISDN Application

UX/UI Design

Prototypes are generated to convert ideas into concrete examples. Depending on the project timeline, various levels of prototypes are made. These prototypes goes through couple of iterations with the stakeholders to ensure all the requirements are captured. Some of the key deliverables are:

Wireframes Low fidelity prototypes mostly done on paper/whiteboard
Sitemaps Defines the hierarchy and the navigation structure
User flow diagrams Simple chart outlining the steps that a user takes
High fidelity prototypes Clickable Prototypes to confirm the final look and feel
Design Testing Usability Testing and A/B Testing are performed to capture feedbacks
User flow diagram
Fig 2.0 Site Map - ThunderStor Application

Development

Before I start actual coding, I prefer to get all the user/job stories defined into small tasks to estimate the time and effort required to achieve the prototyped solution. Once the stories and their priorities are in place, the next step I take is to discuss the API spec and JSON structure with the respective backend developers. Agile methodology is opted in most of the projects I work with. This step results in the following out comes:

User/Job stories Stories are captured on work management tools like Jira
Open API Spec API definitions are defined using Swagger
Working Application UI/Frontend coding as per the prototypes
Unit Tests Unit tests are written to ensure the result when expected input is provided
Jira board
Fig 3.0 Active Jira board

Maintenance

Support and maintenance is an on going process to every project. There can be many instances where the stakeholders change their mind once they actually start using the service, this leads to further customizations and enhancements.

Bug Fixes Bugs are resolved as quickly as possible
Enhancements Customizations to bring out the full potential
Fig 4.0 User Interface - IoT CRM Application
Vancouver skyline