Chúng ta khá quen thuộc với các thuật ngữ Alpha, Beta, Release,… vậy chúng có ý nghĩa như thế nào và được đặt tên trong những giai đoạn nào của một vòng đời phát triển của phần mềm thì điều này ít ai để ý.

Ở đây là một bài viết ngắn gọn giúp các nhà phát triển phần mềm cũng như khách hàng có sự hiểu biết nhất định về chúng.

  • Pre-Alpha
    • Giai đoạn này chủ yếu là lấy yêu cầu của khách hàng, phân tích hệ thống
    • Phát triển hệ thống cùng với kiểm thử hộp trắng
    • Thường trong giai đoạn này sẽ được build hằng đêm (night build)
  • Alpha
    • Sau khi kiểm tra hộp trắng, phần mềm đã có thể cho ra mắt bản Alpha. Với bản Alpha, đã bắt đầu có thể test hộp đen (test chéo)
    • Phần mềm Alpha có thể chạy không ổn định, làm treo máy hoặc mất dữ liệu là điều có thể chấp nhận được
    • Một điều quan trọng trong bản Alpha là các chức năng phải được “đóng băng”, nghĩa là không có bất cứ chức năng nào được thêm mới trong phiên bản này.
  • Beta
    • Phiên bản này sẽ tinh giảm các thao tác của người dùng, có thể dùng các tiện ích để hổ trợ
    • Phiên bản này dùng tester chủ yếu là nhân sự nội bộ nhằm làm giảm giá thành phần mềm
    • Với phiên bản Demo này đã có thể demo cho khách hàng xem
    • Có 2 khái niệm gắn liền với với Beta: Close Beta và Open Beta, trong đó Close Beta dùng cho các nhóm người dùng nhỏ lẻ độc lập và Open Beta dùng cho một cộng đồng rộng lớn
    • Ở giai đoạn này thường người dùng sẽ đưa thêm yêu cầu để phát triển trong phiên bản sau, cần ghi nhận lại để chuẩn bị cho phiên bản kế tiếp
  • Release Candidate
    • Có thể tạm dịch là “Ra mắt Ứng cử viên”, thường viết tắt là RC
    • Sẽ phát hành phần mềm nếu như hệ thống không xuất hiện bất kỳ lỗi nghiêm trọng nào
    • Có khi phải qua thêm giai đoạn Gamma, Delta để tăng số chu kỳ của phần mềm lên
    • Người ta có thể dùng Omega hoặc Zenith để đánh dấu giai đoạn hưng thịnh của phần mềm không có lỗi và chuẩn bị xuất bản
    • Mã nguồn được xem như là hoàn tất  và sẽ không có đơn vị mã lệnh mới nào được thêm vào nữa
    • Mã nguồn phải được backup kỹ càng để chuẩn bị cho các đợt bảo trì về sau