Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
Programming

/

etc. (Programming)

Vấn đề hóa: Năng lực cơ bản để giảm thiểu 'lãng phí phát triển'

Khái niệm “Problematization” (문제화) còn được dịch là đặt vấn đề (문제 제기), xây dựng vấn đề (문제짜기). Nó cũng có thể được dịch là thiết lập vấn đề (문제 설정) hoặc định nghĩa vấn đề (문제 정의). Đây là một khái niệm bao gồm quá trình đặt câu hỏi từ một góc nhìn mới về các sự thật đã biết như yêu cầu hoặc kiến thức thông thường, xác định vấn đề và xây dựng cách giải quyết vấn đề đó. Problematization nên là điểm khởi đầu của mọi quá trình phát triển nhưng vẫn là một chủ đề chưa được thảo luận đầy đủ trong lĩnh vực phát triển. Việc thực hiện một dự án hay phát triển một chương trình thực chất cũng là việc lập kế hoạch để giải quyết vấn đề. Nghĩa là, nó có liên quan đến problematization. Để giải quyết vấn đề, trước tiên vấn đề phải được xác định rõ ràng. Tuy nhiên, hầu hết các vấn đề được đưa ra dưới dạng các yêu cầu mơ hồ. Do đó, cần có khả năng biến các yêu cầu mơ hồ thành vấn đề rõ ràng để giảm thiểu 'lãng phí phát triển' không cần thiết, giúp hợp tác trôi chảy hơn và nắm bắt đúng nhu cầu thực sự của người dùng. Khóa học này giúp rèn luyện 'tư duy cấu trúc vấn đề' thông qua các trường hợp thực tế và công cụ.

27 học viên đang tham gia khóa học này

  • arigaram
요구분석
코드리뷰
리팩토링
커뮤니케이션
pm/po
Team Collaboration Tool
soft skills
Business Problem Solving

Dịch cái này sang tiếng Việt

  • Cách tìm ra vấn đề cốt lõi ẩn sau các yêu cầu, phản hồi người dùng và code review.

  • Cách diễn đạt vấn đề thực tế thành vấn đề có cấu trúc, sử dụng các công thức phát biểu vấn đề, v.v.

  • Cách tìm căn nguyên của vấn đề

  • Khái niệm triết học 'vấn đề hóa' thấu hiểu bản chất từ hiện tượng

  • Các công cụ để 'vấn đề hóa'

🎯Định nghĩa vấn đề: Năng lực cơ bản để giảm thiểu 'lãng phí trong phát triển'

Điểm khởi đầu cho hợp tác, phân tích yêu cầu và code review dành cho các lập trình viên mới và junior!

Năng lực cơ bản nên khuyến khích cho tất cả thành viên trong team để ngăn chặn 'lãng phí phát triển' từ góc độ PM/PO!

Năng lực cơ bản liên quan đến công cụ cộng tác, kỹ năng mềm, khả năng giải quyết vấn đề, v.v.!

Năng lực giúp bảo vệ việc làm của lập trình viên ngay cả trong thời đại trí tuệ nhân tạo viết code!

Bạn đã từng có những băn khoăn như thế này chưa?

  • "Bản kế hoạch quá mơ hồ nên tôi không biết phải làm gì."

  • "Tôi đã nhận được phản hồi từ đánh giá, nhưng không biết chính xác cần sửa chỗ nào."

  • "Khi thực sự bắt đầu viết code thì... mình định giải quyết vấn đề gì nhỉ?"

  • "Tôi đã hỏi thì họ lại hỏi ngược lại 'Vậy có vấn đề gì?'."

Cốt lõi của tất cả sự hỗn loạn này là vì chúng ta không thể định nghĩa chính xác vấn đề. Các nhà phát triển liên tục đối mặt với các vấn đề. Nhưng chỉ khi có thể nhìn nhận chính xácđịnh nghĩa được vấn đề đó thì việc giải quyết đúng đắn mới bắt đầu.

Yêu cầu mơ hồ: Các lập trình viên mới thường nhận được những yêu cầu không rõ ràng trong dự án. Ví dụ, khi nhận được chỉ thị mơ hồ như "hãy tạo một widget", họ sẽ bối rối không biết cụ thể cần phải triển khai chức năng gì. Theo blog dành cho lập trình viên, nhân viên mới gia nhập công ty gặp phải tình trạng bối rối do "hướng dẫn không rõ ràng" (vague instructions) và thiếu hướng dẫn đầy đủ (codeanywhere.com).

