# 20: Deploy sớm và thường xuyên

Việc debug các quá trình sử dụng thực tế và cài đặt thường bị trì hoãn cho đến khi gần kết thúc dự án. Trong một số dự án, việc viết một công cụ cài đặt được giao cho Released Engineer (*) người dù không muốn nhưng vẫn phải đảm nhận công việc này. Sự đánh giá và minh họa phải được làm thủ công để đảm bảo rằng mọi thứ đều hoạt động. Kết quả là nhóm không có kinh nghiệm về việc triển khai sử dụng thực tế lại làm nó cho đến khi quá muộn để thay đổi tình hình.

Quá trình cài đặt hay triển khai sử dụng là điều đầu tiên mà khách hàng đánh giá hoặc đơn giản là bước đầu tiền để có một sản phẩm đáng tin (hoặc ít nhất là dễ debug). Việc triển khai sử dụng phần mềm chính là những gì khách hàng sẽ trải nghiệm. Với việc không triển khai sử dụng phần mềm tốt, bạn sẽ khiến khách hàng cảm thấy nghi ngờ trước khi họ sử dụng sản phẩm của bạn.

Khởi đầu dự án với quy trình cài đặt sẽ cho bạn thời gian để phát triển quy trình đó khi bắt đầu phát triển sản phẩm và thay đổi code cho việc cài đặt sẽ dễ dàng hơn. Chạy và kiểm tra trên một “môi trường sạch” thường xuyên cũng giúp bạn kiểm tra code của mình dựa trên môi trường phát triển hay thử nghiệm. (development or test environments)

Để việc triển khai sử dụng đến cuối cùng đồng nghĩa với việc cần phức tạp hơn để giải quyết các vấn đề trong code của bạn. Nghe có vẻ tuyệt vời trong một IDE, nơi bạn có toàn quyền kiểm soát, có thể làm cho quá trình triển khai sử dụng phức tạp hơn nhiều. Tốt nhất là nên suy nghĩ đến sự đánh đổi này sớm hơn.

Mặc dù việc “triển khai sử dụng thực tế” dường như không có nhiều giá trị kinh tế ngay trước mắt so với việc thấy một sản phẩm chạy trên máy tính của developer, nhưng sự thật là cho đến khi bạn chứng minh sản phẩm của bạn trên một môi trường cụ thể, có rất nhiều việc phải làm để nhận được giá trị kinh tế đó. Nếu lý do bạn đưa ra để trình hoãn việc triển khai sử dụng là vì nó không quan trọng thì hãy làm điều đó vì nó có chi phí thấp. Nếu điều đó quá phức tạp hoặc có nhiều điều chưa chắc chắn, hãy làm những gì bạn sẽ làm với code của mình: thử nghiệm, đánh giá và cấu trúc lại quá trình triển khai sử dụng của bạn.

Quá trình cài đặt hay triển khai sử dụng là điều cần thiết cho chất lượng sản phẩm hoặc sự chuyên nghiệp trong dịch vụ mà khách hàng nhắm đến, vì thế bạn nên kiểm tra và tái cấu trúc lại quá trình này. Chúng tôi kiểm tra và cấu trúc lại code trong suốt dự án và việc triển khai sử dụng cũng cần được thực hiện như vậy.

Giải nghĩa: (*) — ​Kỹ sư chịu trách nhiệm việc compile, kết hợp và đưa vào sản phẩm cuối cùng.