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