Một quy trình phát triển phần mềm tốt không chỉ là việc của lập trình viên. Ở mỗi bước, khách hàng cũng có phần việc: cung cấp thông tin, xem bản thử, xác nhận, nghiệm thu. Bài này mô tả quy trình theo góc nhìn của bạn, người đặt phần mềm: ở mỗi bước bạn làm gì và nhận lại gì.
Các đơn vị có thể đặt tên bước khác nhau, nhưng trình tự chung khá giống nhau. Hiểu trình tự này giúp bạn chuẩn bị đúng thứ cần chuẩn bị, và nhận ra khi nào một dự án đang đi chệch hướng.
Bước 1: Khảo sát và phân tích quy trình
Bạn làm gì: kể cách công việc đang diễn ra, cho xem file, phiếu, báo cáo đang dùng. Cử người hiểu việc thật tham gia, không chỉ người ký hợp đồng. Chuẩn bị trước bằng một bản mô tả ngắn sẽ giúp rất nhiều, xem cách viết brief dự án phần mềm.
Bạn nhận gì: bản phân tích quy trình, danh sách vấn đề cần giải quyết, phạm vi đề xuất. Từ đây đơn vị làm phần mềm mới báo giá theo giai đoạn. Báo giá đưa ra trước khi hiểu quy trình thường chỉ là ước đoán.
Bước 2: Chốt phạm vi và tài liệu yêu cầu
Bạn làm gì: đọc và xác nhận những gì sẽ làm, những gì không làm, ai có quyền gì, quy tắc nghiệp vụ ra sao. Đây là lúc nên hỏi nhiều nhất, vì thay đổi ở bước này rẻ hơn mọi bước sau. Tham khảo tài liệu đặc tả yêu cầu phần mềm (SRS) cần có gì.
Bạn nhận gì: tài liệu yêu cầu, danh sách chức năng cho từng giai đoạn, tiêu chí nghiệm thu.
Bước 3: Thiết kế giao diện và cấu trúc dữ liệu
Bạn làm gì: xem bản phác thảo màn hình, thử đi qua các thao tác chính trên bản mô phỏng, góp ý với góc nhìn người dùng thật. Hãy mời cả nhân viên sẽ dùng hằng ngày, họ nhìn ra những thứ người quản lý không thấy.
Bạn nhận gì: thiết kế màn hình, sơ đồ luồng công việc, cấu trúc dữ liệu ở mức người đọc được. Cấu trúc dữ liệu là phần quyết định phần mềm có mở rộng dễ hay khó về sau.
Bước 4: Xây dựng theo từng phần nhỏ
Bạn làm gì: xem bản chạy thử định kỳ, trả lời các câu hỏi phát sinh nhanh để đội làm không bị chờ. Trả lời chậm là nguyên nhân phổ biến nhất khiến dự án kéo dài từ phía khách.
Bạn nhận gì: các bản chạy thử để xem và dùng thử. Phần mềm được xây theo từng phần nhỏ, từng phần đều có kiểm tra tự động, mã nguồn được kiểm tra bằng công cụ tự động. Cách chia phần xem thêm trong giao phần mềm theo giai đoạn.
Bước 5: Kiểm thử và nghiệm thu
Bạn làm gì: dùng thử bằng kịch bản thật với dữ liệu gần thật, ghi lại những gì chưa đúng. Đối chiếu với tiêu chí nghiệm thu đã thống nhất, không đối chiếu với trí nhớ.
Bạn nhận gì: danh sách lỗi đã xử lý, xác nhận từng chức năng đạt. Đây là điểm để bạn nói "đạt" hoặc "chưa đạt, vì sao".
Bước 6: Triển khai và đào tạo
Bạn làm gì: chọn thời điểm chuyển, cử người dùng chính tham gia hướng dẫn, quyết định có chạy song song với cách cũ một thời gian không. Với dữ liệu cũ, cần đối chiếu số liệu trước khi bỏ hẳn hệ thống đang dùng.
Bạn nhận gì: hệ thống chạy trên môi trường thật, tài khoản và phân quyền cho từng người, hướng dẫn sử dụng, thiết lập sao lưu dữ liệu. Mã nguồn và dữ liệu được bàn giao cho bạn theo hợp đồng.
Bước 7: Vận hành, hỗ trợ và mở rộng
Bạn làm gì: thu phản hồi từ người dùng, ghi lại yêu cầu mới, báo lỗi khi gặp. Nên có một người đầu mối phía doanh nghiệp để tránh yêu cầu rời rạc.
Bạn nhận gì: hỗ trợ sửa lỗi, cập nhật, và đề xuất giai đoạn tiếp theo dựa trên cách phần mềm được dùng thật. Phạm vi và cách tính hỗ trợ nên được thỏa thuận từ đầu.
Vai trò của bạn quyết định tiến độ
Phần mềm tốt phụ thuộc vào cả hai phía. Có ba thói quen từ phía khách giúp dự án trơn tru:
- Cử một người đầu mối có quyền quyết định và có thời gian
- Phản hồi trong khoảng thời gian đã thống nhất
- Gom yêu cầu thành danh sách thay vì nhắn lẻ tẻ
Câu hỏi nên hỏi đơn vị làm phần mềm
- Quy trình gồm những bước nào, mỗi bước tôi cần làm gì
- Tôi sẽ được xem bản chạy thử khi nào và bao nhiêu lần
- Lỗi phát hiện sau bàn giao được xử lý ra sao
- Mã nguồn và dữ liệu có bàn giao cho tôi không, theo điều khoản nào
- Thay đổi yêu cầu giữa chừng được xử lý và báo giá thế nào
Khi quy trình này không áp dụng nguyên xi
Đây là một mô hình chung, thực tế sẽ khác tùy dự án. Với công cụ rất nhỏ, vài bước có thể gộp lại. Với hệ thống lớn nhiều bộ phận, một số bước lặp lại ở từng giai đoạn. Có dự án cần thêm bước khảo sát kỹ thuật sâu vì phải kết nối với hệ thống cũ. Đừng xem các bước này là bảng biểu cứng, hãy dùng nó để hỏi đối tác của bạn họ làm thế nào.
Bước tiếp theo
Nếu bạn muốn trao đổi về dự án của mình, hãy xem dịch vụ viết phần mềm theo yêu cầu của chúng tôi hoặc gửi yêu cầu báo giá. Nếu nhu cầu thiên về quản lý nội bộ, bạn cũng có thể đọc về phần mềm quản lý theo yêu cầu.


