Skip to main content

Τι είναι ο ακραίος προγραμματισμός;

Ο ακραίος προγραμματισμός είναι μία από τις πιο πρόσφατες μεθόδους ανάπτυξης λογισμικού.Στόχος του είναι να βελτιώσει τις παραδοσιακές μεθόδους ανάπτυξης λογισμικού δίνοντας έμφαση στην επιχειρηματική αξία και την ποιότητα.Αυτή η μέθοδος προγραμματισμού προσπαθεί να παραδώσει πλήρη και χωρίς σφάλματα λογισμικού που ανταποκρίνονται στις επιχειρηματικές ανάγκες, μέσα σε διαστήματα όσο το δυνατόν μικρές εβδομάδες.Μια ομάδα αναλυτών προσπαθεί να πάρει όλες τις απαιτήσεις από τους χρήστες.Στη συνέχεια, ένα σύνολο σχεδιαστών δημιουργούν την ευρεία δομή του συστήματος.Μετά από αυτό, οι προγραμματιστές κωδικοποιούν το σύστημα μέσα σε αυτή τη δομή.Οι δοκιμαστές στη συνέχεια διασφαλίζουν ότι ο κώδικας είναι χωρίς σφάλματα και πληροί τις απαιτήσεις.

Το κύριο πρόβλημα που αντιμετωπίζεται με την παραδοσιακή ανάπτυξη είναι ότι οι ίδιοι οι χρήστες δεν είναι πάντα σαφείς σχετικά με τις απαιτήσεις τους και οι απαιτήσεις συχνά αλλάζουν κατά τη διάρκεια του παρατεταμένου χρόνου που χρειάζεται για να δημιουργηθείτο λογισμικό.Διαφορετικοί άνθρωποι εμπλέκονται σε διαφορετικά στάδια και η τεκμηρίωση είναι σχεδόν ποτέ πλήρης, έτσι ώστε οι άνθρωποι στα μεταγενέστερα στάδια δεν μπορούν να καταλάβουν τη διαδικασία σκέψης των ανθρώπων στα προηγούμενα στάδια.Αυτό έχει ως αποτέλεσμα λογισμικό χαμηλής ποιότητας καθώς και χαμηλή επιχειρηματική αξία.Το κίνητρο είναι να παρέχει πλήρως λειτουργικό λογισμικό που αντιμετωπίζει κάποιες κρίσιμες επιχειρηματικές ανάγκη.Η αλλαγή των απαιτήσεων είναι προσαρμοσμένη στην επόμενη παράδοση.

Extreme Programming, ή XP για σύντομο χρονικό διάστημα, υπογραμμίζει την ποιότητα γράφοντας δοκιμές πριν από την πραγματοποίηση του προγραμματισμού.Καθώς γράφεται το λογισμικό, ο κώδικας εξετάζεται και δοκιμάζεται πολλές φορές την ημέρα.Το όλο λογισμικό συγκεντρώνεται και δοκιμάζεται μία ή ακόμα και αρκετές φορές την ημέρα.Αυτό γίνεται για να διασφαλιστεί ότι κανένα μέρος του λογισμικού δεν φέρνει το σύστημα κάτω.Λόγω αυτής της προσέγγισης, η διαδικασία σκέψης, ο σχεδιασμός και η κωδικοποίηση που πηγαίνει στη δημιουργία λογισμικού ελέγχεται αμέσως.Η ευθύνη της ανάπτυξης οποιουδήποτε λογισμικού έχει μοιραστεί.

Με αυτή τη μέθοδο ανάπτυξης, το λογισμικό ξεκινά με ένα απλό σχέδιο και εξελίσσεται για να ικανοποιήσει τις πρόσθετες επιχειρηματικές ανάγκες.Η δημιουργία χαρακτηριστικών αποφεύγεται μέχρι να γίνουν πραγματικά υψηλή προτεραιότητα.Η έμφαση δίνεται στην ομαδική εργασία για τη δημιουργία πλήρων συστημάτων, έτσι ώστε κάθε μέλος της ομάδας να παίζει κάθε μέρα το ρόλο του αναλυτή, ο σχεδιαστής, ο προγραμματιστής και ο δοκιμαστής.Υπάρχει έντονη επικοινωνία στην ομάδα προγραμματισμού, καθώς και μεταξύ των προγραμματιστών και των χρηστών στους οποίους παραδίδεται το λογισμικό.

Σε αυτή τη μέθοδο προγραμματισμού, υπογραμμίζεται ιδιαίτερα η έννοια της refactoring.Το refactoring είναι η εσωτερική βελτίωση του κώδικα για να δώσει στον κώδικα μια καλή δομή και να διευκολύνει την κατανόηση χωρίς να επηρεάζεται η έξοδος.Όλη η εργασία που εμπλέκεται στον ακραίο προγραμματισμό αναμένεται να γίνει με βιώσιμο ρυθμό χωρίς αργά νύχτες και Σαββατοκύριακα.Αυτό ενισχύει το ηθικό και μειώνει την πιθανότητα σφαλμάτων.

Ο ακραίος προγραμματισμός παίρνει το όνομά του από την ιδέα ότι οι θετικές πτυχές του πόσο καλοί προγραμματιστές λειτουργούν στο άκρο προκειμένου να επωφεληθούν από τα οφέλη.Αυτή η μέθοδος ανάπτυξης ήταν αρκετά αποτελεσματική σε διάφορα συστήματα λογισμικού.Δεδομένου ότι αυτή εξακολουθεί να είναι μια νέα μεθοδολογία, οι πρακτικές της εξελίσσονται συνεχώς.