Chào mừng bạn đến với series bài học về Quản lý dự án phần mềm. Series này có mục đích nhằm cung cấp các khái niệm và các phương pháp hiệu quả được sử dụng phổ biến trong quá trình phát triển các sản phẩm phần mềm.
Từ bài này trở đi, bạn sẽ là người quản lý dự án phần mềm hay còn gọi là PM (Project Manager).
Phát triển phần mềm cũng giống như xây một ngôi nhà, một người quản lý cần có những kỹ năng chuyên biệt để có thể định hướng cho đội ngũ phát triển của mình xây dựng sản phẩm đạt theo yêu cầu của khách hàng.
Trong bài học này chúng ta sẽ đề cập đến các mục tiêu trong phát triển phần mềm, vai trò của người quản lý (PM), phương pháp Agile và các quy trình cốt lõi trong quản lý sản phẩm phần mềm:
Các mục tiêu phát triển phần mềm
Một PM cần hiểu được các góc nhìn và mục tiêu khác nhau để phát triển được phần mềm:
- Mang lại giá trị, đạt được nhu cầu của khách hàng, giải quyết vấn đề của họ và khách hàng hài lòng về sản phẩm.
- Được phát triển một cách đúng đắn, đầy đủ: các khâu và quy trình (thu thập yêu cầu, thiết kế, chạy thử) phát triển được thực hiện đúng và đầy đủ trong suốt quá trình phát triển để tránh các sai sót xảy ra.
- Có tính minh bạch và có tổ chức, chỉ cần có đủ các quy trình và quy tắc để sắp xếp công việc cho mọi người trong dự án đảm bảo sự linh hoạt và dễ dàng về trao đổi ý kiến.
Vai trò của người quản lý sản phẩm phần mềm (PM)
PM có chịu trách nhiệm về sự thành công của dự án phần mềm.
Bạn cần có kỹ năng hiểu và trao đổi vấn đề với khách hàng và đội ngũ phát triển quan sát được sản phẩm dưới góc nhìn của khách và động viên tinh thần team.
Ngoài ra, PM nên xác định được những yếu tố tạo nên sự thành công cho dự án như là:
- Release sản phẩm đúng hạn
- tránh sử dụng quá ngân sách đã đặt ra
- thực hiện đầy đủ các tính năng cho sản phẩm.
Agile
Agile là một triết lý, khung tư duy về phát triển phần mềm phổ biến, được viết ra vì mục đích xây dựng phần mêm một cách hiệu quả và có tính thích nghi thay đổi cao hơn.
Agile gồm 4 giá trị cốt lõi:
- “Cá nhân và sự tương hỗ quan trọng hơn quy trình và công cụ”
- “Sản phẩm xài được quan trọng hơn tài liệu về sản phẩm”
- “Cộng tác với khách hàng quan trọng hơn đàm phán hợp đồng”
- “Phản hồi với sự thay đổi quan trọng hơn bám theo kế hoạch”
(nguồn: topdev.vn)
Agile coi trọng các mục ở bên trái hơn các mục ở bên phải.
Đây không có ý là ta nên bỏ qua các quy trình và công cụ, tài liệu, hợp đồng … Chỉ là ta nên tập chung vào các mục bên trái nhiều hơn.
Ngoài ra Agile còn có 12 Nguyên tắc, tóm gọn lại là: thúc đẩy sự phát triển ổn định, thử nghiệm thường xuyên và sự tham gia liên tục của khách hàng trong dự án.
Bạn có thể xem thêm tại : https://agilemanifesto.org/principles.html
Trong suốt quá trình xây dựng phần mềm, người PM sẽ sử dụng và đảm bảo các cá nhân liên quan đến dự án sẽ theo phương pháp Agile.
Các chủ đề quan trọng trong phát triển phần mềm
- Quy trình (Process): sắp xếp các công việc một cách hợp lý theo các giai đoạn như là: Mô tả sản phẩm, thiết kế sản phẩm, kiểm thử và xác nhận với khách hàng.
- Yêu cầu về sản phẩm (Requirements): Những thông tin cụ thể về sản phẩm mà khách hàng mong muốn đạt được.
- Tổ chức kế hoạch (Planning): Sắp xếp các đầu việc cụ thể, áng chừng thời gian, và đoán trước rủi ro.
- Theo dõi thường xuyên (Monitoring): Theo dõi tiến độ, linh hoạt thay đổi tùy trường hợp, và đảm bảo tính minh bạch.
Mục lục:
- Giới thiệu về Quản lý sản phẩm phần mềm
- Các Quy trình phát triển phần mềm và Scrum – phương pháp Agile
- Nhu cầu của khách hàng và yêu cầu về phần mềm
- Tổ chức kế hoạch phát triển phần mềm mang tính Agile
- Thước đo và cách đánh giá cải thiện phần mềm.
Cảm ơn bạn đã theo dõi đến hết bài học, ở bài tiếp theo chúng ta sẽ tìm hiểu về các quy trình trong quản lý phần mềm và các phương pháp Agile.
Bài tiếp theo: Quy trình phát triển phần mềm và Phương pháp Agile: Scrum.
