# What Product designer do in Software Development Life Cycle. What is DSLC?
SDLC or the Software Development Life Cycle is a process that produces software with the highest quality and lowest cost in the shortest time possible. SDLC provides a well-structured flow of phases that help an organization to quickly produce high-quality software which is well-tested and ready for production use.
In the SDLC, the product designer always find a sweet spot between business requirement and people's needs to deliver the [single source of truth (SSOT)](https://www.talend.com/resources/single-source-truth/) for the team.
To approach, we use Design Thinking that is a human-centered approach to innovation, solves the problem, and could [apply in daily life](https://dwarves.foundation/memo/the-six-things-i-learned-from-design-thinking-yulcqxmttv/).
In this article, we will discover the Design Thinking has been applied in Software Develop Life Cycle that process used by the software industry to design, develop and test high-quality software.
## Design Thinking - The UX design process
> "Designg Thinking is a human-centered approach to **Innovation** that draws from the designer's toolkit to intergrate the needs of people, the **possibilities** of technology, and the requirements for business success" -- Tim Brown -- IDEO

_Design Thinking is used in UX design process - image by adobe_
We focus on the 5 stages Design Thinking, according to d.school, are as follows:
- Empathise: Understaning the people needs involved.
- Define: Reframing and defining the problem in people-centric ways.
- Ideate: Creating many ideas in ideation sessions.
- Prototyping: Adopting a hands-on approach in prototyping.
- Testing: Developing a protoype/solution to the problem.
Design thinking is a non-linear process for creative problem solving. Design Thinking has a human-centered core. It encourages organizations to focus on the people they're creating for, which leads to successful project, good product, and internal processes.
## Integrating Design Thinking into Software Development Life Cycle (How to understand it?)
Design Thinking enables software project that has constraints to test the possibility of the product and allow product designers and developers to keep people needs (end-user) in mind, clearly specify all requirements from the business and translate all this into product features.

_Integrating Design Thinking into Software development lifecycle_
To prepare to dive into the topic, let take an overview what is a software project first.
### Software project
A software project is an whole process that the product designer and developer collaborate together in order to build the software from requirement gathering to testing, maintenance in a specified period of time to achieve the intended product.
To acquire the software project's success we have to build software we need to complete on time, on budget, and have high quality within understanding the project requirement, people's needs. Design Thinking has been applied to the software project to create the process called "Software Development Lifecycle (SDLC)
The software project has a lot of constraints, we always faces to most important are: Quality, Budget, Time. If we cannot balance 3 things, software project can be failed.

_Software project's constraints_
The reasons why software project can be failed may cause by team politics, overdue payment... but they could be prevented with framework. However, the main cause is the product designers, developers have unclear the business needs or misleading project requirements. Wrongly defined people needs, tech stacks. The wrong approach the solution, develop practices. To control these restrictions, we will apply Software Development Life Cycle.
### Software Development Lifecycle (SDLC)
SDLC is a methodology with clearly defined processes for producing software with the high quality, lowest cost in the shortest time in order to solve people's problems.
> SDLC provides a well-structured flow of phases that help an organization to quickly produce high-quality software which is well-tested and ready for production use. - Khai Le, Head of Design
The SDLC methodology focuses on the following phases of software development. It similiar UX design process phases:
- Requirement analysis
- Planning
- System Design
- Implementation
- Testing
- Deployment
- (Maintenance)
[See more detail of each stage in Dwarves's Memo - Software development lifecycle 101 ](https://dwarves.foundation/memo/software-development-life-cycle-101-yedyrmilyi/).
To run SDLC. The most common in Vietnam is Waterfall and Agile model.
### Waterfall SDLC model

_Design Thinking is used in SDLC, Waterfall model_
The waterfall model is the most straightforward.
Pros:
- Each step has a clearly defined starting point and conclusion, which makes progress easy to track.
Cons:
- Small details incomplete can hold up the whole process.
- Hard to reachs the on time and the quality of product.
### Agile SDLC model

_Design Thinking is used in SDLC, Agile model_
Pros
- Highest level of management control and deliverable on time, on budget, and high quality.
- The team understands what people needs and why they build the product.
- The team can see a clear plan for arriving at that goal that following the requirement from the business side.
Cons
- Agile SDLC model separates the product into cycles and delivers a working product very quickly.
- Product designers who work in the agile model can be under pressure to deliver fast, it ruin a product's user experience.
One way to work in agile teams is to learn how to design small. We design [the smallest possible thing](https://www.interaction-design.org/literature/article/designing-the-smallest-possible-thing) of product into cycles and delivers a product that comes out as an [Minimum Viable Product (MVP)](https://www.interaction-design.org/literature/topics/minimum-viable-product "What are Minimum Viable Product?") quickly. This strategy can solves constraints for Time, Budget and Quality.

> Minimum Viable Product: Build a slice across, instead of one layer at a time. [@aarron](https://twitter.com/aarron) [@benhyphenrowe](https://twitter.com/benhyphenrowe). [Link to this tweet](https://twitter.com/jopas/status/515301088660959233?s=20)
Agile model has a constraint that it's the heavy emphasis on people needs. If Requirement analysis and System design phases get a wrong solution, it can be lead the project in the wrong direction. Breaking down the task into deliverable chunks, Product designer can give value early, often, and get feedback to our ideas before sinking tons of resources into them.
## What Product designer do in Software Developement Life Cycle?

_The product designer always find a sweet spot between business requirement and people's needs_
SDCL is a whole process to build a product software. It allows product designer could see the bigger picture of the problem that trying to solve.
Product Designer starts with Requirement analysis stage, planning. Creating a System design stage that defines the components, modules, interfaces, and data to satisfy business requirements with a clear purpose in mind.
Product designer is a problem solver who prioritize the people's needs, define their problems that always meets the constraints (Time, Budget, Quality) in order to deliver what is being developed
Besides, the role of a good product designer is effectively communicating that meaning to the team. Without Product Designer, we cannot define particular needs and the real expectations, and requirements of people.
Product designer is required to have the skills needed such as commercial awareness, knowledge of the industrial process, techniques... have a ability to learn how to make small things, get feedback, and iteration through the SDCL process.
## TL;DR
- The UX design process is Requirement analysis and System design stage, a part of the Software Development Life Cycle (SDLC) that leads to solving people's problems. When the solution has been shipped, that doesn’t mean that product designer no longer needed. They remain working on UX/UI design, constantly updating, testing the software according to the System Design.
- SDLC agile model allows team to deal with constraints start with "smallest possible thing" strategy instead of "design everything at once" to deliver the MVP product to the consumers often, receiving feedback, and get validation in the real world. Therefore, we can provide the right product to the needs of everyone.
- Product Designer responsibility is to make a product earn and grow via people’s needs. Product designer not only innovating to solve problems or drive new alternatives but also have to meet constraints requirements from the business to solve the obvious solution.