How To Apply Design Thinking To Project Discovery Workshop

design thinking in software development

When the world’s largest tyre and rubber company Bridgestone turned to us, they badly needed to digitise their manual processing of trade agreements, invoices, rebates and credit notes to relieve their finance team of extra burden and pressure. What’s more, their paper-based processes were neither auditable nor transparent and contained a lot of errors, which caused additional workloads across the business. Bridgestone’s customer experience left a lot to be desired, and the company just couldn’t react to market changes quickly enough to stay ahead of the curve.

When Bridgestone initially contacted us, they were looking for a web-based workflow solution. However, having conducted a comprehensive discovery workshop using some of the design thinking elements to delve into the root causes of the client’s problems, we advised them strongly against that solution. Having conducted a series of semi-structured interviews with key stakeholders at Bridgestone, we concluded that the company needed a different solution to be able to solve all of their issues at once. As such, we offered to build a unique end-to-end cloud-based system that would be integrated with their existing ERP platform.

It took Bridgestone 6 months to get all stakeholders to buy into the solution we offered. We built for them a platform that deals with everything, from the initial budget creation to the issuing of trade agreements. It handles renegotiation and workflow and approval, all the way through to the final version which can be accepted digitally by the customer.

discovery workshop at Evolve
Just a random Evolve discovery workshop

As a result of bespoke development, the client saw a massive reduction in the time taken to carry out the approval process and could re-focus their staff on other crucial tasks. A Bridgestone approval system that previously may have taken days now happens in just a couple of hours. 

And because our bespoke software helped eliminate manual intervention, the overall accuracy was improved, and the number of errors decreased dramatically.

Had we taken a traditional technology-centred approach to a discovery phase and agreed to build a product as per the client’s original vision, Bridgestone would have only got a temporary solution to their problems and would’ve spent more money and efforts on having to rebuild it later on.

So, how can you adopt design thinking elements to take the project discovery workshop to the next level?

Many businesses building proprietary or bespoke software tend to think through patterns and view things from their perspective instead of putting themselves in their target users’ shoes and delving into the root cause of their problem or need. That explains why there’re so many mediocre and useless apps out there that only mimic problem-solving and deliver no actual value users.

To avoid tunnel vision based decision-making, feature creep or launching an app that will gain zero traction for users, progressive software houses should consider applying a design thinking approach.

What’s design thinking?

Design thinking is a human-centred approach, which focuses primarily on customer needs and problems. Today, it is gradually becoming a market standard in various fields, including bespoke software development. 

A Nobel Prize winner Herbert Simon was the first one to define the design thinking principles in his 1969 book “The Sciences of the Artificial”. As of today, there are various schools of thought outlining from three to seven design thinking stages. We will take the d.school (also known as the Hasso-Plattner Institute of Design at Stanford) five-stage model as an example of how Evolve adopts design thinking to bespoke software development.

Stage 1. Empathise

At this stage, we conduct semi-structured interviews with the customer’s product team to gain an empathetic understanding of their target user needs and problems they’re going to solve with their innovative solution. Empathy is crucial to the human-centred design process as it allows us to set aside any assumptions and guesstimations, and gain real-world insight into the actual user needs and issues.

Stage 2. Define

At this stage, we accumulate and consolidate the information gathered during the Empathize stage. We analyse customer’s observations and synthesise them to define the root cause of problems our teams have identified so far. 

Stage 3. Ideate

Now that we’ve built a solid knowledge base from the first two stages, we start brainstorming, thinking outside the box, looking for alternative ways to view the problem and identifying innovative solutions to the problem statement we’ve created jointly with the client’s product team.

Stage 4. Prototype

At this experimental stage, we strive to identify the best possible solution for each problem defined in the previous phases. Evolve team produces several scaled-down and inexpensive versions of the future product or its specific (business-critical) features for the client’s product team to see their tool in action. As a result, we create either a rapid throw-away prototype for quick user/stakeholder feedback or a clickable working prototype as a more detailed simulation of the future product.

Stage 5. Test

We rigorously test the prototype against different user scenarios, which helps us redefine one or several further problems to be considered before the actual product design and development.

Although these stages are listed in the logical order, in reality, they don’t have to be sequential. They can take place simultaneously, iteratively and at any stage of the software development life cycle (SDLC) – planning, design, testing, analysis, development, or maintenance. 

project discovery phase
How we do discovery with the client’s product team at Evolve