Thiếu kinh nghiệm: Do ít kinh nghiệm làm việc nên khó có thể phân tích vấn đề một cách có hệ thống hoặc tự tìm ra thông tin cần thiết. Ví dụ thực tế, một lập trình viên mới vào nghề gặp khó khăn trong việc đánh giá xem nên tự giải quyết đến mức độ nào, đã cố gắng giải quyết trong thời gian quá lâu rồi mới học cách đặt câu hỏi (rachsmith.com). Sự bất định này dẫn đến cảm giác lo lắng (hội chứng kẻ mạo danh), cản trở việc học tập và hợp tác.

Khoảng cách giao tiếp: Nếu thiếu kiến thức về lĩnh vực hoặc bối cảnh kinh doanh, sẽ không thể nắm bắt chính xác vấn đề cốt lõi của yêu cầu. Cộng đồng phát triển cũng chỉ ra rằng việc thiếu kiến thức lĩnh vực dẫn đến hiểu sai yêu cầu (kedin.com), điều này dẫn đến việc triển khai sai và phải làm lại.

📌 Những gì bạn sẽ học trong khóa học này

Phương pháp tư duy thực tế để làm rõ các yêu cầu mơ hồ và thiết lập vấn đề cốt lõi

  • Phương pháp đặt câu hỏi để rút ra vấn đề từ yêu cầu

  • 5 tiêu chí biến 'vấn đề' thành vấn đề thực sự

  • Kỹ thuật tạo sự đồng cảm với các thành viên khác trong nhóm thông qua lời nói

  • Phương pháp sơ đồ hóa để 'định nghĩa' và 'cấu trúc hóa' vấn đề

  • Kỹ thuật hỏi lại chính xác khi code review, họp lên kế hoạch và truyền đạt công việc

  • 15 mẫu chính

🎓 Khóa học này dành cho ai?

1. Lập trình viên bối rối trước những yêu cầu mơ hồ

  • Khi khách hàng hoặc người lập kế hoạch đưa ra những lời nói quá mơ hồ khiến không biết phải tạo ra cái gì

  • Ví dụ: "UX hơi tệ", "chậm quá", "làm trực quan hơn một chút đi"

  • → Trạng thái thiếu khả năng chuyển đổi yêu cầu thành vấn đề

Yêu cầu: "Làm UX tốt hơn một chút được không"
Phản ứng: "Chỉ nói là làm UX tốt hơn thôi.....ý nghĩa là gì vậy?"

"Bạn đã từng bối rối trước câu nói 'Làm cho trực quan hơn một chút' chưa? Kỹ thuật biến những yêu cầu mơ hồ thành vấn đề rõ ràng, hãy bắt đầu ngay từ bây giờ."

2. Nhân viên mới và junior thiếu tự tin trong giai đoạn phân tích yêu cầu hoặc thiết kế

  • Khả năng phân tích và cấu trúc hóa vấn đề vẫn chưa thành thạo

  • Trường hợp chỉ dừng lại ở mức độ ghi chép lại lời của người hoạch định

  • → Cần có kỹ năng tự định nghĩa vấn đề

Yêu cầu: Tính năng 'OO' - đang trong trạng thái chưa xác định. Sẽ được quyết định sớm.
Phản ứng: "Liệu có ổn không khi phát triển trong trạng thái hiện tại với một số tính năng chưa được quyết định?"


"Bạn có đang chỉ làm theo yêu cầu mà thôi? Hãy phát triển thành một lập trình viên biết cách diễn giải kế hoạch và tự định nghĩa vấn đề."

3. Các lập trình viên gặp khó khăn trong việc giải thích "tại sao phát triển cái này"

  • Triển khai tính năng thì làm tốt, nhưng không thể giải thích tại sao tính năng đó lại cần thiết

  • Có khó khăn trong việc thiết kế mục đích phát triển và bối cảnh vấn đề

  • → Lập trình viên → Người giải quyết vấn đề → Người muốn phát triển thành người đặt ra vấn đề

Yêu cầu: Kích thước nút + 10 pixel
Phản hồi: "Cái đó... tôi chỉ nghĩ là làm theo cách đó thì có vẻ sẽ tốt..."


"Có thể triển khai được tính năng, nhưng nếu không thể giải thích được lý do thì sao? Đây là thời điểm cần có tư duy thấu suốt bản chất của vấn đề."

