What I Learned On Design Thinking And Software Development
I’m Huyen Le - newcomer of Dwarves Foundation. Last week, I was taught under the instruction of Khai Le about design thinking and how it works in a design process of a software project. So I decided to write a recap of what I’ve learned.
According to my knowledge, the basic definition of design thinking is an iterative process in which we understand the user’s needs and problems. Define the problems to bring out the most ideal solutions, then we prototype the idea and test.
The five phases of Design Thinking
- Empathize - Understand the audience.
- Define - Define the user’s problems, needs and insight.
- Ideate - Create many ideas. Synthesize and select the most efficient ideas for innovative solutions.
- Prototype - Create solutions.
- Test - Test solutions.
As a graphic designer and illustrator at the beginning, I realize that design thinking appeared in other fields like branding, event, art,… as well. The product development process in different fields seems to be the same, and all we want in a process is to guarantee the product is successful.
Consequently, there is a methodology called Software Development Life Cycle (SDLC) that helps us produce software and possible. That means the software will be finished with the lowest budget and the highest quality in the shortest time.
The SDCL includes seven phases
- Requirement analysis - Empathize, research, getting input
- Planning - Manage project constraints
- System design - Define, ideate, prototype.
- Implementation - Product development. An important stage to decide to project quality.
- Testing - Test and fix.
- Deployment - Release and use the product.
- Maintenance - Keep enhancing and optimizing the deployed product.
Those phases are compulsory in software development, but I think the first 2 phases are essential. Because we need to know what we are going to build, its purpose and the current problem. More importantly, we must have a plan about the cost and the risk of the project if it fails. In the planning phase, three constraints that decide the success of a project are quality, budget and time. There are 2 common SDLC models: Waterfall and Agile.
- The Waterfall model goes straight from the beginning to the ending. In this model, we finish one stage and then go to the next one. But this model has a restriction - any small error in one phase can affect the whole process.
- The Agile model has an iterative cycle that allows us to test and fix each outcome to make a new and better version.
This is the first time I’ve gotten to know about the development software process properly. As a designer, I understand that creating a product needs more than a beautiful visual. It must be easy for users to use. And finally, the most important thing is: ”A good product is a product finished in the shortest time with the lowest cost and the highest quality”.