Skip to main content

Design Thinking for Software Product Development







Design Thinking is a framework that puts needs of users at the core of any product development. Design Thinking is not a process for how you execute, but to determine what you should be building in the first place with the user in mind.


Design thinking is a non-linear, iterative process that teams use to understand users, challenge assumptions, redefine problems and create innovative solutions to prototype and test.


In 2009, Tim Brown published his book “Change by Design”. Design Thinking consists of “overlapping spaces, rather than a sequence of orderly steps”. These spaces are :

  • Inspiration: the problem or opportunity that motivates the search for solutions
  • Ideation: the process of generating, developing, and testing ideas, and
  • Implementation: the path that leads from the project room to the market”

The Hassno Platner Institute of Design has outlined five steps of Design Thinking that can be applied to software development. These are:


Empathize: This step is about understanding the customer, empathizing with their problem, watching, listening, and observing what they are struggling with.


Define: Defining the problem is an important step. The idea is that framing is crucial when you are looking to find the right solution.


Ideate:  Ideation techniques are brainstorming, sketching, mind mapping and also prototyping in order to learn and explore more about the problem and the context.


Prototype: In Design Thinking you may build several Minimum Viable Product (MVP) that help you understand the user better.


Test: The last step is the testing stage. You are testing your prototypes with users and are getting feedback on them. Key is to listen and observe how users are using your MVP.


If you compare Design Thinking and Agile Methodologies, the former one is already present in software development processes but is not given so much importance. Iterative prototyping is at the core of design thinking but Agile focuses on the question on what to do next i.e. execution.


Many organizations are adopting a more collaborative approach to software development, instilling a DevOps mindset that ensures teams involved across the product development lifecycle are mindful of other stages and understand user context.


Tangible benefits of design thinking in software development :

  • Feasibility check
  • No alarms and no surprises
  • Clarity and transparency

  • Continuous improvement

Comments

Post a Comment