Vậy sự kết hợp này đem lại những ưu việt gì cho quá trình phát triển phần mềm?
Khi chúng ta tiếp cận với các phương pháp phát triển phần mềm theo cách truyền thống, thường sẽ có một người đưa quyết định và mô tả chức năng mong muốn của phần mềm. Người đó có thể là PM – Project Manager – còn gọi là quản lý dự án. Bước tiếp theo team phát triển/team dev sẽ viết, xây dựng, test và kiểm soát phiên bản code bằng các công cụ như Git chẳng hạn. Cuối cùng, phần mềm mới phát triển sẽ được test trên các thử nghiệm được thiết kế dựa trên các chức năng mong muốn.
Tuy nhiên quá trình phát triển này đã được chỉ ra là có những thiếu sót nhất định:
Mỗi giai đoạn muốn hoàn thành thì buộc phải hoàn thành giai đoạn trước đó.
Các vấn đề về code hoặc các test do nhiều nhóm khác nhau viết có thể phức tạp khi xử lý.
Các vấn đề liên quan đến phối hợp giữa các team có thể làm chậm tiến độ và ảnh hưởng đến khả năng tối ưu chất lượng code.
Vậy nên trong xu hướng hiện đại, xuất hiện thuật ngữ CI/CD đi cùng với “DevOps”, “Agile”, “tự động hóa”, v.v, gắn liền với các nỗ lực cải thiện chất lượng và năng suất.
CI/CD có thể hiểu là một tập hợp các phương pháp triển khai code được thiết kế để giúp việc tích hợp các thay đổi phần mềm vào production được nhanh chóng và tin cậy. CI/CD pipeline triển khai build và test tự động để cải thiện tốc độ và sớm giải quyết các vấn đề về phần mềm trong quá trình phát triển.