With this design thinking post, I want to indulge you a bit. It is going to be about Armani, Ferrari, Bang & Olufsen… No, not really. This is not what design thinking is about though there are commonalities. Many think a design is about a nice furniture, a fancy car or a cool interior. Well, this is true, however misleading in the context of design thinking. And, although it has been recently a little bit of a fad, I will argue here why applying design thinking is crucial in crafting software-based products, services and solutions.
What Is Design Thinking?
As the name suggests, it has something to do with the way one applies thinking about world. It is a methodology people (and not only designers) apply to solve complex clients’ problems by focusing on a solution. Let me stress this. The purpose is to solve complex problems yet not being problem focused but solution focused! It is about hiding complexity and being solution and action oriented.
In technology applications,
Users hardly ever think about technologies that their solutions are built from. They do think in terms of their utility. How does this solution help me do the job I want to do? Does it make it easier, faster, cheaper, cooler? Does it give me a pleasure? Does it take away a pain? And how does it fit in my way of doing things i.e. how does it fit my customer journey (a fancy world for the process your clients are following consciously or unconsciously to achieve a task or perform an activity in their lives or businesses)?
Why Is It Relevant?
So why does it matter in software development and technology in general?
When you are a buyer, how many times have you got frustrated because your development partner/solution provider did not understand what you were trying to achieve? You just wanted your customers to have a seamless experience between your web portal and mobile apps e.g. ordering product and tracking delivery. And your solution provider wanted you to specify how the iOS app should look like because they would use specific APIs and exchanging info with the back-end in the cloud… And you thought: damn it, why should I care, isn’t ‘seamless experience’ clear enough as a requirement?When you are a solution developer, how many times did you receive an incomplete and flawed spec from your client? Clients hardly ever know what they want. Or how many times they wanted changes during the project? Changing scope is so frustrating…
Is this just a communication problem, or is there a deeper challenge? Well, it seems more meetings, more calls and louder voices are not the resolution. Quite the opposite, these will only build more tension and increase frustration.
So what is the solution if any?
Only by empathising, by putting yourself in another’s shoes, you can experience what they do. Specifically, it is important from the provider/developer side. Your role is to deeply understand your client’s world, not only what they want but the entire context. Asking why they want it, what they are trying to achieve, whom they want to for and how it fits with their lives and businesses will broaden your perspective to what actually your client expects. You will even get a chance to exceed their expectations if you design a better (future) customer journey. And this does not require any technical or architectural expertise, however, it does require a significant dose of hard critical thinking. I require a one side deep analysis but also imagination and lots of patience to continuously iterate what works and what doesn’t.
Notably, design thinking is the primary concept applied in digital transformation projects. Digital seems to be a fancy buzzword these days. However, the whole purpose of applying digital technologies is to make our lives and businesses easier, better, richer, cheaper etc. and that only makes sense if these technologies are applied with users in mind. Nowadays, technology is hardly ever any constraint.
How To Apply
It is not my intention here to lay out or single out any specific-design thinking process. However, let me bring an example that specifically appeals to me proposed by The Institute of Design at Stanford.
To me, this 5 steps process is the essence of the design-thinking concept. Let me point a few practical observations:
- The process is not linear and might (or for sure will) include multiple loops
- One never starts with definition or ideation (defining the solution based on a ‘given’ information) but always by empathising
- One never builds final solution right from the beginning, it is an iterative process, there will be changes, refinements, fine-tunings
- The product/service iterations will have to be tested with real users; feedback will be collected, processed and used as learning in the next iteration
This framework by itself is obviously insufficient for practical application but I will be bringing some tips in subsequent posts.
There are certain parallels between design thinking, and (older) concepts of service design or service blueprints, especially in the customer journey context. Design thinking is a broader concept though and it goes much deeper on the initial ‘empathize’ phase.
More importantly I want to refer to lean startup and methodologies.
The parallel here is certainly the building, learning and iterating part (prototype and test in design-thinking). Lean startup sources thus from design thinking or, more precisely, gets fed by it. Actually, I found a very interesting picture by Nordstrom Innovation Lab nicely putting design thinking, lean startup and agile concepts together.
I would encourage you to check the Tim Brown’s blog, the CEO of IDEO, one of the world’s leading design firms.
I am planning to continue my series about design thinking in the context of client software provider relationship. In any case, never hesitate to discuss your development project with me!
Read Next >> 11 Reasons Why Magento Is Best For Building Your Ecommerce Project