This, however, doesn’t answer the question of how to embed design thinking in your SDLC practically. But before we proceed with examples, let’s examine what design thinking can bring to the table when it comes to bespoke software development. 

How Design Thinking benefits bespoke software development

Design thinking and bespoke software development are a match made in heaven: unlike off-the-shelf solutions, bespoke software is custom-made to meet customers’ specific requirements. Both data-driven and human-centric, a design thinking approach can truly help developers tap into customers’ needs and tailor their solutions for maximum efficiency. More specifically, it helps developers:

1. Create accurate specifications by clearly defining requirements

It’s hard to overestimate the importance of product specs at every stage of development. As part of the design thinking approach, “radical empathy” helps define customer needs with utmost clarity, and, later, translate them into clear product requirements and an achievable roadmap.

2. Boost creativity and ensure top-notch quality

By treating mistakes as an integral part of the process, your product team can unleash creativity more easily. The ideation stage promotes experiment and helps come up with optimal solutions to most pressing customer problems. 

3. Test the solutions for feasibility at an early stage

Does the solution in question address the problem in the best possible way? Design thinking helps discover the product shortcomings at the initial stage and make quick and timely improvements. 

Design thinking urges the development team to strive toward the best results and to get to the root cause of the problem. 

Most importantly, it fosters a ‘beginner’s mind’, and calls for challenging assumptions, ditching bias and opening up to fresh ideas. Beginners stand a better chance of coming up with something truly genuine because they never assume an expert approach.

I try to not think outside the box anymore, but on its edge, its corner, its flap and under its barcode“. 

Clint Runge, co-founder & managing director, Archrival

Why you should start every custom project with a Discovery Workshop 

Design thinking implies that you can go back to any of its steps at any stage of your SDLC. Yet, any bespoke project will benefit if you apply design thinking at the initial planning and project discovery stage – the stage dedicated to defining and gathering requirements. Although it may seem less demanding and labour-intensive than further testing and development, it has an immense impact on the success of the end-product. Correctly defined requirements may potentially reduce the number of iterations and mistakes, cut the development costs, speed up your time-to-value and improve the end product usability.

While gathering the requirements and testing them for feasibility may feel like a mission impossible, a great way of capturing them is running a project discovery workshop. The ultimate takeaways from such a workshop are:

– A high-level description of the bespoke application: what it’s all about, and which problems it helps to resolve;

– In-depth understanding of how the solution addresses the needs of both users and stakeholders;

– A comprehensive list of all functional features; 

– A detailed description of functional and non-functional requirements.

Below are some tips on how you can harness the power of group discussion and see design thinking in action. 

How to conduct an effective Discovery Workshop with Design Thinking in mind

It’s neither a teleconference nor a brief standup meeting: a successful discovery workshop goes on for days divided into 60-90 minute time spans. This alone may feel intimidating: long-lasting in-person meetings between your tech partner’s team and your internal product team feel like quite a commitment. 

If you narrow down all your discovery workshop activities to a PowerPoint presentation, you may run into severe risks of ‘losing’ your participants and failing to engage them. Normally, presentations shouldn’t take up more than 25% of your time – the rest should be devoted to reflection and discussion. Below are some activities that could act as creativity boosters: 

– Recreate a customer journey and draw a journey map;

– Envision the obstacles that customers may encounter on their way to bespoke software;

– Explore two or more competitive solutions to gain better insights into how you can create unique value and not replicate what has already been done;

– Brainstorm for problem-solving ideas.

Any of these methods will help enhance team dynamics, but do make sure there’s enough time between activities for discussion and reflection. 

What if a discussion brings up something unexpected? 

Awkward questions or outright criticism – even a well-moderated discussion could go rogue and bring up something unexpected. In fact, if it does, it’s a sign of high team dynamics. Don’t get intimidated or defensive: remember, all of you are here to discover, not to achieve perfection. Encourage the participants to share their opinions and concerns openly – this could unexpectedly bring insights you are looking for. Don’t be scared to admit there’s something you don’t know – this will make the rest of the team feel more at ease and will foster a beginner’s mindset. 

In conclusion, design thinking will help you save time and budget by avoiding unnecessary iterations, ensure better customer experience and help enhance the quality of an end-product. One valuable bonus you will also achieve is a sense of bonding and kinship between your and your tech partner’s teams, which will facilitate and stimulate further collaboration and success.

Create your account