luận văn: nghiên cứu hướng áp dụng mô hình CMMI ở các doanh nghiệp phần mềm vừa và nhỏ luận văn: nghiên cứu hướng áp dụng mô hình CMMI ở các doanh nghiệp phần mềm vừa và nhỏ luận văn: nghiên cứu hướng áp dụng mô hình CMMI ở các doanh nghiệp phần mềm vừa và nhỏ luận văn: nghiên cứu hướng áp dụng mô hình CMMI ở các doanh nghiệp phần mềm vừa và nhỏ
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ _____________ ______________ HÀ MẠNH TUYẾN NGHIÊN CỨU HƯỚNG ÁP DỤNG MÔ HÌNH CMMI Ở CÁC DOANH NGHIỆP PHẦN MỀM VỪA VÀ NHỎ Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật phần mềm Mã số: 60480103 LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN NGỌC BÌNH Hà Nội – 2014 i LỜI CẢM ƠN Để hoàn thành được luận văn này tôi đã nhận được sự giúp đỡ tận tình của các thầy cô giáo trong trường Đại học Công nghệ - Đại họcQuốc gia Hà Nội, các chuyên gia, các bạn bè đồng nghiệp và gia đình. Tôi xin gửi lờicảm ơn tới thầy giáo PGS.TS Nguyễn Ngọc Bình, ngườiđã tận tình hướng dẫn, truyền đạt cho tôi kiến thức và kinh nghiệm thực tiễn quý báu để tôi hoàn thành luận văn này. Xin chân thành cảm ơn sự giúp đỡ, động viên và chỉ bảo rất nhiệt tình của ôngPhan Thế Đại (Trung tâm CNTT, chi nhánh Tập đoàn Điện lực Việt Nam), ông Ngô Văn Toàn (Phó Tổng Giám đốc công ty Global Cybersoft Việt Nam), bà Hoàng A Na (Công ty Cổ phần Giải pháp Phần mềm Tài chính - FSS), ông Nguyễn Thành Châu (Chuyên gia tư vấn và đào tạo cấp tập đoàn ECCI Group)và sự cổ vũ động viên của bạn bè, đồng nghiệp và người thân trong gia đình trong suốt thời gian thực hiện luận văn. Dù đã cố gắng trong việc nghiên cứu và hoàn thiện luận văn, song luận văn không tránh khỏi những thiếu sót. Tôi rất mong nhận được ý kiến góp ý từ quý thầy cô và các bạn. ii LỜI CAM ĐOAN Tôi cam đoan việc nghiên cứuhướng áp dụng mô hình CMMI ở các doanh nghiệp vừa và nhỏ được trình bày trong luận văn là do chính tôi thực hiện dưới sự hướng dẫn của PGS.TS Nguyễn Ngọc Bình. Các kết quả nêu trong luận văn là trung thực, các đề xuất trong luận văn là do chính tôi thực hiện qua nghiên cứu thực nghiệm đưa ra và không sao chép tài liệu, công trình nghiên cứu của người khác mà không chỉ rõ tài liệu tham khảo. Hà Nội, ngày … tháng 12 năm 2014 Tác giả Hà Mạnh Tuyến iii MỤC LỤC LỜI CẢM ƠN i LỜI CAM ĐOAN ii MỤC LỤC iii DANH MỤC CÁC BẢNG v DANH MỤC HÌNH VẼ, ĐỒ THỊ vi DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT vii MỞ ĐẦU 1 CHƯƠNG 1 GIỚI THIỆU TỔNG QUAN 3 1.1. Tổng quan về cải tiến quy trình phần mềm 3 1.1.1. Quy trình phát triển phần mềm 3 1.1.2. Cải tiến quy trình phần mềm 3 1.2. Doanh nghiệp có quy mô vừa và nhỏ 3 1.3. Vấn đề cải tiến quy trình phần mềm tại các doanh nghiệp vừa và nhỏ 4 1.4. Một số chu trình phát triển phần mềm cơ bản 4 1.5. Giới thiệu tổng quan về CMM/CMMI 7 1.5.1. Mô hình trưởng thành năng lực 7 1.5.2. Mô hình trưởng thành năng lực tích hợp 8 1.5.3. Hướng tiếp cận liên tục và mức năng lực quy trình 14 1.5.4. Hướng tiếp cận theo tầng và mức trưởng thành 16 1.5.5. Mối quan hệ giữa mức năng lực và mức trưởng thành 19 1.6. So sánh mô hình CMMI với ISO 9001 20 1.7. Phương pháp đánh giá SCAMPI 20 1.8. Tình hình áp dụng CMMI tại Việt Nam và nước ngoài 21 1.9. Một số mô hình cải tiến quy trình được đề xuất áp dụng đối với doanh nghiệp vừa và nhỏ trên thế giới 23 CHƯƠNG 2 KINH NGHIỆM ÁP DỤNG CMM/CMMI TẠI VIỆT NAM VÀ NƯỚC NGOÀI 26 2.1. Kinh nghiệm áp dụng tại một số công ty tại Việt Nam 26 2.1.1. Kinh nghiệm áp dụng tại FPT SOFTWARE (FSOFT) 26 2.1.2. Kinh nghiệm áp dụng tại công ty PSV 27 2.1.3. Kinh nghiệm cải tiến quy trình tại CMC SOFT 29 2.2. Kinh nghiệm áp dụng tại một số công ty nước ngoài 31 2.2.1. Kinh nghiệm áp dụng CMMI tại công ty công nghệ KoreaStore 31 2.2.2. Kinh nghiệm áp dụng CMMI tại RTI 33 CHƯƠNG 3 ĐỀ XUẤT HƯỚNG ÁP DỤNG MÔ HÌNH CMMI CHO DOANH NGHIỆP TẠI VIỆT NAM 34 3.1. Xác định vùng quy trình "Cốt lõi" 34 3.2. Xây dựng mô hình áp dụng 38 3.2.1. Khởi động 40 iv 3.2.2. Lập kế hoạch 41 3.2.3. Định nghĩa quy trình 41 3.2.4. Triển khai 42 CHƯƠNG 4 TRIỂN KHAI ÁP DỤNG VÀ ĐÁNH GIÁ 44 4.1. Khởi động 44 4.2. Lập kế hoạch 45 4.3. Định nghĩa quy trình 45 4.4. Triển khai 51 4.5. Đánh giá kết quả triển khai CMMI tại EVNIT 51 KẾT LUẬN 53 TÀI LIỆU THAM KHẢO 54 PHỤ LỤC 1. MỘT SỐ LỢI ÍCH ĐẠT ĐƯỢC KHI ÁP DỤNG CMMI 57 TẠI EVNIT 57 PHỤ LỤC 2. MỘT SỐ CÔNG CỤ HỖ TRỢ CHO PHÁT TRIỂN PHẦN MỀM 59 PHỤ LỤC 3. ĐÁNH GIÁ NĂNG LỰC QUY TRÌNH CỦA EVNIT THEO CMMI CẤP ĐỘ 2 60 PHỤ LỤC 4. MỘT SỐ CÂU HỎI THẢO LUẬN 62 v DANH MỤC CÁC BẢNG Bảng 1.1: Các cấp độ của mô hình CMM 8 Bảng 1.2: Mối liên quan giữa các vùng quy trình trong CMMI 11 Bảng 1.3: Các mục tiêu chung trong mô hình CMMI [27] 12 Bảng 1.4: Các mục tiêu cụ thể và quy tắc thực tiễn cụ thể của vùng quy trình lập kế hoạch dự án [27] 13 Bảng 1.5: Bảng phân loại vùng quy trình theo hướng tiếp cận liên tục 15 Bảng 1.6: Danh sách các vùng quy trình theo cấp độ trưởng thành [27] 18 Bảng 1.7: So sánh giữa các cấp độ đánh giá của SCAMPI [6] 21 Bảng 2.1: Các công cụ được sử dụng CMMI tại KoreStone 31 Bảng 3.1: So sánh các mô hình cải tiến quy trình phát triển phần mềm được đề xuất cho doanh nghiệp vừa và nhỏ trên thế giới 34 Bảng 3.2: Tần suất xuất hiện của các vùng quy trình của CMMI trong các mô hình cải tiến quy trình được đề xuất áp dụng trên thế giới 35 Bảng 3.3: Số lần xuất hiện của các vùng quy trình của CMMI trong các mô hình cải tiến quy trình được đề xuất áp dụng trên thế giới, phân theo nhóm 36 Bảng 3.4: Các vùng quy trình được sử dụng trong mô hình CMM-VSME 38 Bảng 3.5: Phân bổ các vùng quy trình theo nhóm 39 vi DANH MỤC HÌNH VẼ, ĐỒ THỊ Hình 1.1: Mô hình thác nước 5 Hình 1.2: Mô hình V 5 Hình 1.3: Mô hình bản mẫu [19] 6 Hình 1.4: Mô hình xoắn ốc 7 Hình 1.5: Các thành phần trong mô hình CMMI [25] 11 Hình 1.6: Hướng tiếp cận CMMI theo liên tục [25] 14 Hình 1.7: Hướng tiếp cận CMMI theo phân tầng [25] 16 Hình 1.8: Các cấp độ trưởng thành trong CMMI 17 Hình 1.9: Biểu đồ so sánh số lượng chứng chỉ CMMI của các quốc gia trong khu vực Đông Nam Á còn hiệu lực đến 10/2014 22 Hình 1.10: Biểu đồ thống kê số lượng chứng chỉ CMMI tại Việt Nam từ năm 2007 – 2013 22 Hình 1.11: Biểu đồ thống kê số lượng chứng chỉ CMMI trên thế giới từ năm 2007 – 2013 23 Hình 1.12: Biểu đồ thống kê 10 quốc gia có số chứng chỉ CMMI cao nhất 23 Hình 2.1: Khung quy trình phát triển phần mềm của CMC 30 Hình 2.2: Mô hình triển khai CMMI tại KoreStone 32 Hình 3.1: Mối liên quan giữa bốn vùng quy trình "cốt lõi" với các vùng quy trình khác của mô hình CMMI 37 Hình 3.2: Kiến trúc tổng quan của mô hình CMMI-VSME 39 Hình 3.3: Các bước thực hiện triển khai áp dụng mô hình CMMI-VSME 40 Hình 3.4: Mô hình tổ chức các bộ phận 40 Hình 3.5: Ví dụ về kế hoạch tổng thể 41 Hình 4.1: Mô hình tổ chức đề xuất cho EVNIT 44 Hình 4.2: Sơ đồ quy trình lập kế hoạch và quản lý dự án 46 Hình 4.3: Sơ đồ trạng thái yêu cầu 46 Hình 4.4: Quy trình đào tạo 47 Hình 4.5: Sơ đồ quy trình phân tích và thiết kế 48 Hình 4.6: Sơ đồ quy trình kiểm thử 49 Hình 4.7: Sơ đồ quy trình quản lý cấu hình 50 vii DANH MỤC CÁC KÝ HIỆU VÀ CHỮVIẾT TẮT Từ viết tắt/ Thuật ngữ Giải nghĩa CMM (Capability Maturity Model) Mô hình trưởng thành năng lực CMMI (Capability Maturity Model Integration) Mô hình trưởng thành năng lực tích hợp CMMI-VSME (CMMI for Vietnamese Small Medium Enterprise) Mô hình áp dụng CMMI cho doanh nghiệp vừa và nhỏ do tác giả đề xuất GG (Generic Goal) Mục tiêu chung (Mục tiêu tổng quát) GP (Generic Practice) Quy tắc thực tiễn chung ISO (International Organization for Standardization) Tổ chức tiêu chuẩn quốc tế, ISO PA (Process Area) Vùng quy trình (Vùng tiến trình) Process Quy trình (Tiến trình) QA (Quality Assurance) Đảm bảo chất lượng QC (Quality Control) Kiểm soát chất lượng SCAMPI (Standard CMMI Appraisal Method for Process Improvement) Phương pháp đánh giá năng lực quy trình của tổ chức theo mô hình CMMI SEI (Software Engineering Institute) Viện Công nghệ Phần mềm Mỹ SEPG (Software Engineering Process Group) Nhóm xây dựng, cải tiến quy trình phần mềm SG (Specific Goal) Mục tiêu cụ thể (Mục tiêu chuyên biệt) SP (Specific Practice) Quy tắc thực tiễn cụ thể (Quy tắc thực tiễn chuyên biệt) 1 MỞ ĐẦU Trong những năm gần đây, ngành công nghiệp phần mềm Việt Nam đã có sự tăng trưởng mạnh về số lượng và quy mô của nhiều doanh nghiệp phần mềm.Theo số liệu thống kê năm 2011, cả nước có 1.500 doanh nghiệp phần mềm với số lượng nhân lực khoảng gần 79.000 người lao động. Tuy nhiên đa số các doanh nghiệp phần mềm tại Việt Nam là các công ty vừa và nhỏ[20],theo Hiệp hội Doanh nghiệp Vừa và Nhỏ Việt Nam (VINASME), có đến 96% doanh nghiệp đăng ký ở Việt Nam là doanh nghiệp vừa và nhỏ. Các doanh nghiệp vừa và nhỏ với năng lực cạnh tranh còn hạn chế, hệ thống quy trình sản xuất và quản lý chất lượng chưa được quan tâm đúng mức, thiếu năng lực cạnh tranh[3].Ngành công nghiệp phần mềm Việt Nam vẫn còn nhiều thách thức nội tại như quy mô còn nhỏ, khan hiếm nguồn nhân lực, chất lượng sản phẩm không cao và năng lực tiếp thị còn kém. Nhận thấy điểm yếu của mình, một số doanh nghiệp đã bắt đầu quan tâm tới chất lượng và cải tiến hệ thống quy trình phát triển phần mềm, các doanh nghiệp đã tự trang bị cho mình các chứng chỉ quốc tế như ISO 9001[15]hay CMMI[25]. Một trong những mô hình được sử dụng phổ biến hiện nay phải kể đến là mô hình CMMI. Trên thế giới, mô hình CMMI được áp dụng khá phổ biến ở các doanh nghiệp sản xuất phần mềm, áp dụng CMMI thành cônggiúp tạo ra môi trường làm việc chuyên nghiệp, cải tiến quy trình sản xuất, nâng cao hiệu quả công việc, hạn chế lỗi xảy ra, giảm thời gian xử lý lỗi [18],[21], tăng chất lượng sản phẩm vàtối ưu hoá chi phí. Theo số liệu thống kê trên trang Web của viện SEI, một số quốc gia dẫn đầu về số lượng chứng chỉ CMMI như Trung Quốc, Mỹ, Ấn độ, Tây Ban Nha, Nhật Bản, Ở Việt Nam,trong mấy năm qua, nhiều doanh nghiệp phần mềm đang nỗ lực nâng cao quy trình đảm bảo chất lượng và trình độ công nghệ sản xuất. Tuy nhiên, việc áp dụng các tiêu chuẩn quản lý chất lượng vẫn còn rất hạn chế. Chủ yếu là các doanh nghiệp lớncó tiềm lực tài chính, hoặc doanh nghiệp có vốn đầu tư nước ngoài mới quan tâm đúng mức đến việc đầu tư, xây dựng và triển khai các tiêu chuẩn quản lý chất lượng quốc tế[3]. Một số doanh nghiệp đi đầu trong việc triển khai áp dụng CMM/CMMI phải kể đến là: PSV, FPT, GCS Vietnam, Viettel, TMA, CMC Software, Cácdoanh nghiệp phần mềmcó quy mô vừa và nhỏ, nguồnnhân lực và tài chính hạn chếthường gặp khó khăn khi tự triển khai áp dụng mô hình CMM/CMMI mà không được sự hỗ trợ từ tổ chức tư vấn [3],[13]. Một câu hỏi đặt ra: "Hướng áp dụng nào phù hợp cho các doanh nghiệp vừa và nhỏ ở Việt nam trong quá trình triển khai áp dụng mô hình CMMI". Đề tài này nghiên cứu tìm hiểu về mô hình CMMI đểđưa rahướng áp dụng triển khai mô hình CMMI- DEV v1.3 cho doanh nghiệp phần mềm có quy mô vừa và nhỏ, và áp dụng thí điểm đối với đơn vị hoạt động trong lĩnh vực phát triển phần mềmlàTrung tâm Công nghệ thông tin – Chi nhánh Tập đoàn điện lực Việt nam. Để giải quyết bài toán này, tác giả tiến hànhnghiên cứu một số mô hình được đề 2 xuất áp dụng cho doanh nghiệp vừa và nhỏ trên thế giới, bên cạnh đó kết hợp thông qua các bài học kinh nghiệm triển khai của các doanh nghiệp ở Việt Nam đã áp dụng thành công CMMI, tìm hiểu các khó khăn vướng mắc của các doanh nghiệp vừa và nhỏ ở Việt Nam khi muốn cải tiến quy trình sản xuất. Từ đóđề xuất ra một hướng tiếp cận cho việc cải tiến quy trình phát triển theo mô hình CMMI cho các doanh nghiệp vừa và nhỏ tại Việt Nam. Bố cục luận văn gồm các phần chính sau đây: Chương 1: Giới thiệu một số khái niệm tổng quan về quy trình và cải tiến quy trình phát triển phần mềm, các vấn đề gặp phải đối với doanh nghiệp vừa và nhỏ trong cải tiến quy trình phát triển. Giới thiệu tổng quan về mô hình CMM/CMMI và tình hình áp dụngtại một số đơn vị trong và ngoài nước. Chương 2:Giới thiệu bài học kinh nghiệm triển khai áp dụng mô hình CMMI của một số doanh nghiệp phần mềm tại Việt Nam và nước ngoài. Chương 3: Đề xuất hướng áp dụng mô hình CMMI cho doanh nghiệp phần mềm có quy mô vừa và nhỏ tại Việt Nam. Chương 4: Triển khai áp dụng thử nghiệm theo hướng đề xuất cho Trung tâm Công nghệ thông tin và đánh giá kết quả. Kết luận: Tóm tắt các kết quả đã đạt được, chưa đạt được và định hướng nghiên cứu tiếp theo. [...]... của mô hình CMM[26], CMMI được tích hợp từ nhiều mô hình khác nhau, xuất phát từ ba mô hình nguồn[8],[25]: (1) Mô hình SW-CMM draft C, đại diện cho hướng phần mềm; (2) Mô hình SECM, đại diện cho hướng công nghệ hệ thống; (3) Mô hình IPD-CMM v0.98, đại diện cho hướng phát triển tích hợp tiến trình và sản phẩm CMMI phù hợp cho cảnhững doanh nghiệp sản xuất phần cứng và tích hợp hệ 9 thống,chứkhôngchỉápdụngchodoanhnghiệpphầnmềmnhưCMM... CMM/CMMIkhông bảo đảm rằng các sản phẩm phần mềm luôn luôn được xây dựng thành công, cũng không bảo đảm rằng các vấn đề phát sinh trong lĩnh vực công nghệ phần mềm sẽ luôn được giải quyết thoả đáng .Mô hình CMM /CMMI phù hợp với các dự án lớn, áp dụng đối với các dự án nhỏ thường gặp rủi ro cao hơn Mô hình CMM /CMMI có lượng thông tin lớn gây khó khăn cho doanh nghiệp vừa và nhỏ khi áp dụng[ 9] 1.5.3 Hướng. .. thu thập yêu cầu khách hàng; Mô hình xoắn ốc (Spiral Model) [6] :Mô hình xoắc ốc bao gồm các tính chất của mô hình thác nước và mô hình nguyên mẫu Mô hình xoắn ốc hữu ích đối với các phần mềm được phát hành thành nhiều phiên bản.Trong mỗi lần lặp lại của mô hình xoắn ốc tương đương một mô hình thác nước Vào cuối phiên bản đầu tiên khách hàng đánh giá phần mềm và cung cấp các thông tin phản hồi Dựa trên... hay vòng đời phát triển phần mềm( SLC - Software Life Cycle) Có nhiều chu trình phát triển phần mềm khác nhau, trong đó cómột số chu trình phát triển phần mềm cơ bản như Mô hình thác nước, Mô hình V, Mô hình bản mẫu, Mô hình xoắn ốc, v.v Các mô hình này được giới thiệu chi tiết hơn tại mục 1.4 Khi một tổ chức sản xuất phần mềm đạt mức độ trưởng thành cao, quy trình phát triển phần mềm của họ được định... vềCMM /CMMI 1.5.1 Mô hình trưởng thành năng lực Mô hình trưởng thành năng lực (Capacity Maturity Model, viết tắt là CMM)[26] được phát triển bởiViện công nghệ phần mềm (Software Engineering Institute, viết tắt là SEI) thuộc trường Đại học Carnegie Mellon (Mỹ),là mô hình đánh giá sự trưởng thành năng lực sản xuất phần mềm, mô hình quản lý chất lượng cho các tổ chức sản xuất phần mềm CMM là một bộ các hướng. .. liên quan đến phần mềm như CMM /CMMI ISO không cung cấp các kinh nghiệm thực tiễn và ví dụ cụ thể như CMM /CMMI, chính vì vậy các doanh nghiệp phần mềm đang dần chuyển sang áp dụng mô hình CMM /CMMI thay vì ISO như trước đây [17] 1.7 Phương pháp đánh giá SCAMPI SCAMPI (Standard CMMI Appraisal Method for Process Improvement)[25]là phươngphápđánh giá quá trình cải tiếnchấtlượng theo mô hìnhCMMI.SCAMPI có... tỷ đồng là doanh nghiệp vừa 1.3 Vấn đề cải tiến quy trình phần mềm tại các doanh nghiệp vừa và nhỏ Theo một số nghiên cứu cho thấy việc cải tiến quy trình phát triển theo mô hình CMMI trong doanh nghiệp thường gặp phải một số vấn đề như thiếu kinh phí, thiếu nguồn lực, thiếu sự quyết tâm của lãnh đạo [5],[12],[13],[17] Bên cạnh đó, các doanh nghiệp cũng thiếu kinh nghiệm và các kỹ năng cần thiết để... chọn áp dụng mô hình CMMI dạng phân tầng Các thành phần của mô hình CMMI ượcnhóm thành ba loại bao gồm[25]: Thành phần bắt buộc,Thành phần cần thiết vàThành phần thông tin Thành phần bắt buộc (Required Components):Đây là thành phần cần thiết để đạt được mục tiêu cải tiến của vùng quy trình cần áp dụng, các nội dung này cần phải được nêu ra và thực hiện trong quy trình phát triển của tổ chức.Thành phần. .. đối với mô hình CMMI- DEV v1.3 dành cho chuyên viên phát triển Mô hình CMMI có haihướng tiếp cận áp dụng, hướng tiếp cận theo tầng (Staged Representation) và tiếp cận theo hướng liên tục (Continuous Representation)[25] Tổ chức lựa chọn thực hiện theo mứcnăng lực của quy trình phần mềm tương ứng với việc chọn áp dụng mô hình CMMI dạng trình bày liên tục, còn nếu quyết định thực hiện theo mức độ trưởng thành... không thấy được hiệu quả rõ ràng mà CMMI mang lại cho doanh nghiệp mình [12] Những vấn đề thường gặp phải ở các doanh nghiệp vừa và nhỏ khi cải tiến quy trình phát triển phần mềm[ 5]: Nguồn lực bị giới hạn: Việc thực hiện đúng theo các yêu cầu kỹ thuật về công nghệ nghệ phần mềm là nhiệm vụ khó khăn đối với các tổ chức, doanh nghiệp có nguồn lực và thời gian hạn chế Các vấn đề văn hóa, nhận thức: Việc . triển khai áp dụng mô hình CMMI của một số doanh nghiệp phần mềm tại Việt Nam và nước ngoài. Chương 3: Đề xuất hướng áp dụng mô hình CMMI cho doanh nghiệp phần mềm có quy mô vừa và nhỏ tại Việt. " ;Hướng áp dụng nào phù hợp cho các doanh nghiệp vừa và nhỏ ở Việt nam trong quá trình triển khai áp dụng mô hình CMMI& quot;. Đề tài này nghiên cứu tìm hiểu về mô hình CMMI đểđưa rahướng áp dụng. số các doanh nghiệp phần mềm tại Việt Nam là các công ty vừa và nhỏ[ 20],theo Hiệp hội Doanh nghiệp Vừa và Nhỏ Việt Nam (VINASME), có đến 96% doanh nghiệp đăng ký ở Việt Nam là doanh nghiệp vừa