Đảm bảo thời gian, làm đúng yêu cầu và chi phí theo kế hoạch là điều không hề đơn giản trong quản lý dự án, đặc biệt là dự án phần mềm. Bạn có thể áp dụng các phương áp quản lý dự án hiện đại, có được một đội dự án giàu kinh nghiệm, kinh phí dồi dào nhưng nếu không quản lý đúng cách, bạn cũng có thể thất bại với dự án của mình. Đặc biệt hơn nếu bạn bắt đầu việc quản trị một dự án với tư cách là một kỹ sư phần mềm, khi phần lớn thời gian trước đây của bạn tập trung vào kỹ thuật và bạn chưa quen đối mặt với những vấn đề về về con người và những vấn đền phi kỹ thuật khác
Bài viết này mang lại cho bạn một số ý tưởng để quản trị một dự án phần mềm hiệu quả hơn. Đây không phải là một phương pháp luận cụ thể mà là những việc bạn nên làm, dù quản lý dự án theo phương pháp nào, độ phức tạp ra sao.
Thiết lập khuôn khổ dự án và tăng cường sự cộng tác
Một vấn đề quan trọng trong các dự án là đảm bảo sự hợp tác diễn ra giữa các thành viên trong đội dự án và các bên liên quan (stack holders). Có nhiều việc phải thực hiện nhưng cơ bản cần phải chú ý các vấn đề sau:
- Tạo danh sách các bên liên quan tham gia vào dự án này. Đó không phải là những người tham gia xây dựng phần mềm mà còn bao gồm khách hàng hay bất kỳ ai có liên quan đến dự án dù ít hay nhiều
- Lên lịch khởi động (kick-off) với nhóm bao gồm tất cả các bên liên quan có liên quan (như Product Manager, Design…). Chuẩn bị kỹ càng cho cuộc họp khởi động này
- Đặt ra một số quy định chung cho dự án: ví dụ thời gian trả lời email..
- Thiết lập và duy trì tài liệu của dự án. Cần có một nơi mà bất kỳ ai quan tâm đến dự án có thể truy cập vào các tài liệu này.
- Thiết lập không gian cộng tác cho nhóm: đó có thể là JIRA, kênh trò chuyện, danh sách email, lưu trữ tài liệu, v.v. Dự án càng lớn thì càng phải làm rõ những kênh nào mọi người có thể sử dụng để tiếp cận tất cả những người tham gia.
- Chọn một phương pháp quản lý dự án mà mình và cả nhóm quen thuộc nhất.
- Đảm bảo nhóm dự án chia sẻ thông tin, cập nhật thường xuyên, có bản trình diễn tiến độ thường xuyên, công việc minh bạch và được theo dõi, đồng thời khuyến khích trao đổi thông tin trực tiếp để mọi người có thể thấy được tiến độ va tình trạng của dự án.
- Có quy trình quản lý RFC (Request For Change) rõ ràng.
Quản lý rủi ro
Quản lý rủi ro là một vấn đề quan trọng khác trong quản lý dự án. Đây là cách để theo dõi xem mọi thứ có đi đúng hướng hay không (nhưng nó khác với tiến độ dự án). Nếu có điều gì đó không ổn về dự án, bạn cần phải tìm hiểu kỹ và tìm ra cách để giảm thiểu nó. Để quản lý rủi ro hiệu quả, bạn cần:
- Hiểu tất cả các phần của dự án ở mức tổng quát từ backend, chạy trên thiết bị di động đến tác động kinh doanh của phần mềm. Bạn cần xậy dựng mối quan hệ tốt với các kỹ sư trên các stack kỹ thuật khác nhau trong dự án của bạn. Là một người quản lý dự án, bạn sẽ là người nắm rõ mọi bối cảnh trong dự án và hãy đảm bảo rằng bạn biết những vấn đề nổi trội trên mỗi stack là gì.
- Tạo kho kiến thức bằng cách liệt kê các services và thư viện sẽ dùng trong dự án. Nếu bạn làm việc với một codebase không quen thuộc, hãy giả sử điều tồi tệ nhất khi ước tính thời gian và rủi ro, đồng thời đảm bảo đội dự án thực hiện một số nghiên cứu trước.
- Hãy nêu ra những rủi ro một cách trung thực và đưa ra các tình huống dự phòng để giảm thiểu rủi ro nếu chúng phát sinh. Trong các yếu tố như thời gian, phạm vi và con người của dự án, nếu một trong những yếu tố đó thay đổi, chúng ta cần quyết định xem có cần thay đổi những cái khác hay không và bằng cách nào. Nguyên tắc chung: thời điểm tốt nhất để xác định rủi ro là khi bạn phát hiện ra vấn đề lần đầu tiên. Thời điểm tốt nhất thứ hai là bây giờ và không phải sau này, tức khi đã quá muộn.
Cập nhật tình trạng dự án cho các bên liên quan
Để quản trị dự án phần mềm một cách hiệu quả, ban cần có kế hoạch cập nhật tiến độ và tình trạng của dự án cho tất cả các bên liên quan và thực hiện nghiệm túc việc này. Đó có thể đơn giản như cập nhật tiến độ theo kế hoạch sự án trên hệ thống. hoặc gửi email cập nhật hàng tuần hay hai tuần một lần hay bất kỳ hình thức nào khác. Một số hình thức cập nhật thông tin:
- Giữ cho nhóm và các bên liên quan biết dự án đang tiến triển như thế nào thông qua cuộc họp hàng tuần với các slides ngắn gọn.
- Cân nhắc gửi email cập nhật hàng tuần hay mỗi hai tuần để đảm bảo mọi người đều nắm rõ tiến độ.
- Luôn cập nhật các tài liệu theo dõi trạng thái để nhóm dự án và các bên liên quan khác có thể biết được tiến độ dự án. Đây có thể là kế hoạch dự án hoặc các tài liệu khác (như danh sách tính năng đã sẵn sàng) mà bạn chọn sử dụng.
- Xác định tất cả các bên liên quan cần biết về dự án và cập nhật thông tin phù hợp.
Giúp nhóm tập trung và đừng ngại ủy quyền
Bạn cần làm cho cuộc sống của nhóm dự án dễ dàng hơn và tập trung hoàn toàn vào nhữn gì họ phải làm, đặc biệt là về công nghệ. Tuy nhiên, đừng đặt tất cả lên vai của bạn mà hảy ủy quyền cho các thành viên trong nhóm khi nào có thể(đặc biệt khi đó là một cơ hội phát triển tốt cho họ).
- Giúp các kỹ sư tập trung vào cột mốc quan trọng tiếp theo. Hãy để cho họ thấy và nhận trách nhiệm cho những việc quan trọng sắp tới trong dự án.
- Có nhiều hình thức ủy quyền: bạn vừa có thể ủy quyền lên (ví dụ: ủy quyền cho người quản lý hoặc PM của bạn) cũng như cho các thành viên trong nhóm. Vì bạn sở hữu rất nhiều trách nhiệm, việc chia sẻ những điều này với một số đồng đội của bạn có thể là một lợi ích đôi bên cùng có lợi. Ví dụ, một người khác có thể phụ trách điều hành một số các công việc trong dự án. Hãy rõ ràng rằng bạn đang ủy quyền hoặc yêu cầu trợ giúp. Ngoài ra, hãy nói rõ ràng về kỳ vọng của bạn đối với người đảm nhận công việc này.
Tạo động lực cho đội
Cuối cùng, hãy trở thành kiểu người lãnh đạo mà mọi người thích làm việc cùng. Bạn hãy tìm cách tạo động lực cho cả đội và đừng quên ăn mừng khi đạt được các cột mốc quan trọng của dự án. Bạn nên có một khoản ngân sách nhỏ cho việc này. Ngoài ra, hãy chia sẻ với những đội nhóm khác trong công ty công việc tuyệt vời mà đội dự án bạn vừa làm.