IT for Dummies: Các environment trong xây dựng sản phẩm
Hẳn các bạn đã biết, quá trình tạo ra một chức năng, một ứng dụng, một trang web phải trải qua nhiều bước, nhiều công đoạn, đòi hỏi sự tham gia của nhiều bên. Đội ngũ dự án cần phải trải qua nhiều environment để xây dựng được sản phẩm, mỗi environment lại có những thao tác chính được đảm nhiệm bởi các thành viên khác nhau.
#ITforDummies là chuỗi bài viết dành cho những người “nhập môn” IT, cung cấp kiến thức cho độc giả không chuyên về quy trình và công việc của các dự án công nghệ. Nhấp vào đây để đọc các bài viết về series này.
Các bước trong quy trình xây dựng sản phẩm IT
Trước hết, các bước trong quy trình xây dựng sản phẩm IT được gọi là môi trường (environment). Môi trường là tập hợp của phần cứng, phần mềm, dữ liệu và configuration (cài đặt cấu hình) để ứng dụng/ trang web vận hành một cách hiệu quả. Mỗi môi trường sẽ tồn tại ở một nơi khác nhau, thuộc quyền sở hữu của những đối tượng khác nhau và đóng những vai trò khác nhau. Một quy trình xây dựng hoàn thiện nhất gồm 5 môi trường: Local, Development, QA (Quality Assurance), Staging và Production.
Môi trường Local
Đây là môi trường ở máy cá nhân của từng lập trình viên, thường được dùng cho việc lập trình và tự kiếm thử, thường người khác không truy cập được. Môi trường này thường được kết nối đến một cơ sở dữ liệu cục bộ (nằm trên máy tính của từng lập trình viên) hoặc một cơ sở dữ liệu giả, do đó các lập trình viên có thể tuỳ ý code và chỉnh sửa bug mà không bị ảnh hưởng đến dữ liệu thật.
Môi trường Development (Dev)
Đây là môi trường làm việc chung của tất cả các lập trình viên trong một đội dự án. Các code cá nhân được tạo ra tại môi trường local sẽ được merge (tích hợp) và sửa bug tại môi trường development. Việc merge code có thể được thực hiện bởi các lập trình viên hoặc Technical Leader. Do vẫn có cấu hình khá yếu, nên khách hàng và người dùng cuối thường chưa được truy cập vào môi trường này.
Môi trường QA (Quality Assurance)
Ở môi trường này, quy trình làm việc sẽ xuất hiện thêm một nhân tố mới – Tester/ Test Engineer (Chuyên viên kiểm thử). Tại đây, các Tester sẽ lên xác định các lỗi tồn tại trong hệ thống của 2 môi trường trước, thông qua Test Case (Kịch bản kiểm thử), bao gồm mô tả dữ liệu đầu vào (Input), hành động (Action) hoặc sự kiện (Event) và một kết quả mong đợi (Expected Response). Công việc của Tester có thể được thực hiện bằng Manual Testing (Kiểm thử bằng tay) hay Automation Testing (Kiểm thử tự động).
Môi trường Staging
Đây là môi trường dàn dựng, có cấu hình và chức năng gần giống như sản phẩm đầu cuối (môi trường Production). Khách hàng sẽ được tham gia vào môi trường Staging, đội phát triển dự án có trách nhiệm demo các chức năng/ sản phẩm cho khách hàng, trước khi đưa sản phẩm tới người dùng cuối (end user).
Môi trường Production
Tại môi trường Production, sản phẩm sẽ được tung ra cho người dùng cuối (end user) trải nghiệm, hay còn gọi là Go Live. Ở môi trường này, sản phẩm đã được hoàn thiện và bàn giao cho khách hàng, thuộc quyền sở hữu của khách hàng, Tuy nhiên, trong môi trường này vẫn sẽ có các bug xuất hiện, nếu cần can thiệp ngay lập tức để đảm bảo trai nghiệm của người dùng, các lập trình viên sẽ tiến hành hot fix (sửa trực tiếp trên Môi trường Production), với điều kiện phải có sự đồng ý của khách hàng và thông báo cho các bên liên quan.
Thực tế trong các dự án, tuỳ theo chi phí của khách hàng và phân bổ nhân lực, quy trình thực hiện sẽ không bao gồm đủ cả 5 môi trường, mà có thể nhập chung. Đó có thể là nhập chung môi trường Dev và Test, hay môi trường Test và Staging, tuy nhiên cần đảm bảo đủ tối thiểu 2 môi trường: Local và Dev (nhập chung với Test).
Cùng Techie cập nhật tri thức công nghệ được đơn giản hoá qua chuỗi bài viết cho người nhập môn tại hashtag #ITfordummies.