CHƯƠNG 1 TỔNG QUAN - GIỚI THIỆU ĐỀ TÀI 1. Lý do hình thành đề tài Trong thời gian từ năm 2009 đến năm 2011, bộ phận phát triển website của công ty Cổ phần VNG (VNG Corporation, gọi tắt và VNG) nhận được hơn 20 yêu cầu phát triển các sản phẩm từ phía khách hàng nội bộ (Nguồn: Thông tin bộ phận phát triển phần mềm VNG). Tuy nhiên, có đến 30% dự án không hoàn thành đúng tiến độ đề ra. Một phần nguyên nhân là do hạn chế về mặt kỹ thuật của các thành viên, nhưng phần lớn vẫn là những thay đổi đến từ phía khách hàng trong quá trình phát triển sản phẩm (Trung bình có từ 5 đến 10 thay đổi cho các sản phẩm có thời gian thực hiện 1 tháng - Nguồn: Thông tin thống kê và phân tích từ bộ phận phát triển phần mềm VNG).
Điều này đã gây nên những gia tăng về chi phí thực hiện dự án (Trung bình tăng 20% so với dự kiến ban đầu - Nguồn: Thông tin bộ phận phát triển phần mềm VNG), đồng thời cũng gây ảnh hưởng chung đến công ty trong kế hoạch giới thiệu sản phẩm đến người dùng cuối, dẫn đến giải pháp tạm thời được sử dụng khá nhiều cho các dự án trễ hạn: Thiết lập các trang giả (nội dung tĩnh) để thay thế cho sản phẩm chưa xuất bản kịp. Ngoài ra, cũng như những công ty về phát triển phần mềm ở Việt Nam, VNG vẫn còn tồn tại những qui trình không thống nhất, không chuẩn trong quản lý các dự án phần mềm, là một trong những nguyên nhân chính, góp phần tạo nên những vấn đề trên. Bên cạnh đó, qui trình phát triển phần mềm linh hoạt (Agile) ra đời đã bổ sung thêm một giải pháp lựa chọn cho các công ty phần mềm. Với sự linh hoạt tối đa, Agile đã thuyết phục được sự hợp tác của các công ty phần mềm trong việc triển khai qui trình.
Nhiều diễn đàn về Agile (đại diện có nhóm Hanoi Scrum ở Hà Nội, Agile forum Vietnam ở TP HCM, hai nhóm này đã thu hút trên 300 thành viên) được xây dựng, thu hút đông đảo Ứng dụng Agile để nâng cao hiệu quả trong quản lý dự án phần mềm tại công ty VNG Trang 2 thành viên, số lượng bài viết ngày càng tăng, đã tạo nên một cộng đồng phát triển mạnh cho Agile tại Việt Nam. Đứng trước nhu cầu chuẩn hóa qui trình phát triển phần mềm trong bộ phận phát triển phần mềm tại công ty và nhận ra tính ưu việt của Agile, đề tài “Ứng dụng qui trình phát triển phần mềm linh hoạt để nâng cao hiệu quả trong quản lý dự án phần mềm tại công ty Cổ phần VNG (VNG Corporation)” được đưa ra với mong đợi giải quyết các vấn đề tồn tại ở trên và xa hơn là cải thiện hiệu quả của các dự án phần mềm của công ty trong tương lai. Tên đề tài Ứng dụng qui trình phát triển phần mềm linh hoạt để nâng cao hiệu quả trong quản lý dự án phần mềm tại công ty Cổ phần VNG (VNG Corporation). Mục tiêu Mục tiêu chung của đề tài này là tìm hiểu và ứng dụng Qui trình phát triển phần mềm linh hoạt (Agile) vào các dự án phần mềm tại công ty Cổ phần VNG nhằm cải thiện chất lượng dự án, thời gian thực hiện và chi phí thực hiện.
Chi tiết hơn, mục tiêu của đề tài này bao gồm: (1) Tìm hiểu Qui trình phát triển phần mềm linh hoạt (Agile); (2) Xác định thực trạng quản lý dự án phần mềm tại công ty Cổ phần VNG: những hạn chế về chất lượng, thời gian và chi phí; (3) Qua đó, xây dựng kế hoạch triển khai chi tiết cho qui trình phát triển phần mềm linh hoạt vào các dự án phần mềm tại công ty; (4) Triển khai thử nghiệm và đánh giá. Đối tượng nghiên cứu Các thành viên tham gia vào các dự án phần mềm web (bao gồm thành viên bộ phận và khách hàng) tại bộ phận phát triển phần mềm của công ty Cổ phần VNG (VNG Corporation). Ứng dụng Agile để nâng cao hiệu quả trong quản lý dự án phần mềm tại công ty VNG Trang 3 1. Phạm vi thực hiện Đề tài này được thực hiện với phạm vi trong bộ phận phát triển phần mềm ứng dụng Web tại công ty Cổ phần VNG, chi nhánh Thành phố Hồ Chí Minh.
Phương pháp nghiên cứu Đề tài được thực hiện qua 3 giai đoạn: Giai đoạn tổng hợp lý thuyết và thu thập dữ liệu Thu thập số liệu là một công việc quan trọng trong nghiên cứu khoa học (NCKH). Mục đích của thu thập số liệu (từ các tài liệu NCKH có trước, từ quan sát và thực hiện thí nghiệm) là để làm cơ sơ lý luận khoa học hay luận cứ chứng minh giả thuyết hay tìm ra vấn đề cần nghiên cứu. Tổng hợp lý thuyết về Qui trình phát triển phần mềm linh hoạt (Agile) thông qua các thông tin thứ cấp: bài báo, tạp chí khoa học công nghệ, trang web chính thức của Agile. Tổng hợp những điểm chính về các qui trình phát triển phần mềm khác thông qua các thông tin thứ cấp: bài báo, tạp chí khoa học công nghệ.
Thu thập số liệu thống kê kết quả dự án tại nhóm phát triển phần mềm web của công ty VNG qua phỏng vấn sâu các thành viên quản lý của dự án (project manager, 3-5 người). Thu thập những bài học đúc kết (lesson learnt) từ các dự án đã hoàn thành, thông qua phỏng vấn các thành viên trong nhóm phát triển phần mềm web tại công ty (10-15 người). Số lượng dự án ước lượng tham gia đánh giá: 20 dự án (từ năm 2009 đến năm 2011). Kết thúc giai đoạn này là các thông tin thống kê về mặt lý thuyết cho qui trình dự định ứng dụng (Agile) và đánh giá hiện trạng của đối tượng dự định ứng dụng qui trình (bộ phận phát triển phần mềm tại công ty VNG).
Ứng dụng Agile để nâng cao hiệu quả trong quản lý dự án phần mềm tại công ty VNG Trang 4 Giai đoạn xử lý số liệu và đề xuất giải pháp Đánh giá những thông tin (khó khăn) thu được tại công ty từ giai đoạn trên, tìm giải pháp khắc phục từ qui trình Agile qua những thông tin mô tả về Agile. Phỏng vấn sâu các chuyên gia (3 người) tại công ty để xác định cấu trúc và khuôn mẫu theo Agile cần thay đổi khi áp dụng vào bộ phận phát triển phần mềm. Đánh giá khả năng có thể áp dụng qui trình thông qua phân tích các kết quả phỏng vấn và dữ liệu nội bộ, qua đó, tìm các đặc điểm, yêu cầu cần chuẩn bị trước trong kế hoạch áp dụng qui trình Agile vào bộ phận phát triển phần mềm. Đề xuất giải pháp thông qua các dữ liệu trên.
Kết thúc giai đoạn này là bản đề xuất giải pháp ứng dụng qui trình phát triển phần mềm Agile vào bộ phận phát triển phần mềm tại công ty Cổ phần VNG. Giai đoạn triển khai thử nghiệm giải pháp đề xuất tại công ty Dự án triển khai thử nghiệm là một dự án mới, có qui mô nhỏ (5 developers, thời gian hoàn thành dự kiến là 2 tháng) tại bộ phận phát triển phần mềm ứng dụng web. Lên kế hoạch triển khai và đánh giá hiệu quả của dự án qua các giá trị chất lượng sản phẩm đầu ra, so sánh với mục tiêu đề ra ban đầu. Đánh giá kết quả triển khai thử nghiệm dựa trên các tiêu chí về chất lượng dự án và các tính chất liên quan qua việc so sánh giữa hai nhóm dự án: nhóm dự án có ứng dụng Agile và nhóm dự án không có ứng dụng Agile.
Các dự án trong cả hai nhóm có cùng phạm vi, thời gian thực hiện, thành viên tham gia và mức độ kỹ thuật. Ứng dụng Agile để nâng cao hiệu quả trong quản lý dự án phần mềm tại công ty VNG Trang 5 1. Ý nghĩa đề tài Trong bối cảnh qui trình phát triển phần mềm tại bộ phận phát triển phần mềm ứng dụng web của công ty Cổ phần VNG chưa có sự chuẩn hóa, kết hợp với vấn đề về kỹ thuật và con người, bộ phận đang phải đối mặt với nhiều khó khăn và thử thách trong việc quản lý các dự án với nhu cầu phát triển nhanh và thường phải đáp ứng nhiều thay đổi. Song song đó, mô hình thác nước được ứng dụng tại bộ phận đã không còn phù hợp với định hướng và tính chất của các dự án hiện tại, gián tiếp gây nên nhiều vấn đề về chất lượng của sản phẩm của dự án.
Đề tài “Ứng dụng qui trình phát triển phần mềm linh hoạt để nâng cao hiệu quả trong quản lý dự án phần mềm tại công ty Cổ phần VNG (VNG Corporation)” được thực hiện với mong muốn giải quyết những vấn đề mà bộ phận đang gặp phải, nâng cao hiệu quả hoạt động của bộ phận, kích thích tăng hiệu suất làm việc của các thành viên, qua đó tạo ra các dự án với chi phí thấp và chất lượng cao, thỏa mãn nhu cầu ở mức độ cao từ phía khách hàng. Ngoài ra, ứng dụng Agile cũng giúp chuẩn hóa qui trình của bộ phận, có ý nghĩa rất lớn trong công tác vận hành và phát triển của bộ phận trong tương lai. Ứng dụng Agile để nâng cao hiệu quả trong quản lý dự án phần mềm tại công ty VNG Trang 6 1. Các bước thực hiện Tổng hợp lý thuyết các qui trình phát triền phần mềm Tìm hiểu quy trình phát triển phần mềm hiện tại tại bộ phận phát triển phần mềm ứng dụng web của công ty Cổ phần VNG (VNG Corporation) Nhận diện những hạn chế mà bộ phận gặp phải Tìm hiểu quy trình triển khai Agile tại doanh nghiệp Đánh giá khả năng triển khai Agile vào bộ phận phát triển phần mềm ứng dụng web tại công ty Kế hoạch triển khai chi tiết So sánh ưu và nhược điểm Đánh giá kết quả qua các yếu tố của dự án khi đạt được có Agile và không Kết luận, kiến nghị, hướng phát triển và hạn chế của đề tài Hình 1.
Các bước thực hiện đề tài Ứng dụng Agile để nâng cao hiệu quả trong quản lý dự án phần mềm tại công ty VNG Trang 7 1. Bố cục đề tài Nội dung báo cáo được trình bày theo hướng tiếp cận từ trên xuống, giúp người đọc dễ nhận biết trình tự của báo cáo cũng như có thể tra cứu dễ dàng vị trí các phần bên trong. Cũng như các đề tài nghiên cứu khác, đề tài này cũng bao gồm các phần dẫn nhập giúp cho đọc giả có cái nhìn ban đầu về sự tồn tại của đề tài.