กระบวนการแบบ waterfall เป็นกระบวนการแบบดั้งเดิมที่ใช้กันมานาน โดยลักษณะของกระบวนการจะเป็นการทำไปตามขั้นตอนที่กำหนดทีละขั้นตอนและไม่มีการย้อนกลับขั้นตอน ดังนั้นทุกขั้นตอนจะต้องเสร็จสมบูรณ์ก่อนจึงจะไปทำงานในขั้นตอนถัดไป ขั้นตอนจะเริ่มจากการรวบรวมความต้องการ  สร้างเอกสารสเปค ตามมาด้วยขั้นตอนการออกแบบซึ่งเป็นการแปลรายละเอียดของสเปคออกมาเป็นส่วนประกอบต่างๆ เช่น คลาส เมธอด ฟิลด์ และส่วนต่างๆของโปรแกรม ตามมาด้วยการลงมือพัฒนา ทดสอบ ติดตั้งใช้งานและการบำรุงรักษา

     ในขั้นตอนการพัฒนาฝ่ายพัฒนาจะใช้เอกสารสำหรับการพัฒนาซอฟต์แวร์ในการเขียนโปรแกรม และเมื่อเขียนโปรแกรมเสร็จแล้วจะส่งต่อให้ฝ่ายประกันคุณภาพ ซึ่งจะใช้เอกสารสเปคเป็นตัวตั้งในการทำแผนการทดสอบ และเมื่อโปรแกรมผ่านการทดสอบแล้วจะถูกส่งต่อไปยังฝ่าย DevOps เพื่อติดตั้งใช้งานและบำรุงรักษาต่อไป 

     กระบวนการ waterfall เป็นกระบวนการที่ทนทานต่อการเปลี่ยนแปลงในระหว่างที่ดำเนินโครงการเพราะไม่ยอมให้ย้อนขั้นตอนของกระบวนการ มีการส่งต่อระหว่างขั้นตอนที่ชัดเจนโดยใช้เอกสารเป็นเครื่องมือ เอกสารจะต้องถูกรับรองทั้งจากผู้ส่งและผู้รับของแต่ละขั้นตอน ขั้นตอนถัดไปจะต้องได้รับเอกสารครบถ้วนสมบูรณ์ก่อนจึงจะเริ่มการทำงานได้ ทำให้สามารถติดตามความคืบหน้าได้ง่าย แต่ขาดความยืดหยุ่นและมีความเสี่ยงในการได้ผลลัพธ์ที่ไม่เป็นที่ต้องการเนื่องจากการไม่ยอมให้ย้อนกระบวนการ เช่น หากอยู่ในขั้นตอนพัฒนาซอฟต์แวร์แล้วพบว่ามีการเปลี่ยนแปลงความต้องการ  เราควรจะต้องย้อนกลับไปยังขั้นตอนการรวบรวมความต้องการอีกครั้ง แต่กระบวนการ waterfall ไม่ยอมให้ย้อนขั้นตอนของกระบวนการ ทำให้เราจะไม่รู้ว่าสิ่งที่กำลังพัฒนาตอบโจทย์ความต้องการหรือไม่จนกว่าจะถึงช่วงท้ายๆของกระบวนการ ซึ่งถ้าโครงการของเราใช้เวลานานมาก เช่น 5 ปี นั้นหมายถึงเราต้องรอ 4-5 ปี จึงจะรู้ว่าผลลัพธ์ที่ได้เป็นอย่างไร ดังนั้นกระบวนการ waterfall จึงไม่ค่อยเหมาะกับการพัฒนาแบบสมัยใหม่ที่เน้นตอบสนองความต้องการของลูกค้าหรือผู้ใช้งานอย่างรวดเร็ว