Tham gia dự án mới: Cần chuẩn bị và tìm hiểu những gì?

Thực tế thường thấy hiện nay trong ngành phát triển phần mềm, chúng ta đa phần thường tham gia vào các dự án đang trong giai đoạn phát triển, thậm chí là đã có một số phiên bản phần mềm được tung ra thị trường. Câu hỏi được đặt ra là “Chúng ta cần những thông tin gì khi tham gia vào một dự án đang trên đường phát triển như vậy?

Bài viết ngày hôm nay, xin được gợi mở một số bước chuẩn bị cần thiết và cơ bản cho các bạn để có thể tự tin hơn với những cơ hội tham gia các dự án phần mền sắp tới.

Trạng thái hiện tại, yêu cầu của SUT

Đầu tiên, vấn đề cần được quan tâm nhiều nhất là học App và tìm hiểu những thông tin về  tình trạng hiện tại của dự án. Lúc này những câu hỏi được đặt ra sẽ xoay quanh các điểm chính như : Hệ thống được phát triển vì nhu cầu gì của khách hàng? Lợi ích thực tế mà hệ thống mang lại cho khách hàng là những gì? Mức độ hiểu biết của cả nhóm về dự án là như thế nào?

Tiếp theo đó, từ các thông tin về SUT, chúng ta cần biết thêm về các yêu cầu từ khách hàng, cách lấytổ chức các yêu cầu đó như thế nào là hiệu quả nhất. Ví dụ: phương pháp hỏi thêm thông tin về các yêu cầu, các mối liên lạc để làm rõ yêu cầu được thực hiện như thế nào (hỏi trực tiếp hay thông qua Business Analysis / Trưởng nhóm.)

Đôi khi chúng ta nhận thấy rằng lỗi phần mền/hệ thống (bug) không chỉ đến từ việc làm sai các yêu cầu, mà còn đến từ việc các yêu cầu không hợp lý hoặc không rõ ràng với người dùng (tham khảo thêm về HICCUPPS).

Trạng thái của dự án

Ở đây, chúng ta tìm hiểu những gì mà nhóm phát triển phần mềm đã đạt được đến thời điểm hiện tại, các kết quả kiểm thử trong quá khứ.

Các yếu tố cần được tìm hiểu có thể là: Chu trình làm việc hằng ngày của từng người trong nhóm, của cả nhóm trong một giai đoạn, qui trình nhận công việc từ ai/đâu và báo cáo công việc hằng ngày/giai đoạn như thế nào và sẽ được đánh giá ra sao, bởi ai. Cách thông báo vấn đề mà thành viên gặp phải trong khi làm việc. Ai sẽ là người đưa ra/tư vấn giải pháp về vấn đề kỹ thuật cũng như vấn đề không phải kỹ thuật khác.

Thậm chí, chúng ta cũng nên biết về các vấn đề/sai lầm từng xảy ra trong nhóm (ví dụ: có bug nào trên các bản release ra thị trường được phát hiện bởi khách hàng hay không? Cách tiếp cận và giải quyết của nhóm đối với các sai lầm này là như thế nào?)

Bên cạnh đó, chúng ta cần biết thêm khách hàng đang mong đợi điều gì  trong thời gian sắp đến (ví dụ: yêu cầu và mong đợi bản release tiếp theo ngắn hạn và dài hạn như thế nào? Nhóm phát triển đang mong chờ gì ở người mới tham gia dự án như chúng ta? Hay là, bản thân chúng ta mong đợi gì khi tham gia dự án này)

Cuối cùng, vấn đề con người và nhóm

Yếu tố con người và văn hóa của nhóm cần được quan tâm đúng mức. Các sở thích, thế mạnh hay những mặt hạn chế của từng người trong nhóm cần được lưu ý nhằm xây dựng một môi trường làm việc hợp tác, tránh các xung đột mang tính cá nhân vì nó có thể gây ảnh hưởng đến dự án.

Các kênh tiếp xúc liên lạc của từng thành viên trong nhóm bao gồm những gì (trường hợp nhóm không làm chung một văn phòng, tòa nhà, quốc gia), các cuộc họp trong nhóm thường được tổ chức như thế nào (hằng ngày hay tuần, có mặt khách hàng hay chỉ nội bộ nhóm). Những xung đột về con người và văn hóa trước đó/hiện tại (nếu có) được giải quyết ra sao?

Hi vọng với một chút ý kiến chia sẻ nêu trên, các bạn có thể nhanh chóng chuẩn bị và hòa nhập vào môi trường làm việc mới. Mình có tạo một mindmap ở đây, cách download các bạn có thể xem tại đây.


Hoan nghênh các ý kiến đóng góp/ chia sẽ/thảo luận cho các chủ đề về phát triển và kiểm thử phần mền trên VNTesters.