ต้องบอกก่อนว่าในอดีต การพัฒนาซอฟต์แวร์มักถูกแบ่งออกเป็นสองฝ่ายหลัก: ฝ่ายพัฒนา (Dev) responsible for creating new features and fixing bugs, and ฝ่ายปฏิบัติการ (Ops) responsible for deploying and maintaining the software in production.
วิธีการแบบดั้งเดิมนี้มักเกิดปัญหาหลายอย่าง เช่น :
- การสื่อสารที่ไม่ดี : สองฝ่ายมักทำงานแยกกัน leading to misunderstandings and delays.
- กระบวนการที่ช้า : การเปลี่ยนแปลงซอฟต์แวร์ต้องผ่านขั้นตอนมากมาย slowing down the release of new features.
- ความน่าเชื่อถือที่ต่ำ : การ deploy ซอฟต์แวร์ใหม่มักเกิดปัญหา leading to downtime and outages