Applying Design Thinking to build innovative Cloud based AI Products

One bright side of consulting, among many, is you get a chance to work on and contribute in amazingly heterogenous products around the world. And more interesting is demystifying questions such as, how are all well diversified humans building those products? What are the approaches? What is the process? How did they manage to have difficult conversations around taking a customer-focused, highly profitable products? The list of all these questions goes on and on. But there is one set of tools which helps solving all these questions. And that is called Design Thinking!

“Design thinking is a human-centered approach to innovation that draws from the designer’s toolkit to integrate the needs of people, the possibilities of technology, and the requirements for business success.” –

Tim Brown, Executive Chair of IDEO, Stanford University.

In a nutshell, design thinking is an iterative and user-centeric methodology for product development, aimed at helping teams identify and reframe problems while fostering the creation of innovative solutions. It encompasses a customer-focused mindset, process, and practical techniques that effectively address intricate challenges.

Design Thinking ApproachTraditional Thinking Approach
People-centric Products/Services-centric
VisualVerbal
Values continuous customer feedbackValues individual assumptions
Iterations-focused to find the best solution Building perfect prototypes in advance
Aware of failures and risksAvoids failures and risks
Highly collaborative in natureAdhoc or siloed in nature
Builds flexibility to quickly adapt and respondRigid and hard to find alternatives when needed
ContinuousPeriodic

Use Case: Driver assistance features of AI and ML in the autonomous vehicles at BMW

Let’s call it AutoBeemerAI, a driver assistance application to maximise driving experience, where Artificial Intelligence (AI) and Machine Learning (ML) based systems are designed to help drivers by warning them about traffic and weather conditions, suggesting them most time efficient routes, and sending notifications when to service their car. The idea is AutoBeemerAI use modern IoT sensory data in real time, ingest that into a managed database service in the cloud and use AI and ML to analyze it. We consider that it should also notifies drivers with any possible dangers on the road in real time.

As you may see, this has to be a very sophisticated application with 0% failure rate, as human lives are at stake. Product team(s) should be able to spend a hefty amount of time for requirements elicitation and apply Design Thinking principles for the optimum outcome.

Applying design thinking to build innovative cloud based AI products for autonomous vehicles

Ref: https://learn.sonicelectronix.com/advanced-driver-assistance-systems/

There are five different non-sequential stages of design thinking. Teams could use them in parallel, these are: 

Applying design thinking to build innovative cloud based AI products for autonomous vehicles

Ref: Interaction-design

Empathize: 

Empathy plays a vital role in human-centered design methodologies which enables you to refuse personal assumptions and gain genuine insights into users and their requirements. It is important to develop a deep understanding of the problem at hand, primarily through user research, in order to foster empathy.

Interviews with drivers could be helpful to identify possible dangers on the road such as:

How do they navigate, scan and take pre-cautionary measures in a 360-degrees-view of incoming traffic from each direction while:

  • Changing lanes
  • Stopping on a red signal
  • Engaging with emergency braking
  • Keeping a safe distance from surrounding objects, vehicles and people on the road 

These inputs become a baseline for setting up clearly defined requirements leading to writing doubtless Features and User Stories.

Ref: https://scaledagileframework.com/story/

This activity can be conducted using Interviews:

  • Interviews with a different set of drivers. E.g;
    • Normal passenger car drivers
    • Truck drivers
    • Short/long route drivers

Define:

In the define stage, you must consolidate all the information collected (customer requirements, challenges and impacts) during the Empathize phase. Subsequently, you will analyze your observations and combine them to define the landscape of different solutions which are being explored.

This would also lead to further define and answer questions such as:

  1. What is the recommended distance needs to be maintained by law? e.g; 20-30 feet
  2. What are the driving patterns being followed by each driver?  Never ignore corner cases e.g; a physically disabled driver
  3. Ensuring with other team members about if you are asking the right question? 
  4. What are the specific challenges you need to pay attention to and find the solutions of? e.g; making sure the sensors connected with internet all the time

These defined problems are known as problem statements and can be used as the Acceptance Criteria. Personas are a great tool to maintain a human-centered approach and to guide your efforts before moving on to the ideation phase.

Following template could be one example to understand persona:

Ref: https://www.marcusneto.com/blog/user-personas-for-a-laser-focused-marketing-strategy

Ideate and collaborate:

Using a fairly good understanding of consumer and the challenges they are facing, now, it’s time to start generating ideas. Before getting deep into the granularity of final solution – which is coming in next phase – implementation, the team must conduct brainstorming and mind-mapping sessions to identify alternatives of solutions for both short and long term on a project timeline, conduct SWOT analysis and get aligned with stakeholders. 

Use our guide here to enhance your communication skills

This has to be a highly creative and judgment-free session. Exchange of ideas of any sort could help addressing any upcoming challenges. For instance:

  1. How to start an alarm or send notification if the driver falls asleep?
    • Could a trained Machine Learning model (ML-agent) get activated in such situations, to park the car at a nearest rest area?
  2. How and when Radar Detectors to take over during poor visibility? 

Diverge it: As many solutions as possible. e.g; Using Data Lake or a NoSQL
Converge it: Filter out the best possible one

Key activities to focus on:

  • Share ideas
  • All ideas worthy
  • Apply Diverge/Converge

Prototype:

Fourth step is all about transforming those ideas collected in ideation phase to build tangible, realistic and sound artefacts. During this hypothetical phase, the key objective is the selection of the best possible solution for each challenge found. Since this is an experimental and iterative phase, there is a high possibility that the suggested solutions gets refined, revamped or rejected. That is why you must not invest too much money in building a final-solution-like prototype. 

Don’t miss our guide on How to build better products using a Proof-of-Concepts

This could become your teams’ next biggest milestone as it give the opportunity to showcase a possible working solution in a controlled environment to business and stakeholders. Prototypes could be of different formats:

  1. How about making an animated simulation of a computer program?
    • The team could re-use the same trained ML models and capture the data points to lay a foundation of a moving object. For example:

Ref: https://github.com/vignif/carla-parking/blob/master/.figure/m1_comp.gif

Key activities to focus on:

  • Mockups
  • Storyboards
  • Keep it simple
  • Fail fast
  • Iterate quickly

Test:

Although it does seem like a final phase, but in reality it might be the final phase of one of the iterations. It’s time to evaluate the prototypes along with consumers. The likelihood is the prototype gets completely revamped or the goals have changed since the process began originally.

So, it’s important to have an interactive session with consumers to ask questions such as: 

Does this solution solve any challenges for you? How to make it better?

Key activities to focus on:

  • Understand impediments
  • Highlight what works and what does not?
  • Iterate quickly