Nhóm Vùng quy trình
Nhóm 1
Lập kế hoạch dự án (PP) Quản lý yêu cầu (REQM) Đào tạo (OT)
Nhóm 2
Phát triển yêu cầu (RD) Giải pháp kỹ thuật (TS) Tích hợp sản phẩm (PI) Nhóm 3
Kiểm tra (VER) Xác nhận (VAL) Quản lý cấu hình (CM)
Các công việc cần thiết để triển khai áp dụng mô hình CMMI-VSME được mô tả trongHình 3.3,được thực hiện qua các pha:Khởi động, Lập kế hoạch, Định nghĩa quy trình, Triển khai.
Lập kế hoạch chi tiết Nhóm 3 (OT, CM, VAL) Đào tạo Xây dựng quy trình Triển khai Nhóm 2 (TS, PI, VER) Đào tạo Xây dựng quy trình Triển khai Nhóm 1 (PP, REQM, RD)
Đào tạo, triển khai thí điểm Xây dựng quy trình
Điều chỉnh quy trình
Lập kế hoạch Định nghĩa quy trình Triển khai
Triển khai diện rộng Huấn luyện Giám sát, đánh giá nội bộ Chuẩn bị Khởi động Đánh giá hiện trạng Lập kế hoạch tổng thể
Hình 3.3: Các bước thực hiện triển khai áp dụng mô hình CMMI-VSME Cụ thể các công việc trong các pha như sau: Cụ thể các công việc trong các pha như sau:
3.2.1. Khởi động
a) Chuẩn bị,Các công việc cần thực hiện:
Thành lập bộ phận chuyên trách hoạt động đảm bảo chất lượng, để hoạt động hiệu quả nên chia thành các bộ phận chuyên trách như: bộ phận đảm bảo chất lượng phần mềm (QA), kiểm tra chất lượng sản phẩm phần mềm (QC).
Thành lập bộ phận xây dựng và cải tiến quy trình phần mềm, bộ phận này có trách nhiệm xây dựng các chính sách, quy trình quy định, tài liệu hướng dẫn, biểu mẫu, v.v.. Bên cạnh đó, bộ phận này cũng sẽ thực hiện đào tạo và huấn luyện cho các thành viên trong dự án. Các thành viên trong bộ phận này nên chọn những người có kinh nghiệm từ các bộ phận trong cơ quan và thường là các trưởng dự án.Trưởng bộ phận xây dựng cải tiến quy trình nên là người có vị trí và có quyền lực trong cơ quan,thường là Giám đốc hoặc Phó giám đốc phụ trách phát triển phần mềm.Mô hình tổ chức cácbộ phận của có thể xây dựng theomô hình được mô tả trong Hình 3.4
Ban Giám đốc Bộ phận Xây dựng, cải tiến quy trình Bộ phận Quản lý chất lượng Đội đảm bảo chất lượng (QA)
Đội kiểm soát chất lượng phần mềm (QC) Các Dự án phần mềm QTDA 01 QTDA 02 QTDA N Hình 3.4: Mô hình tổ chức các bộ phận
b) Đánh giá hiện trạng,Bộ phận xây dựng cải tiến quy trình có trách nhiệm
quy trình đang áp dụng, các vấn đề tồn tại, khó khăn vướng mắc của dự án, những đề xuất kiến nghị của các bộ phận về cải tiến quy trình.
3.2.2. Lập kế hoạch
Trong pha lập kế hoạch, được chia nhỏ thành các bước nhỏ hơn: Khởi động,
Đánh giá hiện trạng, Lập kế hoạch chi tiết.
a) Lập kế hoạch tổng thể,Căn cứ trên các báo cáo khảo sát đã thực hiện tạibước Đánh giá hiện trạng đểxây dựng kế hoạch tổng thể cải tiến quy trình, trong đó chỉ
racác công việc cần phải làm, tiến độ thời gian, kế hoạch tổng thể cần được sự phê duyệt của Lãnh đạo đơn vị.Ví dụ vềkế hoạch triển khai tổng thể có thể được mô tả trongHình 3.5.
Hình 3.5: Ví dụ về kế hoạch tổng thể
Các công việc như đặc tả yêu cầu quy trình, xây dựng quy trình, triển khai thí điểm, triển khai diện rộng và giám sát đánh giá được thực hiện đan xen nhau trong suốt quá trình triển khai
b) Lập kế hoạch chi tiết,căn cứ vào kế hoạch tổng thể được phê duyệt để xây
dựng kế hoạch chi tiết để triển khai các công việc cụ thể, chi tiết các công việc được
trình bày tại pha Định nghĩa quy trình.
3.2.3. Định nghĩa quy trình
Dựa theo các vùng quy trình được đề xuất trong mô hình CMMI-VSME để xây dựng và triển khai các quy trình cần thiết theo các nhóm:
Nhóm 1:Xây dựng các quy trình, hướng dẫn cần thiết để thoả mãn vùng quy trình Lập hoạch dự án (PP), Quản lý yêu cầu (REQM) vàĐào tạo (OT).
Nhóm 2:Xây dựng quy trình cần thiết thoả mãn vùng quy trình Phát triển yêu cầu (RD), Giải pháp kỹ thuật (TS) vàTích hợp sản phẩm (PI).
Nhóm 3:Xây dựng các quy trình cần thiết để thoả mãn vùng quy trình Kiểm tra (VER)
Để thực hiện xây dựng và triển khai các quy trình theo nhóm trên, cần thực hiện các công việc như sau:
phận xây dựng quy trình sẽ mô hình hóa thành tài liệu quy trình tương ứng, Nội dung của quy trình cần phải được hiện thực hoá các thực hành chung và thực hành chuyên biệt của mô hình CMMI đối với vùng quy trình tương ứng, kèm theo đó là các tài liệu biểu mẫu, tài liệu hướng dẫn áp dụng quy trình, hướng dẫn sử dụng công cụ hỗ trợ (nếu có sử dụng công cụ), v.v..
b) Đào tạo, triển khai thí điểm:Trước hết, cần chọn ra một số dự án để triển
khai thí điểm, các dự án thí điểm nên chọn dự án có quy mô không quá lớn mà cũng không quá nhỏ, tiến độ hoàn thành không quá gấp, không nên chọn các dự án chiến lược làm dựa án thí điểm.Tiếp theo, tiến hànhgiới thiệu, hướng dẫn, phổ biến các tài liệu quy trình quy định mới ban hành tới các nhân sự trong dự án thí điểm.Để có thông tin cho việc cải tiến sau này, khi triển khai thí điểm cần thu thập các điểm không phù hợp của quy trình so với thực tế, các vấn đề vướng mắc trong quá trình áp dụng quy trình.
c) Điều chỉnh quy trình: Căn cứ vào các thông tin thu thập được khi triển khai
thí điểm, bộ phận xây dựng cải tiến quy trình thực hiện xem xét đánh giá các vấn đề và hiệu chỉnh lại quy trình cho phù hợp với thực tế.
3.2.4. Triển khai
a) Huấn luyện (Đào tạo): Bộ phận xây dựng quy trình lên kế hoạch và thực
hiện huấn luyện, đào tạo cho toàn bộ các thành viên của các dự án nắm vững các kiến thức về quy trình và vai trò của mình trong dự án.
b) Triển khai diện rộng: Tiếp sau hoạt động huấn luyện là triển khai diện rộng
các quy trình cải tiến cho toàn bộ công ty.
c) Giám sát, đánh giá nội bộ: Bộ phận giám sát chất lượng quy trình thực hiện
xem xét, đánh giá lập báo cáo tình hình tuân thủ quy trình quy định, tổng hợp các điểm không phù hợp của quy trình so với thực tế, tổng hợp bài học kinh nghiệm trong quá trình triển khai để cung cấp dữ liệu cho các đợt cải tiến sau này.
Một số lưu ý trong quá trình triển khai:
Cần phải tăng cường công tác tuyên truyền phổ biến, đào tạo nhận thức cho cán bộ công nhân viên hiểu được các lợi ích mà CMMI mang lại.
Trong suốt quá trình triển khai cần phải được sự hỗ trợ tối đa từ người quản lý cấp cao.
Khi triển khai CMMI phải thực hiện một cách bài bản, không nóng vội. Cần phải xác định các vấn đề tồn tại đang gặp phải là gì, để từ đó tập trung vào giải quyết từng vấn đề đó theo thứ tự ưu tiên.
Cầnnghiên cứu và áp dụng các công cụ hỗ trợ cho các giai đoạn phát triển phần mềm. Một số công cụ hỗ trợ trong quá trình phát triển phần mềm thông dụng hiện nay các doanh nghiệp có thể sử dụngđược liệt kê tại Phụ lục 1.
nhân viên trong cơ quan dễ dàng tra cứu và tham khảo khi cần thiết.
Triển khai hệ thống quản lý cấu hình (quản lý mã nguồn, tài liệu), nên triển khai tập trung cho toàn bộ các dự án để thống nhất cách quản lý và kiểm soát thay đổi.
Cần lưu ý một số khó khăn khác có thể gặp phải trong qua trình triển khai CMMI để có những giải pháp đối phó kịp thời, một số khó khăn thường gặp phải như[2]: (1) Không đủ nguồn lực để xây dựng, hiệu chỉnh quy trình; (2) Các thành viên trong đội đảm bảo chất lượng thường xuyên bận rộn và phải thực hiện nhiều dự án, nên thời gian để trợ giúp cho đội dự án là hạn hẹp; (3) Sự bất đồng quan điểm giữa đội QA và đội dự án; (4) Văn hoá ngại thay đổi trong đội ngũ lãnh đạo cấp trung và đội dự án.
Như vậy với 9 vùng quy trình cần áp dụng so với tổng số 22 vùng quy trình của mô hình CMMI-DEV v1.3 được đề xuất trong mô hình CMMI-VSME, việc phân nhóm các vùng quy trình và triển khai theo nguyên tắc áp dụng từng vùng quy trình một nên phù hợp áp dụng cho các doanh nghiệp vừa và nhỏ tại Việt Nam.Mô hình CMMI-VSME hiện tại không tập trung vào giải quyết các công việc liên quan đánh giá và cấp giấy chứng nhận đạt CMMI mà chỉ đưa ra hướng tiếp cận cho doanh nghiệp trong việc cải tiến quy trình sản xuất dựa theo mô hình CMMI nhằm nâng cao chất lượng sản phẩm, giảm thiểu sai sót, tối ưu hoá chi phí và nguồn lực trong quá trình phát triển phần mềm.
CHƯƠNG 4
TRIỂN KHAI ÁP DỤNG VÀ ĐÁNH GIÁ
Dựa trên các đề xuất hướng áp dụng mô hình CMMI theo cách tiếp cận CMMI- VSME và khảo sát hiện trạng tại EVNIT, tác giả đề xuất cách thức áp dụng mô hình CMMI cho EVNIT theo các pha như sau:
4.1. Khởi động
Chuẩn bị:Thiết lập mô hình sản xuất theo sơ đồnhư trong Hình 4.1
Ban Giám đốc
Ban điều hành quy trình (Là Lãnh đạo Trung tâm) Phòng Quản lý chất lượng
Đội đảm bảo chất lượng phần mềm
(QA)
Đội kiểm soát chất lượng phần mềm (QC) Tổ quản lý quy trình (SEPG) Các Dự án phần mềm QTDA 01 QTDA 02 QTDA N
Hình 4.1: Mô hình tổ chức đề xuất cho EVNIT
Do trong EVNIT đã tồn tại các bộ phận Phòng Quản lý chất lượng, Tổ quản lý quy trình SEPG (SoftwareEngineeringProcess Group), nên chỉ cần thành lập thêm bộ phận Ban điều hành quy trình.
Thiết lập môi trường, công cụ hỗ trợ:
Thiết lập hệ thống quản lý cấu hình, quản lý phiên bản mã nguồn tập trung (sử dụng công cụ SVN).
Thiết lập kho lưu trữ dữ liệu quy trình, quy định trên hệ thống cổng thông tin nội bộ của EVNIT.
Thiết lập hệ thống quản lý theo dõi xử lý lỗi và giao việc (sử dụng JIRA).
Đánh giá hiện trạng:Tổ quản lý quy trình thực hiện khảo sát, đánh giá mô hình
phát triển phần mềm hiện tại của EVNIT.Xem xét theo tiêu chí xếp mức trưởng thành mức độ 2 theo cách thức nêu tại mục 1.5.4, để đạt được mức tăng trưởng cấp độ 2 thì phải thoả mãn tất các các mục tiêu được đề cập tại mục 1.5.4 (chi tiết kết quả đánh giá được mô tả tại Phụ lục 2). Qua kết quả đánh giá cho thấy EVNIT chưa đạt được mức
tăng trưởng cấp độ 2 của mô hình CMMI, do chưa đáp ứng đầy đủ mục tiêu của các vùng quy trình được yêu cầu trong cấp độ 2 của mô hình CMMI.
4.2. Lập kế hoạch
Các công việc cần thực hiện trong pha lập kế hoạch bao gồm:
a) Lập kế hoạch tổng thể:Trưởng phòng quản lý chất lượng chịu trách nhiệm
xây dựng kế hoạch tổng thể nhằm đạt được mục tiêu cải tiến quy trình phát triển phần
mềm.
b) Lập kế hoạch chi tiết:Bộ phận quản lý quy trìnhchịu trách nhiệm xây dựng
kế hoạch chi tiếtđể triển khai các công việc được nêu trong kế hoạch tổng thể, căn cứ theo tình hình thực tế mà kế hoạch này có thể được điều chỉnh cho phù hợp.
4.3. Định nghĩa quy trình
Các công việc cần thực hiện trong pha định nghĩa quy trình bao gồm:
a) Xây dựng quy trình theo các nhóm:
Căn cứ theo các vùng quy trình được đề xuất áp dụng trong mô hình CMMI- VSME để xây dựng ra các vùng quy trình liên quan tương ứng, tình hình thực tế tại EVNIT chưa triển khai áp dụng quy trình tích hợp sản phẩm trong giai đoạn thử nghiệm nên sẽ không áp dụng, vùng quy trình Kiểm tra (VER) và Xác nhận (VAL) được cụ thể hoá trong quy trình kiểm thử. Một số ví dụ cụ thể của các quy trình bao gồm:
a.1/ Quy trình lập kế hoạch và quản lý dự án:
Quy trình quản lý dự án nhằm thiết lập các hoạt động, quy tắc, hướng dẫn để khởi động, lập kế hoạch, thực hiện, theo dõi và kiểm soát, đóng dự án. Sơ đồ quy trình bao gồm các bước được mô tả tại Hình 4.2.
Thực hiện dự án Đóng vòng lặp/pha/dự án Lập kế hoạch dự án/ pha/ vòng lặp Theo dõi và kiểm soát dự án Khởi động dự án
Hình 4.2: Sơ đồ quy trình lập kế hoạch và quản lý dự án a.2/ Quy trình Quản lý yêu cầu: a.2/ Quy trình Quản lý yêu cầu:
Yêu cầu sau khi đã được thống nhất với khách hàng được đưa vào quản lý trong bảng “Danh sách yêu cầu”. Mỗi một yêu cầu được quản lý bởi các trạng thái trong sơ đồHình 4.3.
Open Yêu cầu đã được thống nhất thực hiện Designed Implemented Tested Cancelled Pending Deployed Accepted Tạm dừng thực hiện
Khách hàng hủy yêu cầu
Yêu cầu được thiết kế
Yêu cầu được lập trình
Yêu cầu được kiểm thử
Yêu cầu được triển khai
Yêu cầu được chấp nhận (UAT)
Hình 4.3: Sơ đồ trạng thái yêu cầu
Thực hiện quản lý trạng thái của các yêu cầu trong theo nguyên tắc sau:
cầu phần mềm và đã được thống nhất với khách hàng.
Trạng thái Designed: khi các yêu cầu được thiết kế và tài liệu thiết kế được phê
duyệt, các yêu cầu ở trạng thái “Designed”
Trạng thái Implemented: khi các yêu cầu đã được lập trình bao quát hết trong
phần mềm, các yêu cầu ở trạng thái “Implemented”
Trạng thái Tested: khi các yêu cầu đã được thực hiện kiểm thử và đáp ứng, các
yêu cầu ở trạng thái “Tested”
Trạng thái Deployed: sau khi cài đặt triển khai hệ thống cho khách hàng, trạng
thái của các yêu cầu được đổi thành “Deployed”
Trạng thái Accepted: sau khi khách hàng thực hiện kiểm thử nghiệm thu các
yêu cầu, trạng thái yêu cầu được đổi thành “Accepted”
Trạng thái Cancelled: các yêu cầu do khách hàng hủy bỏ được đổi trạng thái
thành “Cancelled”
Trạng thái Pending: các yêu cầu do khách hàng đồng ý tạm dừng không thực
hiện tại thời điểm hiện tại của dự án a.3/ Quy trình đào tạo:
Quy trình này nhằm đưa ra các quy định cụ thể cho hoạt động đào tạo. Hoạt động đào tạo được thực hiện theo các bước được mô tả trong sơ đồ Hình 4.4
Quy trình đào tạo Người
thực hiện Lưu đồ
Người
thông qua Đầu vào Đầu ra
Phòng nhân sự
Nhu cầu đào tạo từ các bộ phận
Lập kế hoạch đào tạo
Chuẩn bị nội dung đào tạo
Thực hiện đào tạo
Đánh giá kết quả Giám đốc Phòng nhân sự Giám đốc Bộ phận phụ trách đào tạo Bộ phận phụ trách đào tạo Phòng nhân sự
Nhu cầu đào tạo từ các bộ phận
Các tài liệu đào tạo
Báo cáo kết quả đào tạo Các tài liệu đào tạo
Kế hoạch đào tạo Tổng hợp nhu cầu đào tạo
Các lớp đào tạo Xác định nhu cầu
đào tạo
a.4/ Quy trình phân tích và thiết kế
Quy trình này mô tả các bước chính trong hoạt động phân tích và thiết kế sản phẩm cho các dự án phần mềm được phát triển bởi các phòng phần mềm tại EVNIT. Sơ đồ quy trình bao gồm các bước được mô tả tại Hình 4.5.
Quy trình Phân tích & Thiết kế Người thực
hiện
Người thông
qua Lưu đồ Đầu vào Đầu ra
Lập kế hoạch phân tích & thiết
kế
Tìm hiểu & phân tích yêu cầu
Bắt đầu
Phê duyệt yêu cầu
Thiết kế giải pháp
Phê duyệt thiết kế (Khách hàng) Yêu cầu được
chấp nhận ? Không chấp nhận Chấp nhận Thiết kế được chấp nhận? Không chấp nhận Kết thúc Chấp nhận - Trưởng dự án - QA Lãnh đạo phòng phần mềm
Kế hoạch dự án Kế hoạch phân tích &
thiết kế chi tiết
- Nhóm nghiệp vụ - Nhóm giải pháp - QA - Trưởng dự án Khách hàng - Trưởng dự án - QA Khách hàng - Nhóm nghiệp vụ - Nhóm giải pháp - QA - Trưởng dự án - Kế hoạch dự án - Kế hoạch phân tích & thiết kế chi tiết
Lãnh đạo phòng phần mềm
Phê duyệt thiết kế (nội bộ) Thiết kế được chấp nhận? Không chấp nhận Chấp nhận - Hội đồng xét duyệt kiến trúc và công nghệ phần mềm của Trung tâm - QA - QA - Trưởng dự án - Lãnh đạo phòng phần mềm Khách hàng - Trưởng dự án - QA - Phiếu khảo sát - Tài liệu Prototype - Tài liệu tìm hiểu nghiệp vụ - Tài liệu Phân tích và đặc tả yêu cầu
- Danh sách yêu cầu
- Tài liệu T hiết kế tổng thể hệ thống
- Tài liệu T hiết kế Cơ sở dữ liệu
- Tài liệu T hiết kế màn hình - Tài liệu Phương án tích hợp các thành phần
Biên bản làm việc trong đó có xác nhận của khách hàng thống nhất các yêu cầu đã xác định
Quyết định phê duyệt hoặc không phê duyệt của Hội đồng xét duyệt kiến trúc và công nghệ phần mềm của Trung tâm
Tài liệu Phân tích và đặc tả yêu cầu
- Phiếu khảo sát - Tài liệu Prototype - Tài liệu tìm hiểu nghiệp vụ - Tài liệu Phân tích và đặc tả yêu cầu
- Tài liệu Thiết kế tổng thể hệ thống - Tài liệu Thiết kế Cơ sở dữ liệu
- Tài liệu Thiết kế màn hình
- Tài liệu Phương án tích hợp các thành phần
- Tài liệu T hiết kế tổng thể hệ thống - Tài liệu T hiết kế Cơ sở dữ liệu
- Tài liệu T hiết kế màn hình
- Tài liệu Phương án tích hợp các thành phần
Biên bản làm việc trong đó có xác nhận của khách hàng về những phần được cho là quan trọng trong thiết kế hệ thống
a.5/ Quy trình kiểm thử
Quy trình này nhằm đưa ra hướng dẫn cụ thể về các bước thực hiện kiểm thử