Διαφορά μεταξύ ευέλικτης και παραδοσιακής μεθοδολογίας ανάπτυξης λογισμικού

Διαφορά μεταξύ ευέλικτης και παραδοσιακής μεθοδολογίας ανάπτυξης λογισμικού
Διαφορά μεταξύ ευέλικτης και παραδοσιακής μεθοδολογίας ανάπτυξης λογισμικού

Βίντεο: Διαφορά μεταξύ ευέλικτης και παραδοσιακής μεθοδολογίας ανάπτυξης λογισμικού

Βίντεο: Διαφορά μεταξύ ευέλικτης και παραδοσιακής μεθοδολογίας ανάπτυξης λογισμικού
Βίντεο: Διαφορές μεταξύ Ορθόδοξης και Ευαγγελικής Εκκλησίας (1ο μέρος) 2024, Νοέμβριος
Anonim

Agile vs Traditional Software Development Methodology

Υπάρχουν πολλές διαφορετικές μεθοδολογίες ανάπτυξης λογισμικού που χρησιμοποιούνται στη βιομηχανία λογισμικού σήμερα. Η μέθοδος ανάπτυξης Waterfall είναι μια από τις πρώτες μεθόδους ανάπτυξης λογισμικού. Το V-Model, το RUP και λίγες άλλες γραμμικές, επαναληπτικές και συνδυασμένες γραμμικές-επαναληπτικές μέθοδοι, που ήρθαν μετά τη μεθοδολογία του καταρράκτη, είχαν σκοπό να εξαλείψουν πολλά ζητήματα της μεθόδου καταρράκτη. Όλες αυτές οι προηγούμενες μεθοδολογίες ονομάζονται παραδοσιακές μεθοδολογίες ανάπτυξης λογισμικού. Το Agile Model είναι ένα πιο πρόσφατο μοντέλο ανάπτυξης λογισμικού που εισήχθη για την αντιμετώπιση των ελλείψεων που εντοπίζονται στα παραδοσιακά μοντέλα. Ο κύριος στόχος του Agile είναι η ενσωμάτωση δοκιμών όσο το δυνατόν νωρίτερα και η κυκλοφορία μιας λειτουργικής έκδοσης του προϊόντος πολύ νωρίς, με τη διάσπαση του συστήματος σε πολύ μικρά και διαχειρίσιμα υποτμήματα.

Τι είναι η παραδοσιακή μεθοδολογία ανάπτυξης λογισμικού;

Μεθοδολογίες λογισμικού όπως η μέθοδος Waterfall, το V-Model και το RUP ονομάζονται παραδοσιακές μεθοδολογίες ανάπτυξης λογισμικού. Η μεθοδολογία Waterfall είναι ένα από τα πρώτα μοντέλα ανάπτυξης λογισμικού. Όπως υποδηλώνει το όνομα, είναι μια διαδοχική διαδικασία κατά την οποία η πρόοδος ρέει μέσω πολλών φάσεων (ανάλυση απαιτήσεων, σχεδιασμός, ανάπτυξη, δοκιμή και υλοποίηση) από πάνω προς τα κάτω, ανάλογη με έναν καταρράκτη. Το V-Model θεωρείται ως επέκταση του μοντέλου ανάπτυξης λογισμικού Waterfall. Το V-Model χρησιμοποιεί τις ίδιες σχέσεις μεταξύ των φάσεων που ορίζονται στο μοντέλο Waterfall. Αλλά αντί να κατεβαίνει γραμμικά (όπως το μοντέλο Waterfall), το V-Model κατεβαίνει διαγώνια και στη συνέχεια κινείται ξανά προς τα πάνω (μετά τη φάση κωδικοποίησης), σχηματίζοντας το σχήμα του γράμματος V. Το RUP (Rational Unified Process) είναι ένα προσαρμόσιμο πλαίσιο διαδικασίας (όχι μια συγκεκριμένη διαδικασία), που μπορεί να προσαρμοστεί από τον οργανισμό ανάπτυξης σύμφωνα με τις ανάγκες του. Ελαφρώς παρόμοιο με τον καταρράκτη, έχει σταθερές φάσεις όπως έναρξη, επεξεργασία, κατασκευή και μετάβαση. Αλλά σε αντίθεση με τον καταρράκτη, το RUP είναι μια επαναληπτική διαδικασία.

Τι είναι Agile;

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

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

Ποια είναι η διαφορά μεταξύ Agile και Traditional Development Methodology Software;

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

Συνιστάται: