Η επανάληψη είναι η επανάληψη μιας διαδικασίας, για τη δημιουργία μιας ακολουθίας αποτελεσμάτων (πιθανώς απεριόριστων), με στόχο την προσέγγιση ενός επιθυμητού σκοπού ή αποτελέσματος. Στο πλαίσιο των μαθηματικών ή της πληροφορικής, η επανάληψη (μαζί με τη σχετική τεχνική της αναδρομής) είναι ένα τυπικό δομικό στοιχείο των αλγορίθμων.
Στον προγραμματισμό υπολογιστών, η επανάληψη, που ονομάζεται επίσης ο αγγλικός όρος loop, είναι μια δομή ελέγχου, μέσα σε έναν αλγόριθμο που επιλύει ένα δεδομένο πρόβλημα, ο οποίος διατάζει τον υπολογιστή να εκτελεί επανειλημμένα μια ακολουθία οδηγιών, γενικά μέχρι την εμφάνιση του συγκεκριμένες λογικές συνθήκες.
Είναι σημαντικό να σημειωθεί ότι η ακολουθία και η επιλογή αποτελούν μία από τις τρεις θεμελιώδεις δομές για την αλγοριθμική επίλυση ενός συγκεκριμένου προβλήματος σύμφωνα με το θεώρημα Böhm-Jacopini. Υπάρχουν διάφορες μορφές επανάληψης. τα πιο γνωστά είναι τα MENTRE, το REPEAT και το PER. Μπορούμε να πούμε ότι η επανάληψη είναι ο ισχυρός σύνδεσμος προγραμματισμού που σας επιτρέπει να αυτοματοποιήσετε την εκτέλεση μιας διαδικασίας, η οποία δεν αρκεί για να εκτελέσετε απλώς μια ακολουθία οδηγιών.
Το λεγόμενο "άπειρο βρόχο" είναι μια περίπτωση επανάληψης λόγω σφάλματος προγραμματισμού που σταματά την εκτέλεση του προγράμματος, ενώ σε ορισμένες τεχνικές προγραμματισμού, ειδικά με μικροελεγκτές, χρησιμοποιείται σκόπιμα για να επαναλαμβάνεται απεριόριστα μέσα στο πρόγραμμα.
Στην ανάπτυξη λογισμικού, το επαναληπτικό χρησιμοποιείται για να περιγράψει μια ευρετική διαδικασία σχεδιασμού και ανάπτυξης όπου μια εφαρμογή αναπτύσσεται σε μικρές ενότητες που ονομάζονται επαναλήψεις. Κάθε επανάληψη ελέγχεται και υποβάλλεται σε κριτική από την ομάδα λογισμικού και τους πιθανούς τελικούς χρήστες. Οι γνώσεις που αποκτήθηκαν από την κριτική μιας επανάληψης χρησιμοποιούνται για να προσδιορίσουν το επόμενο βήμα στην ανάπτυξη. Μοντέλα δεδομένων ή διαγράμματα ακολουθίας, τα οποία χρησιμοποιούνται συχνά για τη σχεδίαση επαναλήψεων, παρακολουθούν τι έχει δοκιμαστεί, εγκριθεί ή απορριφθεί και τελικά χρησιμεύουν ως ένα είδος σχεδίου για το τελικό προϊόν.
Η πρόκληση με την επαναληπτική ανάπτυξη είναι να διασφαλιστεί ότι όλες οι επαναλήψεις είναι συμβατές. Δεδομένου ότι κάθε νέα επανάληψη εγκρίνεται, οι προγραμματιστές μπορούν να χρησιμοποιήσουν μια τεχνική γνωστή ως μηχανική προς τα πίσω, η οποία είναι μια συστηματική διαδικασία επανεξέτασης και επαλήθευσης για να βεβαιωθείτε ότι κάθε νέα επανάληψη είναι συμβατή προς τα πίσω. Το πλεονέκτημα της χρήσης επαναληπτικής ανάπτυξης είναι ότι ο τελικός χρήστης συμμετέχει στη διαδικασία ανάπτυξης. Αντί να περιμένουμε έως ότου η εφαρμογή είναι ένα τελικό προϊόν, όταν οι αλλαγές δεν μπορούν εύκολα να γίνουν, τα προβλήματα εντοπίζονται και επιλύονται σε κάθε στάδιο ανάπτυξης. Η επαναληπτική ανάπτυξη καλείται μερικές φορές κυκλική ή εξελικτική ανάπτυξη.