การทำซ้ำคือการทำซ้ำกระบวนการเพื่อสร้างลำดับของผลลัพธ์ (อาจไม่ จำกัด จำนวน) โดยมีจุดมุ่งหมายเพื่อเข้าใกล้จุดประสงค์หรือผลลัพธ์ที่ต้องการ ในบริบทของคณิตศาสตร์หรือวิทยาศาสตร์คอมพิวเตอร์การทำซ้ำ (พร้อมกับเทคนิคการเรียกซ้ำที่เกี่ยวข้อง) เป็นหน่วยการสร้างมาตรฐานของอัลกอริทึม
ในการเขียนโปรแกรมคอมพิวเตอร์การวนซ้ำหรือเรียกอีกอย่างว่าลูปคำภาษาอังกฤษเป็นโครงสร้างควบคุมภายในอัลกอริทึมที่แก้ไขปัญหาที่กำหนดซึ่งสั่งให้คอมพิวเตอร์ดำเนินการตามลำดับของคำสั่งซ้ำ ๆโดยทั่วไปจนกระทั่งเกิด เงื่อนไขทางตรรกะเฉพาะ
สิ่งสำคัญคือต้องเน้นว่าลำดับและการเลือกประกอบขึ้นเป็นหนึ่งในสามโครงสร้างพื้นฐานสำหรับการแก้ปัญหาอัลกอริทึมของปัญหาเฉพาะตามทฤษฎีบทBöhm-Jacopini การวนซ้ำมีหลายรูปแบบ ที่รู้จักกันดีคือ MENTRE, REPEAT และ PER กล่าวได้ว่าการทำซ้ำเป็นลิงก์ที่ชัดเจนของการเขียนโปรแกรมที่ช่วยให้คุณสามารถดำเนินการตามขั้นตอนโดยอัตโนมัติซึ่งไม่เพียงพอที่จะดำเนินการตามลำดับของคำสั่ง
สิ่งที่เรียกว่า "ลูปไม่มีที่สิ้นสุด" เป็นกรณีของการวนซ้ำเนื่องจากข้อผิดพลาดในการเขียนโปรแกรมที่หยุดการทำงานของโปรแกรมในขณะที่ในเทคนิคการเขียนโปรแกรมบางอย่างโดยเฉพาะอย่างยิ่งกับไมโครคอนโทรลเลอร์จะใช้โดยเจตนาเพื่อวนซ้ำภายในโปรแกรมอย่างไม่สิ้นสุด
ในการพัฒนาซอฟต์แวร์การทำซ้ำจะใช้เพื่ออธิบายกระบวนการวางแผนและการพัฒนาแบบฮิวริสติกซึ่งแอปพลิเคชันได้รับการพัฒนาในส่วนเล็ก ๆ ที่เรียกว่าการทำซ้ำ การทำซ้ำแต่ละครั้งจะได้รับการตรวจสอบและวิจารณ์โดยทีมซอฟต์แวร์และผู้ใช้ปลายทาง ข้อมูลเชิงลึกที่ได้รับจากการวิจารณ์การทำซ้ำใช้เพื่อกำหนดขั้นตอนต่อไปในการพัฒนา แบบจำลองข้อมูลหรือแผนภาพลำดับซึ่งมักใช้ในการพล็อตการทำซ้ำติดตามสิ่งที่ได้รับการทดลองอนุมัติหรือละทิ้งและท้ายที่สุดก็ทำหน้าที่เป็นพิมพ์เขียวสำหรับผลิตภัณฑ์ขั้นสุดท้าย
ความท้าทายในการพัฒนาซ้ำ ๆ คือความสามารถในการตรวจสอบให้แน่ใจว่าการทำซ้ำทั้งหมดเข้ากันได้ เมื่อมีการอนุมัติการทำซ้ำแต่ละครั้งนักพัฒนาสามารถใช้เทคนิคที่เรียกว่าวิศวกรรมย้อนกลับซึ่งเป็นขั้นตอนการตรวจสอบและการตรวจสอบอย่างเป็นระบบเพื่อให้แน่ใจว่าการทำซ้ำแต่ละครั้งจะเข้ากันได้แบบย้อนหลัง ข้อดีของการใช้การพัฒนาแบบวนซ้ำคือผู้ใช้ปลายทางมีส่วนร่วมในกระบวนการพัฒนา แทนที่จะรอจนกว่าแอปพลิเคชันจะเป็นผลิตภัณฑ์ขั้นสุดท้ายเมื่อไม่สามารถทำการเปลี่ยนแปลงได้อย่างง่ายดายปัญหาจะถูกระบุและแก้ไขในแต่ละขั้นตอนของการพัฒนา การพัฒนาแบบวนซ้ำบางครั้งเรียกว่าการพัฒนาแบบวงกลมหรือวิวัฒนาการ