Dự án Capstone ở châu Á
Về truyền thống, dự án capstone là công việc cuối cùng trước khi sinh viên tốt nghiệp khỏi đại học. Với sinh viên khoa học máy tính và kĩ nghệ phần mềm, nhiều dự án capstones là “dự án thực” được cho bởi các công ti trong công nghiệp phần mềm. Trong những dự án này, sinh viên phải áp dụng mọi tri thức họ đã học trong cả bốn năm đại học để giải quyết các vấn đề thực. Các dự án capstone thường là dồn dập, yêu cầu nỗ lực lớn trong cả lập kế hoạch và thực hiện. Trong vài năm qua, tôi đã tiến hành một khảo cứu về capstones ở Nhật Bản, Hàn Quốc, Trung Quốc và Ấn Độ. Sau đây là một số quan sát của tôi:
Nhiều tổ capstone nhận được tài liệu yêu cầu từ khách hàng nhưng thay vì kiểm nghiệm hay thẩm tra yêu cầu họ bắt đầu dự án ngay lập tức. (Về sau tôi thấy ra rằng kĩ nghệ yêu cầu không được dạy trong chương trình của họ.) Nhiều tổ không ước lượng và thương lượng về lịch biểu vì họ tin nó là cố định và không thể được thay đổi. Thường xuyên hơn, tổ bắt đầu dự án bằng việc họp nhiều lần trong tuần để thảo luận cách phân chia công việc nhưng ít người biết cách làm việc trong tổ và quản lí thời gian của họ. Có nhiều thảo luận và biện luận trong các thành viên tổ cho tới khi thời gian sắp hết rồi họ bỏ qua thiết kế và hội tụ vào viết mã. Vì thời gian sẵn có bị giới hạn, đa số công việc dự án được thực hiện bởi vài người làm việc cho tổ với thời gian dài. Tài liệu dự án được viết với ít chi tiết hơn vì nó thường được phân công cho thành viên yếu hơn của tổ như cách cung cấp cho họ cái gì đó để làm. Bởi vì họ không tham gia vào các hoạt động dự án, họ chỉ có thể làm tài liệu điều họ biết. Các chức năng phần mềm thường bị rút bớt lại so với những hứa hẹn ban đầu cho khách hàng bởi vì tổ không thể kết thúc mọi thứ vào lúc cuối.
Phần lớn các dự án capstone đều chuyển giao thấp hơn nhiều so với mong đợi và không qua được kiểm thử chấp nhận của khách hàng. Lí do là tổ gặp khó khăn khi cân bằng tải việc trong toàn dự án. Họ không biết cách ước lượng thời gian được yêu cầu. Họ không biết cách tổ chức nỗ lực của họ cho tốt nên họ dành nhiều thời gian lúc ban đầu vào thiết kế rồi khám phá ra họ không có đủ thời gian cho nên họ dừng lại và nhảy vào viết mã, khi thời gian là không đủ, họ bỏ qua kiểm thử vội vàng cho hoàn thành dự án để cho họ có thể kết thúc dự án capstone và tốt nghiệp.
Nhiều tổ đi theo vòng đời thác đổ nhưng họ thường bỏ qua điều họ làm việc trong yêu cầu và thiết kế khi lao vào viết mã vì mọi sự thay đổi. Không có gì dõi vết được giữa mã và thiết kế và giữa thiết kế và yêu cầu bởi vì nhiều thay đổi đã xảy ra. Ngay cả khi tổ dùng vòng đời lặp, họ có xu hướng tập trung vào chức năng mà họ biết cách mã nhưng để trễ làm việc trên những chức năng khó hơn. Do đó, dự án bao gồm số lượng lớn các chức năng nhỏ nhưng thiếu nhiều chức năng then chốt.
Nhiều thành viên tổ không biết cách làm việc trong tổ nhiều người. Phần lớn các kĩ năng họ học trong bốn năm là về công việc của một người và nó không đổi được qui mô tốt theo dự án với nhiều người. Quản lí cấu hình là vấn đề bị lẫn lộn trong tổ. Nhiều tổ đã không có cách thức đúng để kiểm soát mã nguồn của họ. Nhiều tổ đặt mã của họ ở kho trung tâm, sao chép các tệp cần thiết vào máy tính riêng của họ, làm thay đổi, và rồi thay thế các tệp mà không kiểm tra để xem liệu nội dung gốc có thay đổi trong thời gian đó không. Có các vấn đề về thiếu tệp, thiếu mã trong toàn dự án capstone.
Khi thành viên tổ bận rộn, họ dừng trao đổi lẫn nhau và hội tụ vào công việc riêng của họ. Đây là chỗ nhiều sai lầm được thực hiện. Nhiều tổ không theo dõi khiếm khuyết, đặc biệt trong những tuần cuối cùng trước khi chuyển giao cho khách hàng. Phần lớn các tổ thường không biết liệu khiếm khuyết có được chữa hay không.
Làm việc tổ là cái gì đó không được dạy tốt ở Trung Quốc và Ấn Độ. (Nhật Bản và Hàn Quốc là tốt hơn nhiều.) Ở hai nước này, trách nhiệm của các thành viên tổ thường không rõ ràng. Mặc dầu mọi thành viên tổ đều có kĩ năng kĩ thuật tốt, vài người có đào tạo trong làm việc tổ. Lúc bắt đầu, các tổ được cấu trúc với người lãnh đạo chính thức và ít vai trò được xác định. Tuy nhiên, khi dự án tiến triển, các thành viên tổ nói chung cảm thấy không thoải mái với nhau khi bản ngã của họ bắt đầu nổi lên. Có nhiều xung đột xảy ra trong toàn dự án và thường kết thúc với từng người làm việc riêng của họ một cách độc lập chỉ để cho dự án chạy.
Các thành viên tổ với kĩ năng yếu thường né tránh làm việc hiệu quả bằng việc ẩn đằng sau vai trò mơ hồ như làm tài liệu hay giữ thời gian. Các thành viên với kĩ năng mạnh không muốn nhận điểm xấu, bù cho các thành viên yếu bằng việc nhận công việc phụ thêm. Phần lớn các tổ cảm thấy thoải mái viết mã nhưng họ bao giờ cũng vật lộn giải quyết với vấn đề tích hợp. Đây là chỗ họ cần giúp đỡ từ các thầy trong khoa. Về căn bản, họ không biết cách phát triển phần mềm, cách công nghiệp làm việc. Nói cách khác, họ cần học về qui trình phần mềm được xác định tốt.
Tác phẩm, tác giả, nguồn
- Tác phẩm: Quản lý dự án
- Nguồn: Blog của giáo sư John Vu, Carnegie Mellon University.
- Wiki hóa: https://kipkis.com