Output file 1 Chuyên ngành Công Nghệ Thông Tin Mã số 01 01 10 Hà Nội 2006 Hà Nội, 12/2005 ĐẠI HỌC QUỐC GIA HÀ NỘI ĐẠI HỌC CÔNG NGHỆ Đỗ Việt Hùng QUẢN LÝ QUY TRÌNH PHẦN MỀM THEO MÔ HÌNH CMM – THỰC[.]
ĐẠI HỌC QUỐC GIA HÀ NỘI ĐẠI HỌC CÔNG NGHỆ Đỗ Việt Hùng QUẢN LÝ QUY TRÌNH PHẦN MỀM THEO MƠ HÌNH CMM – THỰC TIỄN VÀ ỨNG DỤNG Ở VIỆT NAM Chuyên ngành: Công Nghệ Thông Tin Mã số: 01.01.10 Luận văn Thạc sỹ Người hướng dẫn: PGS Nguyễn Quốc Toản Hà Nội - 2006 Hà Nội, 12/2005 MỤC LỤC MỤC LỤC DANH MỤC HÌNH VẼ LỜI MỞ ĐẦU CHƢƠNG I TỔNG QUAN CÁC MƠ HÌNH PHÁT TRIỂN PHẦN MỀM Khái niệm quy trình SEP, ISO, CMM/CMMI 11 Các mơ hình SEP 12 3.1 Mơ hình Thác nƣớc (Waterfall) 13 3.2 Mơ hình chữ V 14 3.3 Mơ hình mẫu 15 3.4 Mơ hình tiến hóa 15 3.5 Mơ hình lặp tăng dần 16 3.6 Mơ hình phát triển nhanh 17 3.7 Mơ hình xoắn 17 CHƢƠNG 19 CMM VÀ KHÓ KHĂN TRONG PHÁT TRIỂN PHẦN MỀM 19 Lịch Sử Mơ Hình CMM [1] 19 Tổng quan mô hình CMM 20 2.1 Định nghĩa CMM 24 2.2 Ích lợi cải tiến theo mơ hình CMM 25 2.4 Năm mức độ trƣởng thành mơ hình CMM 26 2.5 Các lĩnh vực quy trình chốt (KPA) mơ hình CMM 29 2.6 Khả áp dụng CMM 30 Những Khó Khăn Thƣờng Gặp Trong Phát Triển Phần Mềm [4] 31 3.1 Khó khăn mức Khởi Đầu 32 3.2 Khó khăn mức Lặp Lại 34 3.3 Khó khăn mức Xác Định 36 3.4 Khó khăn mức Quản Lý 37 3.5 Khó khăn mức Tối Ƣu Hóa 39 CHƢƠNG 42 NĂM MỨC ĐỘ TĂNG TRƢỞNG CỦA CMM 42 MỨC 1: KHỞI ĐẦU 42 1.1 Hiểu mức tăng trƣởng khởi đầu 1: 42 1.2 Thuộc tính tổ chức mức 43 MỨC 2: LẶP LẠI ĐƢỢC 43 2.1 Hiểu mức tăng trƣởng lặp lại 44 2.2 Các KPA cho mức lặp lại 45 MỨC 3: ĐƢỢC XÁC ĐỊNH 56 3.1 Hiểu mức độ tăng trƣởng đƣợc xác định 57 MỨC 4: ĐƢỢC QUẢN LÝ 68 4.1 Hiểu mức tăng trƣởng đƣợc quản lí 69 4.2 KPA cho mức đƣợc quản lí 69 MỨC 5: TỐI ƢU 72 5.1 Hiểu Mức Tăng Trƣởng Tối Ƣu 73 5.2 KPA cho mức tối ƣu 74 CHƢƠNG 80 THỰC TIỄN VÀ ỨNG DỤNG Ở VIỆT NAM 80 Hiện trạng ứng dụng CMM Việt Nam 80 1.1 Các số liệu thống kê 80 1.2 Kinh nghiệm số công ty đạt CMM 80 Một số giải pháp với CMM 86 2.1 Giải pháp kiểm định chất lƣợng thực chất mức độ CMM5 86 2.2 Giải pháp ứng dụng CMM hiệu 91 KẾT LUẬN 94 TÀI LIỆU THAM KHẢO 96 DANH MỤC HÌNH VẼ Hình 1 Quy trình phát triển phần mềm Hình : Mơ hình Waterfall 10 Hình : V-model 13 Hình : Mơ hình Prototype 14 Hình 5: Mơ hình tiến hóa 16 Hình 6: Mơ hình phát triển 17 Hình : Tỷ lệ dự án thành công 21 Hình 2 : Cấu trúc CMM 25 Hình : Cải thiện hiệu loại bỏ lỗi………………………………………… 26 Hình 2.4 : Phân loại 18 KPA CMM theo mức tăng trƣởng………………… 29 Hình 2.5 : Cấu trúc KPAs…………………………………………………….30 Hình : Mức khởi đầu 42 Hình : Mơ tả mức khởi đầu 43 Hình 3 : Mức lặp lại đƣợc 44 Hình : Mơ tả mức lặp lại đƣợc 45 Hình : Mức đƣợc xác định 57 Hình : Mơ tả mức đƣợc xác định 58 Hình : Vịng đời dự án CMM 84 LỜI MỞ ĐẦU Từ năm 70 kỷ 20 đến nay, trải qua thập kỷ nghiên cứu phát triển phần mềm giới Việt Nam, suất chất lƣợng hoạt động sản xuất phần mềm vấn đề quan tâm hàng đầu nhà nghiên cứu, nhà sản xuất phần mềm ngƣời sử dụng sản phẩm phần mềm Đã có nhiều phƣơng pháp luận công nghệ sản xuất phần mềm đƣợc áp dụng nhƣng không đáp ứng đƣợc nhu cầu công nghiệp phần mềm: Cơ sở để có đƣợc sản phẩm phần mềm chất lượng cao suất sản xuất ổn định Nền công nghiệp phần mềm tổ chức phần mềm nhận vấn đề nằm khả quản lý qui trình phần mềm Mơ hình khả trƣởng thành cho phần mềm (Capability Maturity Model for Software– SWCMM) Viện Công Nghệ Phần Mềm SEI (Software Engineering Institute – SEI) đƣa vào đầu năm 1990 đƣợc thừa nhận hiệu đƣợc áp dụng rộng rãi hoạt động quản lý qui trình phần mềm giới Tuy nhiên việc áp dụng Việt Nam cịn yếu tố sau: - Tính chất quy mơ sản xuất phần mềm cơng ty cịn nhỏ lẻ - Khả quản lý nói chung quản lý qui trình phần mềm nói riêng Việt Nam yếu - Kinh nghiệm hiểu biết áp dụng SW-CMM vào thực tế hạn chế Nhằm góp phần đẩy mạnh việc áp dụng SW-CMM vào thực tế, luận văn có mục đích trình bày tổng quan mơ hình phát triển phần mềm nói chung; khó khăn thƣờng gặp hoạt động sản xuất phần mềm; năm mức phát triển khả thực hành then chốt (Key Practices) SW-CMM nhằm giải khó khăn đồng thời đƣa số đánh giá, kinh nghiệm áp dụng CMM thực tiễn số công ty phần mềm Việt Nam Nội dung luận văn bao gồm: Chương 1: Tổng quan mơ hình phát triển phần mềm Chƣơng luận văn giới thiệu tổng quan mơ hình phát triển phần mềm đƣợc áp dụng giới Từ có nhìn tổng thể đăc thù tính chất mơ hình CMM nghiên cứu Cụ thể hơn, chƣơng giới thiệu vòng đời phần mềm quen thuộc nhƣ: Mơ hình Waterfall (Waterfall model) Mơ hình chữ V (V-model) Các mơ hình nhiều phiên (Multi-version models) Mơ hình mẫu (Prototype) Mơ hình tiến hóa (Evolutionary) Mơ hình lặp tăng dần (Iterative and Incremental) Mơ hình phát triển ứng dụng nhanh (RAD) Mơ hình xoắn (Spiral) Chương 2: Giới thiệu CMM khó khăn việc phát triển phần mềm Từ chƣơng giới thiệu tổng thể mơ hình phát triển phần mềm, chƣơng hai sâu mơ hình CMM Trình bày lịch sử mơ hình trƣởng thành khả CMM, qui trình phần mềm SW-CMM gì.Về năm mức khó khăn thƣờng gặp hoạt động sản xuất phần mềm mà tƣơng ứng với chúng năm mức phát triển qui trình phần mềm tổ chức phần mềm theo SW-CMM Năm mức trƣởng thành khả theo mơ hình SW-CMM bao gồm đặc tính, ý nghĩa bậc trƣởng thành Giới thiệu cấu trúc bậc trƣởng thành: lĩnh vực qui trình then chốt, đặc điểm chung, thực hành then chốt Chương 3: Tính chất quy trình chủ chốt mức tăng trưởng mơ hình CMM Chƣơng trình bày chi tiết đặc điểm, tính chất 18 quy trình then chốt (xƣơng sống mơ hình CMM) tƣơng ứng mức độ tăng trƣởng hành động cần thiết để tuân thủ, tổ chức chuyển lên mức trƣởng thành cao Chương 4: Thực tiễn ứng dụng CMM Việt Nam Chƣơng trình bày thực trạng ứng dụng SW-CMM vào thực tế Việt Nam Một số kinh nghiệm đánh giá giải pháp để áp dụng CMM cách hiệu Kết luận Tổng hợp kết nghiên cứu luận văn, hạn chế chƣa hồn thiện đồng thời đề xuất số hƣớng phát triển Cuối cùng, em xin cảm ơn hƣớng dẫn tận tình Phó giáo sƣ Nguyễn Quốc Toản – Đại học Công nghệ - Đại học Quốc gia Hà nội trình thực luận văn Em xin chân thành cảm ơn thầy cô giảng dạy Đại học Công nghệ- Đại học Quốc gia Hà Nội tạo điều kiện giúp đỡ em suốt trình học tập Xin gửi lời biết ơn giúp đỡ, động viên nhiệt tình gia đình bạn bè trình học tập làm luận văn Hà Nội, ngày 28 tháng 12 năm 2005 Học viên Đỗ Việt Hùng Quản lý quy trình phần mềm theo mơ hình CMM- Thực tiễn ứng dụng Việt Nam CHƯƠNG I TỔNG QUAN CÁC MÔ HÌNH PHÁT TRIỂN PHẦN MỀM Cũng nhƣ ngành sản xuất khác, qui trình yếu tố quan trọng đem lại thành công cho nhà sản xuất phần mềm, giúp cho thành viên dự án từ ngƣời cũ đến ngƣời mới, hay ngồi cơng ty xử lý đồng cơng việc tƣơng ứng vị trí thơng qua cách thức chung cơng ty, hay cấp độ dự án Có thể nói qui trình phát triển/xây dựng phần mềm (Software Development/Engineering Process - SEP) có tính chất định để tạo sản phẩm chất luợng tốt với chi phí thấp suất cao, điều có ý nghĩa quan trọng công ty sản xuất hay gia công phần mềm củng cố phát triển với công nghiệp phần mềm đầy cạnh tranh Trong chƣơng giới thiệu cách tổng qt mơ hình áp dụng xây dựng qui trình phát triển phần mềm chung cho cấp tổ chức hay cấp dự án [11] Khái niệm quy trình Qui trình hiểu phƣơng pháp thực sản xuất sản phẩm Tƣơng tự nhƣ vậy, SEP phƣơng pháp phát triển hay sản xuất sản phẩm phần mềm Thơng thƣờng qui trình bao gồm yếu tố sau: Hình 1 Quy trình phát triển phần mềm Thủ tục (Procedures) Hƣớng dẫn công việc (Activity Guidelines) Biểu mẫu (Forms/templates) Danh sách kiểm định (Checklists) Quản lý quy trình phần mềm theo mơ hình CMM- Thực tiễn ứng dụng Việt Nam Công cụ hỗ trợ (Tools) Với nhóm cơng việc chính: Đặc tả u cầu (Requirements Specification): “đòi hỏi” cho yêu cầu chức phi chức Phát triển phần mềm (Development): tạo phần mềm thỏa mãn yêu cầu đƣợc “Đặc tả yêu cầu” Kiểm thử phần mềm (Validation/Testing): để bảo đảm phần mềm sản xuất đáp ứng “đòi hỏi” đƣợc “Đặc tả yêu cầu” Thay đổi phần mềm (Evolution): đáp ứng nhu cầu thay đổi khách hàng Tùy theo mơ hình phát triển phần mềm, nhóm cơng việc đƣợc triển khai theo cách khác Để sản xuất sản phẩm phần mềm ngƣời ta dùng mơ hình khác Tuy nhiên tất mô hình thích hợp cho ứng dụng Hình : Mơ hình Waterfall 10 Quản lý quy trình phần mềm theo mơ hình CMM- Thực tiễn ứng dụng Việt Nam hiệu hoàn toàn Các tổ chức nhỏ thiếu tảng kinh nghiệm để thành lập nhóm qui trình nên xử lý vấn đề cách sử dụng uỷ ban đƣợc thiết lập cách đặc biệt bao gồm chuyên gia có kinh nghiệm hay cách thuê nhà tƣ vấn Câu hỏi thƣờng gặp liên quan đến trách nhiệm tƣơng đối nhóm qui trình bảo đảm chất lƣợng Điều đƣợc thảo luận chi tiết phần sau, nhóm bảo đảm chất lƣợng tập trung vào việc áp dụng qui trình tại, nhóm qui trình lại đƣợc hƣớng dẫn để cải tiến qui trình Có nghĩa là, chúng hầu nhƣ đối nghịch: bảo đảm bao gồm kiểm tra tn theo, nhóm qui trình xử lý việc hỗ trợ thay đổi Thiết lập kiến trúc qui trình phát triển phần mềm, vịng đời phát triển, mà mô tả hoạt động quản lý kỹ thuật để chạy qui trình phát triển Qui trình phải đƣợc làm cho hoà hợp với nhu cầu cụ thể tổ chức, biến đổi theo kích cỡ tầm quan trọng dự án nhƣ tự thân chất kỹ thuật công việc Kiến trúc phân rã cấu trúc vòng phát triển thành nhiệm vụ, nhiệm vụ có đƣợc định nghĩa điều kiện tiên quyết, mô tả chức năng, thủ tục thẩm tra, đặc tả hoàn thành nhiệm vụ Sự phân rã tiếp tục đến nhiệm vụ đƣợc định nghĩa đƣợc thực cá nhân hay đơn vị quản lý đơn Nếu chúng sẵn sàng, đƣa loạt phƣơng pháp kỹ nghệ phần mềm kỹ thuật Chúng bao gồm soi mã thiết kế, phƣơng pháp thiết kế thức, hệ thống điều khiển thƣ viện, phƣơng pháp kiểm thử tổng hợp Việc làm mẫu nên đƣợc xem xét, với chấp nhận ngơn ngữ lập trình đại 3.3 Khó khăn mức Xác Định Vƣợt qua khó khăn mức trên, tổ chức đạt đƣợc tảng cho tiến triển quan trọng liên tục Ví dụ, đội phần mềm, đối mặt với khủng hoảng, tiếp tục sử dụng qui trình đƣợc định nghĩa Nền tảng đƣợc thiết lập để kiểm tra qui trình định làm để cải tiến Mặc dù mạnh mẽ, qui trình tổ chức định tính: có lƣợng nhỏ liệu để phần đƣợc hoàn thành độ hiệu 36 Quản lý quy trình phần mềm theo mơ hình CMM- Thực tiễn ứng dụng Việt Nam qui trình nhƣ Có tranh cãi đáng kể giá trị đo đạc qui trình phần mềm tốt để sử dụng Điều không chắn nói chung xuất phát từ thiếu định nghĩa qui trình rối rắm mang tính kết mục cụ thể đƣợc đo đạc Với Qui trình mức này, tập trung vào đo đạc nhiệm vụ cụ thể Kiến trúc qui trình điều kiện tiên để đo đạc hiệu Những bƣớc mấu chốt để vƣợt qua khó khăn là: Thiết lập tối thiểu phép đo qui trình để xác định tham số chi phí chất lƣợng bƣớc qui trình Mục tiêu định lƣợng chi phí tƣơng đối lợi ích hoạt động qui trình chính, ví dụ nhƣ chi phí hiệu suất phát lỗi phƣơng pháp sửa sai Thiết lập sở liệu qui trình tài ngun để quản lý bảo trì Dữ liệu hiệu suất chi phí nên đƣợc bảo trì tập trung để đảm bảo khơng bị mất, để ln sẵn có cho tất dự án, để làm dễ dàng chất lƣợng qui trình phân tích suất Cung cấp đủ tài nguyên qui trình để thu thập bảo trì liệu qui trình góp ý kiến cho thành viên dự án sử dụng Giao nhiệm vụ cho chuyên gia có kinh nghiệm giám sát chất lƣợng liệu trƣớc đƣa sở liệu cung cấp hƣớng dẫn phƣơng pháp phân tích giải thích Đánh giá chất lƣợng tƣơng đối sản phẩm thông báo quản lý nơi mà mục tiêu chất lƣợng không đạt đƣợc Một nhóm bảo đảm chất lƣợng độc lập nên đánh giá hành động dự án theo dõi tiến triển theo kế hoạch chất lƣợng Khi tiến triển đƣợc so sánh với kinh nghiệm lịch sử dự án tƣơng tự, đánh giá am hiểu nói chung đƣợc thực 3.4 Khó khăn mức Quản Lý Tiến thêm mức qua khó khăn mức 3, tổ chức phần mềm nên mong đợi để thực cải tiến chất lƣợng đáng kể Vấn để tiềm ẩn lớn mức chi phí thu thập liệu Có số lớn đo đạc có giá trị 37 Quản lý quy trình phần mềm theo mơ hình CMM- Thực tiễn ứng dụng Việt Nam cách tiềm tàng qui trình phần mềm, nhƣng liệu nhƣ đắt thu thập bảo trì Do đó, cần thu thập liệu với thận trọng định nghĩa cách xác mẩu liệu trƣớc Dữ liệu suất vô nghĩa không đƣợc định nghĩa cách tƣờng minh Ví dụ, đo đạc số dịng mã tháng phát triển biến đổi 100 lần hơn, phụ thuộc vào hiểu tham số Sự đếm mã bao gồm vài mã hay mã bị sửa tất dòng lệnh đƣợc chuyển Đối với chƣơng trình đƣợc sửa đổi, điều dẫn đến mức độ thay đổi thừa số 10 Tƣơng tự, dịng khơng trống khơng phải thích, thị chạy thị hợp ngữ tƣơng đƣơng đƣợc đếm với mức độ thay đổi lên tới lần Nhân viên quản lý, kiểm thử, làm tài liệu, hỗ trợ khơng đƣợc tính tính tháng làm việc tiêu Một lần nữa, mức độ biến đổi cao nhƣ thừa số Khi nhiều nhóm khác thu thập liệu nhƣng không dùng định nghĩa giống nhau, kết so sánh với đƣợc, chí có nghĩa để so sánh chúng Khuynh hƣớng với liệu sử dụng chúng để so sánh nhiều nhóm để phê bình chúng với thứ hạng thấp Đây sử dụng sai đáng tiếc với liệu qui trình Hiếm hai dự án đƣợc so sánh phép đo đơn giản Sự khác độ phức tạp công việc gây loại sản phẩm khác vƣợt năm lần Tƣơng tự nhƣ vậy, chi phí cho dịng mã thay đổi nhỏ thƣờng gấp tới lần chi phí cho chƣơng trình Mức độ thay đổi yêu cầu tạo khác to lớn, nhƣ tình trạng thiết kế chƣơng trình ban đầu trƣờng hợp nâng cao Dữ liệu qui trình chắn không đƣợc dùng để so sánh dự án hay cá nhân Mục đích để làm sáng tỏ sản phẩm đƣợc phát triển để cung cấp tảng có hiểu biết cho việc cải tiến qui trình Khi liệu đƣợc sử dụng việc quản lý để định giá cá nhân hay nhóm, tính đáng tin cậy liệu giảm giá trị Hai yêu cầu để vƣợt qua khó khăn mức là: Hỗ trợ tự động thu thập liệu qui trình Tất liệu dễ bị lỗi, mất, vài liệu khơng thể thu thập tay, độ xác việc thu thập 38 Quản lý quy trình phần mềm theo mơ hình CMM- Thực tiễn ứng dụng Việt Nam liệu tay thƣờng thấp Dùng liệu qui trình vừa để phân tích sửa đổi qui trình để ngăn ngừa vấn để cải tiến hiệu 3.5 Khó khăn mức Tối Ưu Hóa Việc cải tiến qui trình phải đƣợc tiếp tục mức trƣởng thành qui trình Đó khó khăn cịn lại cho tổ chức vƣợt qua khó khăn mức độ 4: Làm để liên tục cải tiến qui trình Tới mức cần có dịch chuyển mơ hình (paradigm) Đến tận điểm nhà quản lý phát triển phần mềm tập trung mức độ lớn vào sản phẩm họ thơng thƣờng thu thập phân tích liệu quan hệ trực tiếp tới cải tiến sản phẩm Đến mức liệu cịn có tác dụng để tự điều chỉnh qui trình Với chút kinh nghiệm, việc quản lý chẳng chốc thấy tối ƣu qui trình đem lại chất lƣợng lớn lợi ích suất Ví dụ, nhiều loại lỗi đƣợc xác định sửa trƣớc nhiều mặt kinh tế soi mã soi thiết kế việc kiểm thử Khơng may là, có lƣợng giới hạn liệu đƣợc cơng bố sẵn có chi phí để tìm sửa lỗi Tuy nhiên, từ kinh nghiệm, có qui tắc bổ ích: tới làm việc để tìm sửa lỗi cách soi khoảng tới 20 làm việc để tìm sửa lỗi việc kiểm thử chức kiểm thử hệ thống Để mở rộng đƣợc, tổ chức nhận thấy số áp dụng hoàn cảnh họ, họ nên xem xét đặt lịng tin cậy vào việc kiểm thử nhƣ cách để tìm sửa lỗi Tuy nhiên, vài loại lỗi khơng kinh tế khơng thể tìm thấy ngoại trừ dùng máy móc Ví dụ lỗi liên quan đến tả cú pháp, giao diện, tốc độ, nhân tố ngƣời, hồi phục lỗi Sẽ không thông minh loại bỏ việc kiểm thử hồn tồn kiểm thử cung cấp kiểm tra hữu ích nhƣợc điểm ngƣời Dữ liệu sẵn có cho khía cạnh việc kiểm thử Đối với hầu hết dự án, phân tích nhỏ có hai hoạt động riêng rẽ dính líu vào: loại bỏ lỗi đánh giá chất lƣợng chƣơng trình Để giảm chi phí loại bỏ lỗi, soi nên đƣợc nhấn mạnh, để thu thập với kỹ thuật 39 Quản lý quy trình phần mềm theo mơ hình CMM- Thực tiễn ứng dụng Việt Nam hiệu mặt chi phí khác Vai trò kiểm thử chức hệ thống nên đƣợc thay đổi thành việc việc thu thập liệu chất lƣợng chƣơng trình Điều dính líu đến việc nghiên cứu lỗi để xem liệu lỗi vấn để tách biệt hay vấn đề thiết kế mà địi hỏi phân tích tổng hợp nhiều Với qui trình để vƣợt qua khó khăn mức này, tổ chức có phƣơng tiện để xác định thành phần yếu qui trình sửa chúng Tại điểm việc cải tiến qui trình, liệu sẵn có để biện hộ cho việc áp dụng kỹ thuật vào nhiều nhiệm vụ nguy cấp, chứng số sẵn có tính hiệu mà qui trình đƣợc áp dụng cho sản phẩm cho trƣớc Chúng ta khơng cần hàng tập giấy để mơ tả xảy chỗ quanh co lợi nhuận biểu đồ thống kê cung cấp thị xác rõ ràng Khi đảm bảo qui trình có tự tin chất lƣợng sản phẩm kết Các khái niệm [1] Qui trình - Theo từ điển Webster, qui trình "một hệ thống thao tác để tạo chuỗi hoạt động, thay đổi, chức để đạt tới đích kết quả" Viện Cơng Nghệ Điện Và Điện Tử IEEE định nghĩa qui trình "một chuỗi bƣớc đƣợc thực nhằm mục đích cho trƣớc" Một qui trình phần mềm đƣợc định nghĩa nhƣ tập hoạt động, phƣơng pháp, thực tiễn, biến đổi mà ngƣời ta dùng để phát triển bảo trì phần mềm sản phẩm liên quan (ví dụ: kế hoạch dự án, tài liệu thiết kế, mã nguồn, trƣờng hợp kiểm thử (test cases), sổ tay ngƣời dùng) Khi tổ chức trƣởng thành, qui trình phần mềm tổ chức đƣợc xác định tốt đƣợc thực thi quán toàn tổ chức Khả qui trình phần mềm (software process capability) mơ tả loại kết mong đợi đạt đƣợc cách tuân theo qui trình phần mềm Khả qui trình phần mềm tổ chức cung cấp phƣơng tiện để dự đốn kết gần nhƣ xác cho dự án phần mềm mà tổ chức thực Hiệu suất qui trình phần mềm (Software process performance) diễn tả kết thực đạt đƣợc tuân theo qui trình phần mềm Vì vậy, hiệu suất qui trình phần mềm tập trung vào kết đạt đƣợc thực sự, khả qui trình phần mềm tập trung vào kết đạt đƣợc Dựa thuộc 40 Quản lý quy trình phần mềm theo mơ hình CMM- Thực tiễn ứng dụng Việt Nam tính dự án cụ thể ngữ cảnh dự án đƣợc thực hiện, hiệu suất thực dự án khơng phản ánh tồn khả qui trình; nghĩa là: khả dự án bị giới hạn môi trƣờng (ngữ cảnh) Ví dụ, thay đổi ứng dụng hay công nghệ đƣợc sử dụng đặt đội phát triển phải học hỏi thêm dẫn đến khả hiệu suất dự án so với khả qui trình nói chung tổ chức Sự trưởng thành qui trình phần mềm mở rộng mà qui trình cụ thể đƣợc định nghĩa, quản lý, đo đạc, điều khiển cách rõ ràng, qui trình hiệu Sự trƣởng thành ngụ ý tiềm phát triển khả biểu lộ đầy đủ qui trình lẫn quán áp dụng qui trình tồn tổ chức Qui trình phần mềm đƣợc nắm bắt tốt toàn tổ chức, thông thƣờng qua tài liệu đào tạo, qui trình liên tục đƣợc theo dõi giám sát cải tiến ngƣời sử dụng qui trình Khả qui trình phần mềm trƣởng thành đƣợc tổ chức hiểu rõ Sự trƣởng thành qui trình phần mềm ngụ ý suất chất lƣợng nhận đƣợc từ qui trình phần mềm tổ chức đƣợc cải tiến qua thời gian nhờ lợi ích liên tục đạt đƣợc từ qui trình phần mềm Khi tổ chức phần mềm đạt đƣợc trƣởng thành qui trình phần mềm, thể chế hố qui trình phần mềm qua sách, chuẩn, cấu trúc mặt tổ chức Sự thể chế hố địi hỏi xây dựng sở hạ tầng văn hố cơng ty hỗ trợ phƣơng pháp, thực tiễn, thủ tục kinh doanh nhờ chúng tồn đƣợc sau ngƣời định nghĩa chúng 41 Quản lý quy trình phần mềm theo mơ hình CMM- Thực tiễn ứng dụng Việt Nam CHƯƠNG NĂM MỨC ĐỘ TĂNG TRƯỞNG CỦA CMM Chƣơng giới thiệu chi tiết mức độ tăng trƣởng CMM quy trình then chốt [10] MỨC 1: KHỞI ĐẦU Hình : Mức khởi đầu 1.1 Hiểu mức tăng trưởng khởi đầu 1: - Hiệu phần mềm bị điều khiển lực tính DÁM LÀM VIỆC ngƣời làm cơng việc - Chất lƣợng cao hiệu ngoại lệ chừng cịn th đƣợc ngƣời giỏi - Vấn đề quản lí, KHƠNG kĩ thuật 42 Quản lý quy trình phần mềm theo mơ hình CMM- Thực tiễn ứng dụng Việt Nam Hình : Mơ tả mức khởi đầu 1.2 Thuộc tính tổ chức mức Qui triǹ h sản xuấ t PM còn lô ̣n xô ̣n , không khoa ho ̣c , khả rủi ro cao Mô ̣t số công đoa ̣n bi ̣phu ̣ thuô ̣c vào mô ̣t, hai cá nhân nào đó - Thiếu / hiểu sai yêu cầu - Ƣớc lƣợng / Lập kế hoạch - Thiếu qui trình đƣợc xác định - Các dấu hiệu cảnh báo bị bỏ qua - Q hạn chuyện thƣờng - Khơng có huấn luyện qui trình - Hiếm đáp ứng ràng buộc ngân sách - Hiếm đáp ứng ràng buộc lịch biểu - Thiếu phản hồi gây nỗ lực bị lãng phí - Khách hàng nhân viên đƣợc thoả mãn MỨC 2: LẶP LẠI ĐƯỢC 43 Quản lý quy trình phần mềm theo mơ hình CMM- Thực tiễn ứng dụng Việt Nam Hình 3 : Mức lặp lại * Chuyển từ mức (1) sang (2) - Mức (1) = lung tung, cốt việc đƣợc làm! - Mức (2) = qui trình quản lí dự án đƣợc làm tƣ liệu thực Hội tụ vào dự án 2.1 Hiểu mức tăng trưởng lặp lại Quy triǹ h có sƣ̣ kiể m soát bằ ng viê ̣c lên kế hoa ̣ch , rút kinh nghiệm từ thành công của nhƣ̃ng dƣ̣ án trƣớc Mƣ́c này đã thiế t lâ ̣p mô ̣t số qui trin ̀ h quản lý dƣ̣ án nhƣ theo dõi chi phí, thời ̣n và chƣ́c - Các qui trình quản lí dự án đƣợc làm tƣ liệu tuân theo - Thực hành thành công đƣợc phát triển dựa dự án trƣớc đƣợc lặp lại (Phân tích nhân quả) - Chính sách tổ chức động viên việc thiết lập qui trình quản lí dự án xác định tốt 44 Quản lý quy trình phần mềm theo mơ hình CMM- Thực tiễn ứng dụng Việt Nam Hình : Mơ tả mức lặp lại * Qui trình đƣợc làm tƣ liệu chứa gì? - Mục đích mục tiêu - Ngƣời đƣợc dự định đọc - Các giả định - Thủ tục cách cải tiến qui trình - Cái vào/ra qui trình chi tiết (Giao diện) - Các bƣớc qui trình chi tiết (có lí do) N - Xác định cách đo qui trình để đạt hiệu đo - Chuẩn nguyên tắc đạo qui trình - Ngƣời liên hệ, danh sách viết tắt, từ điển liệu 2.2 Các KPA cho mức lặp lại Quản lí yêu cầu (RM) Lập kế hoạch dự án phần mềm (PP) Theo dõi giám sát dự án phần mềm (PT) Quản lí nhà thầu phần mềm (SM) Đảm bảo chất lƣợng phần mềm (QA) Quản lí cấu hình phần mềm (CM) 2.2.1 Quản Lý Yêu Cầu Mục đích Quản Lý Yêu Cầu thiết lập hiểu biết chung khách hàng dự án phần mềm nhằm thực yêu cầu khách hàng 45 Quản lý quy trình phần mềm theo mơ hình CMM- Thực tiễn ứng dụng Việt Nam Quản Lý Yêu Cầu liên quan đến thiết lập trì thoả thuận với khách hàng yêu cầu cho dự án phần mềm Sự thoả thuận đƣợc nói đến nhƣ "các yêu cầu hệ thống định cho phần mềm" "Khách hàng" đƣợc hiểu nhƣ nhóm kỹ sƣ hệ thống, nhóm tiếp thị, tổ chức nội khác, khách hàng bên Sự thoả thuận bao gồm yêu cầu kỹ thuật phi kỹ thuật (ví dụ: ngày chuyển giao) Sự thoả thuận hình thành sở để ƣớc tính, lập kế hoạch, thực hiện, theo dõi hoạt động dự án phần mềm suốt vòng đời phần mềm Sự định yêu cầu hệ thống cho phần mềm, phần cứng thành phần hệ thống khác (ví dụ: ngƣời) đƣợc thực nhóm bên ngồi nhóm kỹ nghệ phần mềm (software engineering group) (ví dụ nhóm kỹ sƣ hệ thống), nhóm kỹ nghệ phần mềm khơng kiểm sốt trực tiếp định Trong phạm vi ràng buộc dự án, nhóm kỹ nghệ phần mềm thực bƣớc thích hợp để bảo đảm yêu cầu hệ thống định cho phần mềm, yêu cầu mà họ chịu trách nhiệm, đƣợc lập thành tài liệu kiểm soát Để đạt đƣợc kiểm sốt này, nhóm kỹ nghệ phần mềm xem xét lại yêu cầu hệ thống định cho phần mềm – bắt đầu đƣợc xét duyệt - để giải vấn đề trƣớc chúng đƣợc tích hợp vào dự án phần mềm Bất yêu cầu hệ thống định cho phần mềm thay đổi, kế hoạch phần mềm, công việc phần mềm hoạt động bị ảnh hƣởng đƣợc điều chỉnh để bảo đảm quán với yêu cầu đƣợc cập nhật Mục tiêu 1: Những yêu cầu hệ thống phần mềm cần đƣợc kiểm soát nhằm lập thành phiên sử dụng quản lý kỹ nghệ phần mềm Mục tiêu 2: Các kế hoạch, sản phẩm hoạt động phần mềm cần đƣợc giữ quán với yêu cầu hệ thống phần mềm Hành động 1: Nhóm kỹ nghệ phần mềm xem xét yêu cầu đƣợc định trƣớc chúng đƣợc tích hợp dự án phần mềm Hành Động 2: Nhóm kỹ nghệ phần mềm sử dụng yêu cầu định nhƣ sở cho kế hoạch, sản phẩm công việc hoạt động phần mềm Hành Động 3: Các thay đổi yêu cầu định đƣợc xem xét tích hợp vào dự án phần mềm 46 Quản lý quy trình phần mềm theo mơ hình CMM- Thực tiễn ứng dụng Việt Nam 2.2.3 Lập Kế Hoạch Dự án Phần Mềm Mục đích Lập Kế Hoạch Dự án Phần Mềm thiết lập kế hoạch hợp lý để thực hoạt động kỹ nghệ phần mềm quản lý dự án phần mềm Lập Kế Hoạch Dự án Phần Mềm liên quan tới phát triển ƣớc tính cho công việc cần thực hiện, thiết lập cam kết cần thiết, định nghĩa kế hoạch để thực công việc Việc lập kế hoạch bắt đầu phát biểu công việc đƣợc thực ràng buộc khác mục tiêu nhằm định nghĩa đặt phạm vi cho dự án phần mềm (những thứ đƣợc thiết lập thực hành vùng qui trình then chốt Quản Lý Yêu Cầu) Qui trình lập kế hoạch bao gồm bƣớc để ƣớc tính cỡ sản phẩm công việc phần mềm tai nguyên cần thiết, đƣa lịch trình, xác định đánh giá rủi ro phần mềm, thƣơng lƣợng cam kết Việc lặp lại bƣớc cần thiết để lập kế hoạch cho dự án phần mềm (nghĩa kế hoạch phát triển phần mềm) Kế hoạch cung cấp tảng để thực quản lý hoạt động dự án phần mềm giải cam kết khách hàng với dự án phần mềm theo khả năng, ràng buộc, tài nguyên dự án phần mềm Mục Tiêu 1: Các ƣớc tính phần mềm cần đƣợc ghi thành tài liệu để sử dụng việc lập kế hoạch theo dõi dự án phần mềm Mục Tiêu 2: Các hoạt động cam kết dự án phần mềm cần đƣợc lập kế hoạch ghi thành tài liệu Mục Tiêu 3: Các nhóm cá nhân ảnh hƣởng đến dự án đồng ý với cam kết họ liên quan dự án phần mềm Hành Động 1: Nhóm kỹ nghệ phần mềm tham gia vào đội đề xuất dự án Hành Động 2: Việc lập kế hoạch dự án phần mềm đƣợc khởi động giai đoạn đầu song song với việc lập kế hoạch dự án nói chung Hành Động 3: Nhóm kỹ nghệ phần mềm tham gia với nhóm bị ảnh hƣởng khác việc lập kế hoạch dự án nói chung theo suốt thời gian dự án 47 Quản lý quy trình phần mềm theo mơ hình CMM- Thực tiễn ứng dụng Việt Nam Hành Động 4: Các cam kết dự án phần mềm mà đƣợc thiết lập với cá nhân nhóm bên ngồi tổ chức cần đƣợc xem xét lại với nhà quản lý cấp cao tuỳ theo thủ tục đƣợc ghi thành văn Hành Động 5: Một vòng đời phần mềm với giai đoạn có kích cỡ quản lý đƣợc đƣợc định nghĩa trƣớc cần đƣợc nhận diện định nghĩa Hành Động 6: Kế hoạch phát triển phần mềm dự án đƣợc phát triển dựa theo thủ tục đƣợc ghi thành văn Hành Động 7: Kế hoạch dự án phần mềm đƣợc ghi thành văn Hành Động 8: Các sản phẩm công việc phần mềm mà cần để thiết lập kiểm soát dự án phần mềm cần đƣợc nhận biết Hành Động 9: Các ƣớc tính kích cỡ sản phẩm công việc phần mềm (hoặc thay đổi cỡ sản phẩm công việc phần mềm) đƣợc dẫn xuất theo thủ tục đƣợc ghi thành văn Hành Động 10: Các ƣớc tính cơng sức (effort) chi phí cần đƣợc dẫn xuất theo thủ tục đƣợc ghi thành văn Hành Động 11: Các ƣớc tính tài nguyên máy tính quan trọng cho dự án cần đƣợc dẫn xuất theo thủ tục đƣợc ghi thành văn Hành Động 12: Lịch trình làm việc phần mềm dự án cần đƣợc dẫn xuất theo thủ tục đƣợc ghi thành văn Hành Động 13: Các rủi ro phần mềm dính tới chi phí, tài ngun, lịch trình khía cạnh kỹ thuật dự án đƣợc nhận diện, đánh giá ghi thành Tải FULL (96 trang): https://bit.ly/3fQM1u2 tài liệu Dự phòng: fb.com/KhoTaiLieuAZ Hành Động 14: Các kế hoạch cho công cụ hỗ trợ trang thiết bị kỹ nghệ phần mềm dự án đƣợc chuẩn bị Hành Động 15: Dữ liệu lập kế hoạch phần mềm đƣợc ghi lại 2.2.4 Theo Dõi Giám Sát Dự án Phần Mềm Mục tiêu Theo Dõi Giám Sát Dự án Phần Mềm thiết lập nhìn thích hợp vào tiến độ thực dự án từ nhà quản lý có hành động hiệu 48 Quản lý quy trình phần mềm theo mơ hình CMM- Thực tiễn ứng dụng Việt Nam hiệu suất dự án phần mềm chệch nghiêm trọng khỏi kế hoạch phần mềm Theo Dõi Giám Sát Dự án Phần Mềm liên quan tới việc theo dõi xem lại công việc phần mềm hoàn thành kết dựa vào ƣớc tính, cam kết, kế hoạch, tinh chỉnh kế hoạch dựa kết cơng việc hồn thành thực Một kế hoạch đƣợc viết thành văn cho dự án phần mềm (nghĩa kế hoạch phát triển phần mềm, nhƣ đƣợc mơ tả vùng qui trình then chốt Lập Kế Hoạch Dự án Phần Mềm) đƣợc dùng nhƣ sở để theo dõi hoạt động phần mềm, tình trạng giao tiếp, xem lại kế hoạch Các hoạt động phần mềm đƣợc giám sát cấp quản lý Tiến độ đƣợc định chủ yếu cách so sánh kích cỡ, cơng sức, chi phí lịch trình phần mềm thực với kế hoạch sản phẩm công việc phần mềm đƣợc lựa chọn hoàn thành mốc đƣợc lựa chọn Khi quyêt định kế hoạch dự án phần mềm không đạt, hành động sửa sai đƣợc thực Các hành động bao gồm việc xem lại kế hoạch phát triển phần mềm để phản ánh lại việc hoàn thành thực lập kế hoạch lại cho cơng việc cịng lại thực hành động để cải tiến hiệu suất Mục Tiêu 1: Các kết hiệu suất thực đƣợc theo dõi kế hoạch Tải FULL (96 trang): https://bit.ly/3fQM1u2 phần mềm Dự phòng: fb.com/KhoTaiLieuAZ Mục Tiêu 2: Các hành động sửa chữa đƣợc thực quản lý đến nơi đến chốn kết hiệu suất thực chệnh nghiêm trọng so với kế hoạch phần mềm Mục Tiêu 3: Các thay đổi cam kết phần mềm đƣợc nhóm cá nhân bị ảnh hƣởng đồng ý Hành Động 1: Một kế hoạch phát triển phầm mềm đƣợc ghi lại thành văn cần đƣợc sử dụng để theo dõi hoạt động phần mềm tình trạng giao tiếp Hành Động 2: Kế hoạch phát triển phần mềm dự án đƣợc duyệt lại theo thủ tục đƣợc ghi thành văn 49 Quản lý quy trình phần mềm theo mơ hình CMM- Thực tiễn ứng dụng Việt Nam Hành Động 3: Các cam kết thay đổi cam kết dự án phần mềm cá nhân nhóm ngồi tổ chức đƣợc xem xét lại với quản lý cấp cao theo thủ tục đƣợc ghi lại thành văn Hành Động 4: Các thay đổi đƣợc chấp thuận cam kết mà ảnh hƣởng tới dự án phần mềm đƣợc truyền đạt tới thành viên nhóm kỹ nghệ phần mềm nhóm liên quan tới phần mềm khác Hành Động 5: Cỡ sản phẩm công việc phần mềm (hoặc cỡ thay đổi sản phẩm công việc phần mềm) đƣợc theo dõi, hành động sửa sai đƣợc thực cần thiết Hành Động 6: Các chi phí công sức phần mềm dự án đƣợc theo dõi hành động sửa sai đƣợc thực cần thiết Hành Động 7: Các tài nguyên máy tính quan trọng dự án đƣợc theo dõi hành động sửa sai đƣợc thực cần thiết Hành Động 8: Lịch trình phần mềm dự án đƣợc theo dõi hành động sửa sai đƣợc thực cần thiết Hành Động 9: Các hoạt động kỹ nghệ phần mềm dự án đƣợc theo dõi hành động sửa sai đƣợc thực cần thiết Hành Động 10: Các rủi ro phần mềm liên quan tới chi phí, tài ngun, lịch trình khía cạnh kỹ thuật dự án đƣợc theo dõi Hành Động 11: Dữ liệu đo đạc thực liệu trƣớc lập kế hoạch cho dự án phần mềm đƣợc ghi lại Hành Động 12: Nhóm kỹ nghệ phần mềm dẫn dắt buổi xem xét nội định kỳ để theo dõi tiến độ kỹ thuật, kế hoạch, hiệu suất, vấn đề dựa theo kế hoạch phát triển phần mềm Hành Động 13: Các buổi xem xét thức hồn thành kết dự án phần mềm đƣợc dẫn dắt mốc đƣợc lựa chọn dự án theo thủ tục đƣợc ghi thành văn 50 6811962 ... khơng phải tất mơ hình thích hợp cho ứng dụng Hình : Mơ hình Waterfall 10 Quản lý quy trình phần mềm theo mơ hình CMM- Thực tiễn ứng dụng Việt Nam SEP, ISO, CMM/ CMMI (CMM/ CMMI-Capability Maturity... 18 Quản lý quy trình phần mềm theo mơ hình CMM- Thực tiễn ứng dụng Việt Nam CHƯƠNG CMM VÀ KHÓ KHĂN TRONG PHÁT TRIỂN PHẦN MỀM Lịch Sử Mơ Hình CMM [1] Vào tháng 11 năm 1986, Viện Công Nghệ Phần Mềm. .. KPA CMM theo mức tăng trưởng Cấu trúc chung lĩnh vực quy trình chốt thấy hình sau: 29 Quản lý quy trình phần mềm theo mơ hình CMM- Thực tiễn ứng dụng Việt Nam Hình 5: Cấu trúc KPAs 2.6 Khả áp dụng