Product Management
Đăng nhập
ESC

Nhập từ khóa để tìm kiếm

↑↓ Di chuyển
Enter Mở
ESC Đóng

Buổi 5 · Làm việc với engineer mà không cần biết code

Đã đọc 0/10 mục · còn khoảng 4 phút
Cách chúng tôi ghi nhận

Một mục được tính là đã đọc khi nó nằm giữa màn hình đủ lâu so với độ dài của nó (bảng và sơ đồ tính một nửa), bạn vẫn đang cuộn hoặc bấm phím, và bạn đã thấy tới cuối mục. Lướt nhanh hoặc để tab mở không được tính. Chúng tôi chỉ lưu thời gian đọc từng mục — không lưu gì khác.

Buổi 5 — Làm việc với engineer mà không cần biết code

Nỗi lo phổ biến nhất của người chuyển từ marketing: "Tôi không biết kỹ thuật, liệu team có coi trọng không?" Câu trả lời: họ coi trọng PM hiểu chi phí, không phải PM viết được code.

Bạn cần hiểu gì, thật sự

Cái gì rẻ và cái gì đắt. Đổi màu nút thì rẻ. Đổi cách dữ liệu được lưu thì đắt. Thêm một trường vào form thì rẻ; thêm một trường phải đồng bộ với hệ thống bên ngoài thì đắt gấp nhiều lần. Hiểu được thứ tự độ lớn này là đủ để ra quyết định tốt.

Vì sao "chỉ thêm một tí" lại lâu. Thường vì nợ kỹ thuật: phần code đó được viết vội cho một mục đích khác, và mỗi thay đổi phải cẩn thận để không làm hỏng chỗ khác. Không phải engineer làm chậm — họ đang trả lãi cho quyết định cũ.

Bốn khái niệm nên nắm: API (hai hệ thống nói chuyện với nhau theo quy tắc), cơ sở dữ liệu (dữ liệu nào đang có, dữ liệu nào chưa từng được thu thập), môi trường (dev/staging/production — nơi thử an toàn trước khi ảnh hưởng người thật), và nợ kỹ thuật.

Riêng khái niệm thứ hai cứu bạn khỏi rất nhiều yêu cầu bất khả thi: rất nhiều báo cáo không làm được không phải vì khó tính toán, mà vì dữ liệu đó chưa bao giờ được lưu.

Cách đặt câu hỏi để không bị hớ

Thay vì hỏi "cái này làm được không" (câu trả lời luôn là được, chỉ là mất bao lâu), hãy hỏi:

  • "Phần nào của việc này tốn công nhất?"
  • "Có cách nào đạt 80% giá trị với 20% công sức không?"
  • "Nếu bỏ yêu cầu X thì rẻ đi bao nhiêu?"
Ba câu này biến cuộc trò chuyện từ có/không thành đánh đổi — và đánh đổi là ngôn ngữ chung của PM và engineer.

Điều khiến engineer tin tưởng một PM

Không phải kiến thức kỹ thuật. Mà là:

Không đổi ý giữa sprint mà không giải thích. Đổi ý là bình thường; đổi ý không kèm lý do làm mất niềm tin.

Mang theo bằng chứng. "Tôi nghĩ nên làm X" yếu hơn nhiều so với "12 khách hàng đã tự làm thủ công việc này, đây là ghi âm".

Bảo vệ team khỏi yêu cầu chen ngang. Đây là việc PM làm mà engineer nhìn thấy và ghi nhớ.

Thừa nhận khi không biết. PM giả vờ hiểu kỹ thuật bị phát hiện trong vòng một tuần.

Lợi thế bất ngờ của người từ marketing

Bạn giỏi giải thích. Rất nhiều engineer làm việc tốt hơn hẳn khi hiểu vì sao một tính năng quan trọng với người dùng — và phần lớn PM không giải thích được điều đó một cách sinh động. Bạn thì có.

Bài tập

Ngồi cùng một engineer và nhờ họ giải thích đường đi của dữ liệu cho một tính năng bạn quen thuộc: người dùng bấm nút, rồi chuyện gì xảy ra tới khi màn hình cập nhật. Vẽ lại bằng ngôn ngữ của bạn và nhờ họ sửa.

<!--les-append-->

Bảng chi phí thô — đủ để ra quyết định tốt

Bạn không cần biết code. Bạn cần biết thứ tự độ lớn:

Loại thay đổiChi phí tương đốiVì sao
Đổi chữ, màu, vị tríRẻChỉ giao diện
Thêm trường vào form (chỉ lưu)RẻThêm một cột
Thêm trường phải đồng bộ hệ thống ngoàiĐắt gấp nhiều lầnCần xử lý lỗi, thử lại, đối soát
Đổi cách dữ liệu được lưuRất đắtPhải chuyển dữ liệu cũ, không hỏng gì
Thêm báo cáo từ dữ liệu đã cóTrung bình
Thêm báo cáo cần dữ liệu chưa thuĐắt — và dữ liệu quá khứ không cóPhải cài đo lường trước, chờ tích luỹ
Hàng cuối là hàng hay gây bất ngờ nhất: "chỉ cần một báo cáo" có thể mất ba tháng nếu dữ liệu chưa được thu — và không có cách nào tính bù cho quá khứ.

Vì sao "chỉ thêm một tí" lại lâu

Thường không phải vì engineer làm chậm. Ba nguyên nhân thật:

  • Nợ kỹ thuật — phần code đó viết vội cho mục đích khác; mỗi thay đổi phải cẩn thận để không làm hỏng chỗ khác
  • Phần không nhìn thấy — một tính năng nhỏ vẫn cần xử lý lỗi, kiểm thử, quyền truy cập, ghi nhật ký
  • Phụ thuộc — cần dữ liệu hoặc dịch vụ từ đội khác
Khi nghe "cái này mất ba tuần" cho việc trông như hai ngày, hỏi: "phần nào chiếm nhiều thời gian nhất?" Câu trả lời thường hé lộ một trong ba nguyên nhân trên — và đôi khi có cách đi vòng.

Ba câu hỏi làm bạn được coi trọng

  • "Cái gì trong yêu cầu này làm nó đắt lên nhiều nhất?" — thường có một chi tiết chiếm phần lớn chi phí, và bỏ nó đi không mất gì
  • "Có cách nào rẻ hơn đạt cùng mục tiêu không?" — engineer thường có ý tưởng nhưng không được hỏi
  • "Nếu làm phiên bản đơn giản nhất trước thì trông thế nào?"
Ba câu này chứng minh bạn hiểu chi phí — và đó là thứ engineer coi trọng, không phải việc bạn viết được code.

Làm ngay

Trong buổi làm rõ việc tiếp theo, hỏi câu thứ nhất cho mọi yêu cầu. Ghi lại câu trả lời. Sau ba lần, bạn sẽ có bảng chi phí riêng cho sản phẩm của mình — chính xác hơn bảng chung ở trên. <!--/les-append-->

Học xong bài này rồi? Tạo tài khoản miễn phí để lưu lại — lần sau vào là biết ngay đang dở ở đâu, và học hết khóa thì có chứng chỉ. Lưu tiến độ của tôi