4. Các lập trình viên gặp khó khăn trong việc hợp tác với người lập kế hoạch hoặc nhà thiết kế

  • Có nhiều cuộc thảo luận diễn ra, nhưng không hình thành được sự đồng thuận về "vấn đề thực sự là gì"

  • Phản hồi bị lặp lại hoặc xung đột giao tiếp thường xuyên xảy ra

  • → Những người muốn cấu trúc hóa các ngôn ngữ khác nhau để tạo ra trung tâm hợp tác

Yêu cầu: "Làm ơn hãy làm cho nó có cảm giác trực quan hơn"
Phản ứng: "Tại sao designer cứ toàn nói về những 'cảm giác' gì đó thế nhỉ....?"


"Bạn có cảm thấy không thể giao tiếp được với người lập kế hoạch không? Nếu chúng ta tổng hợp ngôn ngữ của nhau thành 'vấn đề', thì sự hợp tác sẽ thay đổi."

5. Junior trở lên chuẩn bị cho công việc lập kế hoạch, PM, chỉ đạo

  • Nhà phát triển đang trưởng thành với vai trò phải xác định vấn đề và đưa ra hướng giải quyết

  • Cần có khả năng cấu trúc hóa những yêu cầu mơ hồ thành công việc cụ thể cho team

  • Thiết lập vấn đề chính là khởi đầu của khả năng lãnh đạo

Yêu cầu: Theo cấu trúc [Yêu cầu thông tin (Request) > Nguyên nhân (Cause) > Tình huống người dùng (User Situation)] ...
Phản ứng: "Làm thế nào để định nghĩa điều này thành một nhiệm vụ nhóm?"


"Khả năng cấu trúc hóa những yêu cầu mơ hồ thành công việc cụ thể, đó chính là bước đầu tiên để bạn trở thành một developer dẫn dắt team."

6. Tóm tắt

  • Khóa học này là khóa học cần thiết cho tất cả các lập trình viên đang có băn khoăn "Tôi biết viết code, nhưng không biết nên viết cái gì".

  • Đặc biệt đối với các lập trình viên junior từ mới vào nghề đến 3 năm kinh nghiệm, đây có thể được coi là năng lực thiết yếu.

Câu hỏi thu thập yêu cầu: Trên các diễn đàn dành cho lập trình viên hoặc Reddit, thường xuyên xuất hiện những bài viết của sinh viên mới và người chuẩn bị vào nghề hỏi "Làm thế nào để thu thập và phân tích yêu cầu?". Ví dụ, một sinh viên ngành Khoa học Máy tính đã hỏi "Trong thực tế, làm sao để thu thập yêu cầu từ các bên liên quan?" và tìm kiếm lời khuyên từ các lập trình viên tiền bối (reddit.com). Điều này cho thấy nhu cầu về việc học cách thu thập yêu cầu rõ ràng trong các dự án thực tế.

Nhấn mạnh vai trò: Theo lời khuyên của các nhà phát triển kỳ cựu, cốt lõi của phát triển phần mềm là "định nghĩa vấn đề (Problem definition)" và các chuyên gia thực thụ cần có khả năng định nghĩa chính xác các yêu cầu (medium.com). Trong cộng đồng nhà phát triển, những ý kiến nhấn mạnh tầm quan trọng của việc định nghĩa vấn đề như vậy cũng thường xuyên được tìm thấy.

Nhu cầu giáo dục: Các blog của developer Hàn Quốc coi khả năng định nghĩa vấn đề là "kỹ năng cơ bản"(medium.com), chỉ ra rằng khi phân tích dữ liệu hoặc thiết kế hệ thống, việc định nghĩa vấn đề cần giải quyết trước tiên là điều thiết yếu hơn cả công cụ(inflearn.com, velog.io). Những bài viết như vậy làm nổi bật nhu cầu về kỹ năng định nghĩa vấn đề đối với người học.

💡 Đặc điểm bài giảng

  • Phương pháp tư duy dựa trên thực tiễn:

    Được cấu trúc xung quanh các trường hợp vấn đề thực tế gặp phải trong quá trình cộng tác

  • Các bài giảng ngắn gọn và rõ ràng:

    Mỗi bài học thường được cấu trúc trong vòng 10 phút (có một số ngoại lệ), cho phép học tập với độ tập trung cao

  • Đào tạo cấu trúc hóa tư duy:

    Bài gi강ng tập trung vào slide để tổ chức trực quan 'dòng tư duy' xác định vấn đề

  • Ví dụ thực tế:

    Cách đối thoại để biến phản hồi mơ hồ, kế hoạch trừu tượng thành vấn đề cụ thể

