Revitilizing very old post from the past. Of course, my thinking has changed since then, but its always fun to open a time capsule.

I am writing this article at 1am with droopy eyes and cannot guarantee the quality of this article. But anyway, I came across design thinking in a special topic class I took in Spring 2013 called “visual interfaces for mobile design”. This was a really different and interesting class. It had zero importance to exams and by-hearting stuff. It was an very open-ended and fun class. It was a class where the amount of things you learnt totally depended on how much you wanted to learn. The prof had a given a bunch of topics to do a reading assignment on and one of them was, as the heading says “Design Thinking”.

For this I had to read a paper (that unusually can’t be linked here) and watch this really good TED video. I have not completely understood what design thinking actually means or how to develop it. But I feel it is very important for all us to learn what design thinking is if we want to grow as an effective developer and really enjoy what we do.

All of us coders can really think well in terms of logic and get things done. We would have practised it really well and can solve any given task if we put our head into it. Suppose you want to add a new feature to your product, you get the specification required and us developers will sit and code it up. This might give you the feature right now, but how good is it? how well will it blend with the product as a whole? will it form a great experience to the users of the product? There are only a few people who can think at a very holistic level and generate a great design.

Design thinking is an integrative thinking that combines opposing ideas and opposing constraints to create new solutions. This means we have to combine three things to obtain a proper design.

  • Desirability - What humans need?
  • Feasibility - Is it technically possible?
  • Viability - Does it have economic viability? A product that combines these three things will be highly marketable, useful and generate good revenue to the designer.

I have not been able to completely understand how “design thinking” should be adopted but it has definitely changed my perspective. I know that all great visionaries in technology had great “design thinking” and that is what made them what they were. I strongly feel that is order to grow and do great things we have to fully adopt “design thinking” in everything we do.

What I want to convey via this article is that design thinking, when adopted by software developers can have a huge impact on the software developed. While developing software, developers, usually give importance to whether the software is easily extendible, manageable, scalable, can it be easily tested, is it fast enough etc along with that it should be such a way that they think about the design as well i.e. the above three bullet points.

What I feel is thinking with respect to the above three points with everything you do, small or big, it actually makes you not only develop a product but an experience, you don’t simply develop a new feature but a solution. I feel, this will add great value and help in the growth of any product.