MỞ ĐẦU Tóm tắt chương Chương này trình bày về bối cảnh nghiên cứu, sự phát triển của ngành công nghệ phần mềm ở Việt Nam trong những năm gần đây, những cơ hội và thách thức.Từ đó đưa ra lý do để thực hiện đề tài này. Đồng thời giới thiệu về mục tiêu nghiên cứu, phạm vi nghiên cứu, phương pháp nghiên cứu và bố cục chung của đề tài.1 Bối cảnh nghiên cứu Ngày nay lĩnh vực công nghệ thông tin (CNTT) nói chung ngành công nghệ phần mềm nói riêng đã và đang trở thành xu hướng phát triển của thế giới.[14] Để tồn tại và phát triển các công ty hoạt động trong lĩnh vực CNTT luôn luôn phải đối mặt và đòi hỏi phải vượt qua nhiều thách thức khác nhau như sự thay đổi nhanh chóng của công nghệ, xu hướng dịch vụ hóa trong đó làm hài lòng khách hàng luôn là mục tiêu hàng đầu, là thử thách quan trọng mà các công ty phải vượt qua.[8] Để làm được điều đó đòi hỏi các tổ chức phải xây dựng cho mình một tầm nhìn, và định hướng mục tiêu cụ thể, từng bước từng bước thực hiện nhằm đạt được mục tiêu cụ thể đó. Nhà quản lý phải biết phối hợp các nguồn lực hiện có, cùng nhau hợp tác để hướng đến mục tiêu chung. Bên cạnh đó, để hạn chế rủi ro cho dự án đòi hỏi nhà quản lý cần phải có năng lực dự đoán trước những vấn đề có thể phát sinh trong quá trình thực hiện dự án.
Để làm được những điều trên, việc xây dựng một quy trình (process) phù hợp sẽ là công cụ hữu ích để các công ty, tổ chức có thể dễ dàng đạt được mục tiêu mà mình đề ra. Hiện nay, giống như nhiều công ty khác, CSC VN cũng đã và đang sử dụng CMMI, AGILE như những công cụ hiệu quả cho công việc quản lý các dự án của công ty. Với cá nhân đang là một nhân viên kiểm thử phần mềm (tester) lại CSC VN, được tiếp cận và làm việc với cả 2 quy trình trên, bản thân nhận thấy mỗi quy trình đều có những điểm mạnh và đồng thời cũng có những hạn chế. Các dự án sử dụng CMMI hầu hết yêu cầu phải là những dự án có quy mô lớn, có tính chất ổn định, những người tham gia thực hiện CMMI đòi hỏi phải có trải qua quá trình đào tạo bài bản, có kiến thức về CMMI.
17 Đặc biệt, CMMI đặt nặng vấn đề tài liệu, hầu hết tất cả công việc, quy trình, các vấn đề liên quan đều phải được ghi lại, nó làm mất rất nhiều thời gian và công sức cho những người tham gia dự án. Bên cạnh đó, Agile với đặc thù là linh hoạt hơn, đáp ứng tức thời sự thay đổi của môi trường, của khách hàng.[7] Tuy nhiên nó lại có hạn chế là đòi hỏi sự giao tiếp liên tục của con người, do đó các dự án Agile phải là những dự án nhỏ, các thành viên phải ngồi gần nhau. Trong quá trình thực hiện dự án, hầu hết không ghi lại thành tài liệu, nếu có sự thay đổi nhân sự trong dự án, người mới sẽ khó lòng bắt kịp vì không hề có tài liệu hướng dẫn nào để lại từ những người làm trước đó. Đòi hỏi người tham gia dự án phải có nhiều kinh nghiệm về vấn đề mình đang làm.
CMMI đã được CSC sử dụng trong một khoảng thời gian dài, hơn 10 năm, trong khi đó Agile bắt đầu được công ty nghiên cứu và sử dụng từ năm 2013 cho đến nay. Đồng thời các dự án của CSC có tính đa dạng: về quy mô, mức ổn định,… Vì vậy nếu chỉ đơn thuần sử dụng CMMI hoặc Agile sẽ không thể áp dụng trên toàn bộ các dự án, cũng như hiệu quả nó mang lại sẽ không cao.2 Lý do thực hiện đề tài Do đó, với đề tài này, mong muốn có thể thực hiện nghiên cứu một mô hình mới dựa trên sự kết hợp hai mô hình cơ bản CMMI và Agile (Scrum). Mô hình mới có thể ứng dụng linh hoạt vào nhiều loại dự án của công ty hơn so với hai mô hình trước là CMMI và Scrum. Đồng thời mang lại đạt hiệu quả cao hơn cho các dự án như tăng độ hài lòng của khách hàng, giảm độ trễ, giảm chi phí… 1.3 Mục tiêu nghiên cứu Đề tài thực hiện với mong muốn áp dụng hướng tiếp cận mới vào quy trình phát triển phần mềm của công ty CSC VN, xây dựng một quy trình hoàn chỉnh dựa trên sự kết hợp giữa CMMI và SCRUM được ứng dụng vào một dự án cụ thể của CSC VN.
Từ đó đánh giá được khả năng ứng dụng vào các dự án cũng như hiệu quả mang lại cho công ty.4 Phạm vi nghiên cứu 1.1 Đối tượng nghiên cứu Lý thuyết về CMMI và AGILE – SCRUM Các dự án của công ty CSC VN. Những người đã hoặc đang tham gia vào các dự án có sử dụng CMMI và SCRUM.2 Thời gian, không gian nghiên cứu Đề tài được thực hiện từ tháng 10/2014 – 6/2015 tại công ty CSC VN.5 Phương pháp nghiên cứu Đề tài được thực hiện bằng nghiên cứu định tính, nghiên cứu tài liệu, phỏng vấn trao đổi trực tiếp để lấy thông tin và thu thập ý kiến. Dựa trên kiến thức cơ bản về CMMI, Agile, cũng như nhận biết được những mặt ưu điểm và hạn chế của từng mô hình, từ đó sẽ đi đến thiết kế và xây dựng bảng câu hỏi. Bảng câu hỏi sẽ được xây dựng khác nhau trên từng nhóm đối tượng khác nhau.
Nhóm đối tượng nghiên cứu sẽ là những người có tham gia vào dự án phát triển phần mềm có sử dụng CMMI hoặc Scrum. Tuy nhiên tùy vào mức độ và vai trò mỗi người trong dự án sẽ khác nhau nên yêu cầu bảng câu hỏi phải khác nhau để phù hợp với từng đối tượng. Việc thực hiện khảo sát kết hợp với phỏng vấn này có những thuận lợi: đối tượng tham gia khảo sát làm cùng công ty nên có thể gặp và trao đổi trực tiếp, bằng việc trao đổi mặt đối mặt có thể làm rõ được vấn đề một cách dễ dàng, có thể có thêm nhiều thông tin hữu ích được chia sẻ từ người được phỏng vấn. Từ đó độ tin cậy của thông tin cao hơn, giúp hình thành ý tưởng cho mô hình mới nhanh hơn, tính thực tế cao hơn.
Tuy nhiên phương pháp khảo sát này cũng có hạn chế: chỉ thực hiện một lúc trên 1 hoặc một nhóm nhỏ người, do đó thời gian thực hiện khảo sát có thể sẽ kéo dài và không liên tục. Đặc biệt, đối với đối tượng là những người cấp quản lý (PM – Project Manager), sẽ hơi khó khăn để liên hệ sắp xếp thời gian để thực hiện khảo sát.6 Bố cục luận văn Luận văn gồm các phần: Chương 1: Giới thiệu về đề tài. Lý do chọn đề tài, mục tiêu, phạm vi và phương pháp nghiên cứu. Chương 2: Cơ sở lý thuyết.
Tìm hiểu về CMMI, AGILE – SCRUM, điểm mạnh và điểm yếu của từng mô hình. Chương 3: Thiết kế nội dung nghiên cứu. Tổng quan về công ty CSC VN, trình bày phương pháp nghiên cứu, quá trình nghiên cứu, kết quả của quá trình nghiên cứu. Chương 4: Phân tích dựa trên kết quả nghiên cứu ở trên, đề xuất mô hình, đưa ra hướng dẫn ứng dụng cụ thể.
Chương 5: Ứng dụng vào một số dự án của công ty, kết quả đạt được. Chương 6: Kết luận, hướng phát triển. Tài liệu tham khảo.7 Kết chương Chương 1 giới thiệu tổng quan về đề tài, giải thích lý do chọn đề tài, mục tiêu nghiên cứu, và phương pháp để thực hiện đề tài. 20 Chương 2: CƠ SỞ LÝ THUYẾT Tóm tắt chương Chương này với mục đích trình bày tổng quan cơ sở lý thuyết về CMMI và Agile – Scrum.
Tìm hiểu về khái niệm, các thành phần, mô hình của CMMI. Các mức độ trưởng thành, ưu điểm và hạn chế khi sử dụng CMMI. Tương tự cho Agile, chương này cũng đi tìm hiểu khái niệm Agile, tuyên ngôn Agile. Giới thiệu về Scrum framework trong Agile, các thành phần trong Scrum.
Những ưu điểm và hạn chế của Agile – Scrum framework.1 Tổng quan về CMMI 2.1 CMMI là gì Trong giai đoạn công nghệ phát triển như hiện nay, để tồn tại và phát triển đòi hỏi các công ty phải cung cấp các sản phẩm, dịch vụ với chất lượng tốt hơn, thời gian nhanh hơn và giá cả phải cạnh tranh hơn. Chính vì vậy càng về sau này sản phẩm ra đời càng đòi hỏi độ phức tạp cao hơn, công nghệ hiện đại hơn gấp nhiều lần so với trước đây. Bên cạnh đó vấn đề tổ chức, quản lý phải đảm bảo có thể thích nghi và đáp ứng được những yêu cầu cao về công nghệ và tính năng phức tạp của sản phẩm từ phía người dùng. Trong số những mô hình, tiêu chuẩn, phương pháp luận hay các hướng dẫn hiện có mặc dù có thể giúp cho tổ chức cải thiện được cách làm kinh doanh, nhưng phần lớn nó chỉ tập trung vào hướng làm kinh tế là chủ yếu, mà không đưa ra được hướng tiếp cận một cách hệ thống vào những vấn đề mà hầu hết các tổ chức gặp phải.
Chính vì chỉ tập trung kinh doanh nên vô tình những mô hình cũ này lại trở thành rào cản mà tổ chức cần phải cải thiện để đảm bảo cho mục tiêu phát triển trong tương lai. CMMI ra đời cung cấp cơ hội để các tổ chức có thể tránh hoặc loại bỏ được những rào cản, hạn chế nói trên. CMM được viết tắt từ Capability Maturity Model – Mô hình năng lực trưởng thành. Mô hình này tập trung mô tả các quy trình, ngữ cảnh, cách tiếp cận tổ chức công việc để đạt 21 hiệu quả cao.
CMM được định ra như một phương pháp để đánh giá và đo sự trưởng thành của quá trình phát triển phần mềm của một tổ chức.[2] Các giai đoạn hình thành và phát triển của CMMI được thể hiện qua hình 2. 1: Lịch sử của CMMs CMMI (Capability Maturity Model Integration) – Mô hình tích hợp năng lực trưởng thành, là mô hình tích hợp của nhiều CMMs (Capability Maturity Models). Được dùng để quản lý chất lượng cho các tổ chức. Nó có thể được sử dụng để định hướng quản lý, định hướng phát triển cho một dự án, một bộ phận của tổ chức hoặc toàn bộ tổ chức đó.[2] CMMI được tạo ra và duy trì bởi một nhóm gồm có các thành viên của chính phủ Mỹ và Software Engineering Institute (SEI) – Viện công nghệ phần mềm Mỹ.
22 SEI đã nghiên cứu và xác định ra một số yếu tố mà một tổ chức cần tập trung vào để có thể cải thiện được quá trình kinh doanh. Trong số đó, có 3 yếu tố quan trọng: con người, thủ tục, và phương pháp.