📂 Xem trước chương trình học (một phần)

  1. Thiết lập vấn đề là gì – Điểm khởi đầu của việc giải quyết vấn đề

  2. Yêu cầu mơ hồ, sai lầm bắt đầu từ đâu

  3. 5 tiêu chí làm cho một vấn đề trở thành vấn đề thực sự

  4. Kỹ thuật hỏi khác đi câu "Vậy vấn đề là gì?"

  5. Code review, lập kế hoạch, điều phối lịch trình… tất cả những khoảnh khắc mà việc thiết lập vấn đề được sử dụng

💬 Hiệu quả mong đợi sau khi học

  • Những yêu cầu phức tạp cũng có thể tự cấu trúc và sắp xếp

  • Bạn có thể trở thành lập trình viên nắm bắt được cốt lõi chỉ với một câu hỏi

  • Có thể giảm thiểu những hiểu lầm không cần thiết khi hợp tác công việc và dẫn dắt cuộc trò chuyện chính xác

  • Phản hồi đánh giá cũng có thể chuyển đổi thành vấn đề có thể giải quyết thay vì chỉ đơn thuần chỉ trích

💬 Lý do tại sao khóa học này thực sự có ích cho các nhà phát triển


1. Giải quyết những vấn đề thường gặp nhất trong thực tế công việc

Công việc của lập trình viên luôn bắt đầu từ việc nhận 'yêu cầu'. Tuy nhiên, hầu hết các yêu cầu đều mơ hồ và không rõ ràng. Nếu không thể chuyển đổi chúng thành vấn đề cụ thể, thì kế hoạch sẽ sai lệch, việc phát triển sẽ đi sai hướng và tiến độ sẽ bị trễ.

Ví dụ: "Làm cho nút bấm lớn hơn một chút" →→ Tại sao? Cho ai? Vấn đề gì?


2. Đây là khả năng mà nhân viên mới và junior thiếu hụt nhất

Phần khó khăn nhất đối với các lập trình viên mới vào nghề hoặc junior không phải là việc triển khai đơn giản mà là 'khả năng phán đoán xem cần phải triển khai cái gì'. Khóa học này sẽ chỉ ra chính xác điểm đó.


3. Trực tiếp nâng cao năng lực hợp tác

Phân tích yêu cầu, đánh giá code, giao tiếp, thảo luận với PM… tất cả đều cần định nghĩa vấn đề tốt thì quy trình mới diễn ra suôn sẻ. Khóa học này sẽ rèn luyện phương pháp tư duy lắng nghe và rút ra bản chất.


4. Cung cấp khung thực tế và công cụ thực chiến

Không phải lý thuyết không có thực hành, mà cung cấp công thức phát biểu vấn đề, tiêu chí phản hồi, kỹ thuật đặt câu hỏi v.v. có thể áp dụng ngay trong công việc thực tế.


Tóm lại, khóa học này giúp bạn không dừng lại trước những câu hỏi "Tại sao phải phát triển cái này?", "Đây có thực sự là vấn đề không?"
mà trở thành một developer có thể đưa ra phán đoán rõ ràng và trình bày một cách thuyết phục.

🎯 Trong thị trường lập trình viên hiện tại, những 'lập trình viên biết tư duy' như thế này sẽ phát triển nhanh nhất.

Bây giờ, hãy trở thành một lập trình viên giỏi thiết lập vấn đề từ đầu chứ không chỉ giải quyết vấn đề.

Chỉ khi nhìn thấy vấn đề một cách chính xác, việc giải quyết và phát triển mới có thể bắt đầu.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Nhà phát triển muốn trau dồi năng lực tự tư duy và phán đoán đâu là vấn đề thực sự, thay vì chỉ làm theo yêu cầu được giao.

  • 기획자, 디자이너, PM/PO mong muốn định hướng đội ngũ giữa các yêu cầu và ý kiến mơ hồ, đồng thời giao tiếp suôn sẻ với các 개발자.

Xin chào
Đây là

333

Học viên

16

Đánh giá

1

Trả lời

4.8

Xếp hạng

17

Các khóa học

IT가 취미이자 직업인 사람입니다.

다양한 저술, 번역, 자문, 개발, 강의 경력이 있습니다.

Chương trình giảng dạy

Tất cả

72 bài giảng ∙ (17giờ 16phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Chưa có đủ đánh giá.
Hãy trở thành tác giả của một đánh giá giúp mọi người!

Ưu đãi có thời hạn, kết thúc sau 8 ngày ngày

955.164 ₫

17%

1.164.107 ₫

Khóa học khác của arigaram

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!