CHƯƠNG 1 - GIỚI THIỆU
1.1 Đặt Vấn Đề
Dự án phần mềm là một đối tượng quản lý phức tạp và có nhiều đặc trưng riêng.
Đó là một hệ thống phức hợp của các mối quan hệ công việc – công việc, con
người – công việc, con người – con người, với nhiều yếu tố tương tác lẫn nhau.
Mỗi tác động và giải pháp của chúng ta đều dẫn đến các hiệu ứng phụ không mong
muốn. Mặc dù phương pháp quản lý dự án đã được hoàn thiện qua nhiều năm, tình
trạng trễ hạn, vượt chi phí hay không đạt về chất lượng trong các dự án phần mềm
vẫn diễn ra khá phổ biến trên thế giới.
Để khắc phục tình trạng này, một số phương pháp và công cụ mới được đã nghiên
cứu và đưa vào ứng dụng trong quản lý dự án. Trong đó mô phỏng liên tục là một
công cụ có nhiều tiềm năng. Mô phỏng liên tục đã được ứng dụng từ hàng chục
năm nay trong nhiều lĩnh vực quản lý, nhưng các nghiên cứu để ứng dụng mô
phỏng liên tục trong quản lý dự án thì chỉ phát triển mạnh trong 10 năm gần đây.
Nhiều mô hình mô phỏng liên tục đã được xây dựng cho quản lý dự án nói chung
và dự án phần mềm nói riêng. Mặc dù có nhiều ưu điểm, mô phỏng liên tục vẫn
chưa trở thành một phương pháp quản lý dự án độc lập có thể thay thế phương
pháp truyền thống (với WBS, sơ đồ Gantt/PERT/CPM…). Do đó một số nhà
nghiên cứu đã đề xuất giải pháp tích hợp, áp dụng cả hai phương pháp nhằm đạt
được hiệu quả cao nhất trong quản lý dự án. Tuy nhiên các kết quả hiện tại chỉ
dừng lại ở mức độ tổng quan rất khó cho các nhà quản lý dự án phần mềm áp dụng
trong thực tế.
1. 2 Mục Đích Và Nội Dung Của Đề Tài
Mục đích của đề tài là xây dựng được một mô hình tích hợp giữa phương pháp
quản lý dự án truyền thống và mô phỏng liên tục ở mức độ chi tiết, cho phép phối
hợp ưu điểm của cả hai phương pháp để đạt được hiệu quả cao nhất và các nhà
quản lý dự án dễ dàng vận dụng mô phỏng liên tục trong công việc quản lý dự án.
Mô hình tích hợp sẽ bao gồm:
Quy trình quản lý dự án gia công phần mềm đang được sử dụng phổ
biến ở Việt Nam.
Các vấn đề cần giải quyết trong quản lý dự án gia công phần mềm.
Những vấn đề nào nên sử dụng phương pháp truyền thống
Những vấn đề nào nên sử dụng mô phỏng liên tục và sử dụng như thế
nào (sử dụng các mô hình đã được xây dựng)
Các nhà quản lý dự án có thể sử dụng các mô hình này để khảo sát các vấn đề của
dự án. Tuy nhiên mục tiêu chính của đề tài không phải là các mô hình sẵn có, mà
là đem đến cho các nhà quản lý dự án tư duy hệ thống, phương pháp tiếp cận hệ
thống để giải quyết các vấn đề của dự án.
Ý nghĩa thực tiễn của đề tài là đưa phương pháp và các thành tựu của mô phỏng
liên tục đến các công ty phần mềm Việt Nam với hy vọng công cụ tiên tiến và
hiệu quả này sẽ giúp nâng cao trình độ quản lý dự án và khả năng cạnh tranh của
ngành công nghiệp phần mềm Việt Nam.
1.3 Đối Tượng Và Phạm Vi Nghiên Cứu
Đối tượng chính mà đề tài nhắm tới là các công ty gia công phần mềm xuất
khẩu. Các công ty phần mềm khác ở Việt Nam có thể sử dụng các kết quả của
nghiên cứu này nếu quy trình phát triển phần mềm các công ty này đang sử
dụng tương đồng với quy trình gia công phần mềm.
Đối tượng sử dụng là các nhà quản lý dự án (project manager), quản lý doanh
nghiệp phần mềm (manager) và các trưởng nhóm (team leader). Đặc điểm của
các đối tượng này là có kinh nghiệm làm việc trong các dự án phần mềm, hàng
ngày tiếp xúc và giải quyết các vấn đề của dự án phần mềm với các mức độ
khác nhau.
Các loại dự án được khảo sát:
Dự án gia công phần mềm: là tạo ra sản phẩm và dịch vụ phần mềm
theo yêu cầu đặt hàng của một khách hàng (khác với việc tạo ra sản
phẩm phần mềm để bán hàng loạt cho nhiều khách hàng).
Phát triển sản phẩm: Gia công phần mềm có thể chỉ làm một dịch vụ
hay công đoạn nào đó: nhập liệu (data entry), hỗ trợ khách hàng
(customer support), kiểm tra sản phẩm (testing), mã hoá chương trình
(coding)…Đối tượng mà đề tài nhắm đến là các dự án phát triển sản
phẩm với nhiều công đoạn.
Nghiên cứu được thực hiện dựa trên các giả định sau:
Hiệu quả của mô phỏng liên tục trong quản lý dự án: nếu áp dụng hợp
lý, mô phỏng liên tục sẽ đang lại hiệu quả nhất định trong việc quản lý
dự án nói chung và dự án phần mềm nói riêng.
Tính đúng đắn của mô hình: mục tiêu của đề tài không phải là xây dựng
mới hay các thay đổi mô hình mô phỏng liên tục mà là tìm cách sử dụng
hiệu quả, hợp lý các mô hình đã được xây dựng. Các mô hình đó được
phát triển và thử nghiệm bởi các chuyên gia, các nhà nghiên cứu và
được công bố trên các tạp chí uy tín nên ta có thể giả định về tính đúng
đắn của mô hình mà không cần kiểm chứng lại.
Đề tài không khảo sát tất cả các mô hình mô phỏng liên tục đã được xây dựng cho
dự án phần mềm mà chỉ tập trung vào các mô hình thuộc 3 nhóm sau:
Nhóm 1 – Quy trình thực hiện dự án
Nhóm 2 – Hoạch định và quản lý nhân sự cho dự án
Nhóm 3 – Quản lý các thay đổi trong dự án
1.4 Phương Pháp Thực Hiện
Mô hình tích hợp chi tiết sẽ được xây dựng từ cơ sở lý thuyết. Sau đó sẽ thử
nghiệm trong thực tế để kiểm chứng hiệu quả và hoàn thiện dần.
Hình 1.1 Phương pháp thực hiện đề tài
1. Mô hình tích hợp PMIM được sử dụng như là cơ sở ban đầu của mô hình
tích hợp mới. Tuy nhiên những đặc điểm và hạn chế của PMIM cũng được
chỉ rõ để làm định hướng cho mô hình mới.
2. Các đặc điểm của dự án phần mềm và quy trình gia công phần mềm được
tìm hiểu để rút ra các công việc, vấn đề của quản lý dự án gia công phần
Mô hình tích hợp
PMIM
Các đặc điểm của dự
án phần mềm
Quy trình gia công
phần mềm
So sánh phương pháp
quản lý dự án truyền
thống với mô phỏng
liên tục
Cơ sở của giải pháp
tích hợp
Các công việc, vấn
đề của quản lý dự án
gia công phần mềm
Lựa chọn phương
pháp phù hợp cho
từng công việc, vấn
đề cụ thể
Mô hình tích hợp chi tiết
Thử nghiệm, đánh giá
Điều chỉnh, tối ưu mô hình
mềm. Các công việc và vấn đề này sẽ được đưa vào mô hình tích hợp mới
để khảo sát.
3. So sánh phương pháp quản lý dự án truyền thống với mô phỏng liên tục (sử
dụng kết quả một số nghiên cứu đã được thực hiện) để rút ra ưu và nhược
điểm của từng phương pháp. Kết quả này được sử dụng để lựa chọn
phương pháp phù hợp cho từng công việc, vấn đề cụ thể từ bước #2.
4. Kết hợp kết quả của các bước #1, #2 và #3 để đưa ra mô hình tích hợp đầu
tiên, được xây dựng hoàn toàn trên cơ sở lý thuyết.
5. Thử nghiệm mô hình trong thực tế và đánh giá kết quả.
6. Điều chỉnh và tối ưu mô hình từ kết quả thực nghiệm của bước #5 và các
phản hồi thu được.
7. Quay lại bước #5 để thực hiện các thử nghiệm mới.
Sau một thời gian thực hiện chu trình thử nghiệm và tối ưu: #5 #6 #5 #6
…ta sẽ xây dựng được mô hình tích hợp hiệu quả có khả năng áp dụng rộng rãi
trong thực tế.
Tuy nhiên do hạn chế về thời gian và số lượng thử nghiệm, mô hình tích hợp được
xây dựng trong đề tài này chưa thể đạt mức độ hiệu quả cao.
CHƯƠNG 2 - TỔNG QUAN
2.1 Sơ lược về tư duy hệ thống và mô phỏng liên tục
Hệ thống
Là một nhóm tương hỗ của các phần tử để tạo ra một dạng thức hành vi thống
nhất.
Tư duy hệ thống (system thinking)
Là phương pháp suy nghĩ trong đó coi hệ thống là một thể thống nhất. Ngược lại
với phương pháp phân tích, chia sự vật hiện tượng thành các thành phần nhỏ mà
ta có thể hiểu được, tư duy hệ thống là cách suy nghĩ theo phương pháp tổng hợp.
Hình 2.1 Phương pháp phân tích và phương pháp tổng hợp
Nguồn: “System Dynamics and its Use in an Organisation” [16]
Thể thống nhất
HỆ THỐNG
Phương pháp tổng
hợp
Phương pháp phân
tích
Hiểu hệ thống
Có kiến thức về hệ
thống
Các thành phần riêng
lẽ
Các phương pháp tư duy hệ thống cung cấp cho chúng ta các công cụ hữu hiệu để
hiểu được các hành vi của một hệ thống động, phức tạp và có thể đưa ra các tác
động phù hợp.
Mục tiêu của tư tưởng hệ thống:
Tối ưu hệ thống, cải thiện mối phụ thuộc tương hỗ giữa các phần tử trong
hệ thống.
Hiểu rõ cấu trúc hệ thống để có thể đưa ra các chính sách phù hợp
Một số tính chất của hệ thống động
Cấu trúc bên trong của hệ thống quyết định hành vi của hệ thống
Xu hướng của các hành vi của hệ thống là để xóa bỏ sự khác biệt giữa trạng
thái hiện tại và trạng thái mong muốn của hệ thống
Quá trình động
Các nguyên nhân gây ra kết quả nhưng kết quả cũng tác động lên các nguyên
nhân. Ngyên nhân của vấn đề thường nằm ở cách xa hiện tượng về không gian
và thời gian. Mỗi vấn đề là kết quả của một quá trình tích lũy sự tương tác giữa
nhiều vấn đề nhỏ trong hệ thống.
Hiệu ứng lề
Các chính sách giải quyết vấn đề trong hệ thống thường tạo ra hiệu ứng lề.
Hiệu ứng lề là những kết quả ngoài dự kiến và nó là nguyên nhân gây ra sự bất
ổn trong hệ thống. Nguyên nhân của hiệu ứng lề là do khuynh hướng trở về
trạng thái ổn định ban đầu của hệ thống.