Design Thinking in Software Developments

Shared requirement is an important thing when trying to have quality software. Software requirements simply record four main things: the user and his purpose, the data stored, the rules and also the limits, to the gap between impractical conditions to something more practical. Many approaches to innovating in a software requirement such as design thinking approach, user centered analysis & design, object-oriented analysis & design, and of course the requirements engineering approach. But whatever the approach, the same thing is all the needs and problems come from the user. On this occasion we will use a design thinking approach. Design thinking simply addresses the three statuses in developing requirements namely problem (pain), needs, and proposed solutions. The culmination point in a software development is the existence of innovation that acts as a value proposition or unique solution advantage compared to before.

Three principles design thinking in software development

  • Starting with the user research. User should be researched for their problems through several options of elicitation. We can do observation, interview, and questionnaire to understand the users pain point.
  • Doing creativity. Creativity about how to turn something impractical into practical. With of course considering various existing limitations.
  • Making through learning. Understand that software development is an ongoing process. so realize that the process of software development is not a one-time but rather incremental and iterative

Four steps to do design thinking in software development

  • Step 1. Understanding the user.
    • Who are the users?
    • What their pain points?
    • Ask them about how the problem 'might be' solved
    • Ask them about the constraints they have?
  • Step 2. Explore and Sketch
    • Focus what is the most important. Rank their pain points & needs.
    • Do brainstorming with the users
    • Think analogy by looking similar solution for similar problem
  • Step 3. Converging the solution
    • Converting users into specific users (persona)
    • Building the prototype for the persona.
    • Doing user acceptance test to validate your prototype.
    • Changes idealism into realistic prototype
  • Step 4. Testing and Learning
    • Evolutionary based on feedback
    • Stay open with changes
    • Have a good reason to changes otherwise stay on track

If you want to learn more, I will create a real example, just post in the comment

blog comments powered by Disqus

Topics Highlights

About @ridife

This blog will be dedicated to integrate a knowledge between academic and industry need in the Software Engineering, DevOps, Cloud Computing and Microsoft 365 platform. Enjoy this blog and let's get in touch in any social media.

Xbox

Month List

Visitor