• Thứ Sáu, 08/04/2005 15:20 (GMT+7)

    Công nghiệp hóa quy trình thiết kế phần mềm: Dễ hay khó?

    Sau bài viết giới thiệu giải pháp dùng ngôn ngữ bản vẽ kỹ thuật để mô tả quy trình thiết kế phần mềm của công ty tin học Hài Hoà đăng trên số tháng 3/2005,t ạp chí Thế Giới Vi Tính - PC World B đã nhận được nhiều ý kiến phẩn hồi từ các công ty phần mềm khác về chủ đề này

    Sau bài viết giới thiệu giải pháp dùng ngôn ngữ bản vẽ kỹ thuật để mô tả quy trình thiết kế phần mềm (PM) của công ty tin học Hài Hòa đăng trên số tháng 3/2005, tạp chí Thế Giới Vi Tính – PC World Series B đã nhận được nhiều ý kiến phản hồi từ các công ty PM trao đổi về chủ đề này.

    Ông Nguyễn Kim Cương – giám đốc công ty CMC Soft tâm sự: Cách đây 4-5 năm, các công ty PM đã ngồi lại với nhau để bàn về quy trình hóa thiết kế PM nhưng rồi sau đó lại im ắng vì thấy “không dễ chút nào”. Vậy mà Hài Hòa vẫn kiên trì theo đuổi và đã tìm ra con đường đi cho mình. Không những thế, cách làm theo kiểu chia nhỏ quá trình làm PM ra rồi phân công mỗi người chuyên một việc như Hài Hòa đang làm có ưu điểm là tìm được nguồn nhân lực đáp ứng ngay công việc. Trước đây để nắm được quy trình thiết kế PM và tham gia vào việc phát triển phần mềm, một kỹ sư phải có 2 năm kinh nghiệm tham gia các dự án. Điều kiện như vậy rất khó vì ai chẳng đi từ không đến có. Còn nếu làm như Hài Hòa, sinh viên CNTT ra trường sẽ được làm quen dần với những kỹ năng: phân tích (analyse), thiết kế (design), lập trình (code), kiểm tra (test)... trong quy trình sản xuất PM. Việc phân chia như vậy là rất hay, phù hợp với trình độ nhân lực hiện nay và khả thi để phát triển ra quy mô lớn. Cách làm của Hài Hòa có thể coi như một phương pháp đào tạo nhân lực đáp ứng được ngay nhu cầu, đồng thời, mỗi công đoạn không cần phải có quá nhiều người trình độ cao.

    Hiện nay, tại CMC Soft cũng có một quy trình sản xuất PM tương tự như của Hài Hòa nhưng được chia thành các giai đoạn và vòng lặp. Tại cuối mỗi vòng lặp, giai đoạn phát triển PM đều có bước test để đánh giá lại tiến độ, chất lượng của sản phẩm. Trong quá trình tìm hiểu yêu cầu của khách hàng (KH), CMC Soft sử dụng “Yêu cầu mức cao” (ghi lại những yêu cầu nghiệp vụ của khách hàng và giải pháp để đáp ứng yêu cầu đó). Sau khi phân tích, thiết kế, CMC Soft sử dụng biểu mẫu “Đặc tả yêu cầu” (mô tả chi tiết cách thức PM đáp ứng yêu cầu của khách hàng). Ngoài ra, CMC Soft cũng sử dụng một tài liệu giống như bản vẽ kiến trúc của PM để giúp KH hiểu được PM sẽ đáp ứng yêu cầu của họ như thế nào. Mặc dù vậy, đây vẫn chưa là giải pháp tối ưu vì KH của CMC Soft có đặc thù riêng nên việc sử dụng các bản vẽ sơ đồ hóa PM không thực sự hiệu quả. Hiện CMC Soft và Hài Hòa cũng đang hợp tác, trao đổi kinh nghiệm xây dựng quy trình PM.

    Ông Nguyễn Sỹ Dũng – giám đốc dự án, công ty giải pháp PM Đan Phong:

    Bài “Công nghiệp hóa quy trình thiết kế PM” đã nói đúng suy nghĩ của giới lập trình PM. Quả thực, kỹ sư CNTT trao đổi với nhau bằng ngôn ngữ lập trình thì không có gì phải bàn nhưng vấn đề lại ở chỗ, KH của Đan Phong là các đơn vị ứng dụng, họ có thể không biết về CNTT nhưng lại phải biết sử dụng PM. Vì vậy, đối với mỗi đơn đặt hàng, việc trao đổi với khách hàng, rồi từ những trao đổi đến mô hình hóa, rồi từ mô hình hóa lại trao đổi lại với KH thế nào là cả một quá trình phức tạp, mà quá trình này lại quyết định việc PM có được KH nghiệm thu hay không. Và đã là PM ứng dụng bao giờ cũng có phát sinh nên kỹ sư lập trình không thể chỉ ngồi lập trình không mà phải có hiểu biết xã hội, vì thế Đan Phong luôn tạo điều kiện cho kỹ sư tiếp xúc với KH.

    Ngoài ra, Đan Phong cũng đưa các biểu mẫu (form) vào áp dụng. Có nhiều loại biểu mẫu cho từng công đoạn: nhận yêu cầu khách hàng, cài đặt, khảo sát hệ thống… để đảm bảo nhân viên không bỏ sót việc. Nhân viên khi thực hiện nhiệm vụ nào thì sử dụng biểu mẫu đó. Đơn cử như khi đi lấy yêu cầu KH, dựa trên biểu mẫu, cộng với kiến thức xã hội của các kỹ sư sẽ giúp ghi nhận tốt nhất yêu cầu của KH đồng thời tính đến các tình huống phát sinh (một hình thức tư vấn cho KH). Chẳng hạn, KH chỉ đưa ra một yêu cầu rất đơn giản là viết PM quản lý lịch đặt phòng cho một thẩm mỹ viện. Để đảm bảo khi PM này được cài đặt, không có tình trạng khách phải chờ đợi, người kỹ sư cần tính đến nhiều yếu tố như phòng, thiết bị, mỹ phẩm, nhân viên…

    Tùy theo quy mô từng hợp đồng, Đan Phong đưa ra quy trình phát triển PM theo hướng linh hoạt chứ không bó buộc kỹ sư làm việc theo từng công đoạn riêng, bởi người lập trình nếu chỉ làm từng công đoạn trên cả một dây chuyền sẽ không có kiến thức tổng quát về PM mình đang làm, như vậy sẽ giống một người thợ hơn một kỹ sư. Chỉ với những hợp đồng lớn Đan Phong mới chia tách rõ từng công đoạn. Theo đó, sẽ có người phân tích thiết kế dày dạn kinh nghiệm cùng trao đổi, giao việc cho người lập trình; công đoạn lập trình và test (từng chức năng) được tiến hành song song. Trong quá trình này, các thành viên trong nhóm phát triển PM cũng phải lên kế hoạch cho công việc để tránh trùng lắp đồng thời tiện cho việc đánh giá hiệu quả lao động. Sau lập trình và thiết kế sẽ qua công đoạn test tổng thể. Đội test tổng thể hoàn toàn biệt lập với đội test khi lập trình và quá trình này bao gồm cả test lỗi lập trình và test tình huống sử dụng PM. Khi đảm bảo PM không còn lỗi mới chuyển sang bộ phận triển khai.

    Thu Nga ghi

    ID: B0504_16