Δεν υπάρχει καμία αμφιβολία ότι η διασφάλιση ποιότητας είναι ένα αναπόσπαστο και και σημαντικό κομμάτι της ανάπτυξης λογισμικού σήμερα. Όμως, σε τι συνίσταται ακριβώς και γιατί είναι απαραίτητη; Παρακάτω επιχειρούμε να σου δώσουμε όλες τις απαντήσεις που τυχόν χρειάζεσαι. Ας ξεκινήσουμε!
Τι είναι Διασφάλιση Ποιότητας (Quality Assurance);
Με απλά λόγια, ως διασφάλιση ποιότητας ορίζονται οι ενέργειες και οι διαδικασίες που απαιτούνται ώστε να προσδιοριστεί εάν μια υπηρεσία ή ένα προϊόν είναι έτοιμα να βγουν στην αγορά, τηρώντας τις απαραίτητες προδιαγραφές.
H Διασφάλιση Ποιότητας πιστοποιείται από τον Διεθνή Οργανισμό Τυποποίησης (ISO). Μάλιστα, συχνά είναι ταυτόσημη με το διεθνές πρότυπο ISO 9000. Το συγκεκριμένο πρότυπο είναι τόσο ισχυρό που είναι συνώνυμο της παροχής ποιοτικών υπηρεσιών.
Στον βιομηχανικό κλάδο, η Διασφάλιση Ποιότητας ακολουθείται συστηματικά, ωστόσο τα τελευταία χρόνια έχει γίνει ιδιαίτερα δημοφιλής και σε άλλους κλάδους, όπως σε αυτόν της ανάπτυξης λογισμικού. Γιατί όμως;
Η σημασία της Διασφάλισης Ποιότητας στον κλάδο ανάπτυξης λογισμικού
Η Διασφάλιση Ποιότητας εντοπίζει τυχόν δυσλειτουργίες και σφάλματα σε ένα λογισμικό πριν το στάδιο της παραγωγής. Έτσι, βοηθάει στην εξοικονόμηση πολύτιμου χρόνου αλλά και προσπάθειας. Τα παρακάτω παραδείγματα είναι χαρακτηριστικά και δείχνουν με τον πιο απλό τρόπο πόσο ακριβές μπορεί να αποδειχθούν για μια εταιρεία οι ελλιπείς διαδικασίες ελέγχου.
- Ελαττωματικό λογισμικό συναλλαγών προκάλεσε ζημιά 400 εκατ. δολ. σε 45 λεπτά
Η εισηγμένη στο Αμερικανικό χρηματιστήριο Knight Capital, σημείωσε ζημιά 400 εκατ. δολαρίων εξαιτίας ενός ελαττώματος στο λογισμικό συναλλαγών. Το πρόγραμμα στην ουσία μπέρδεψε τις τιμές προσφοράς και ζήτησης της μετοχής και αυτό είχε ως αποτέλεσμα να ζημιωθεί η εταιρεία με περίπου μισό δισ. δολάρια σε διάστημα λιγότερο της μίας ώρας! - Η Toyota και το λειτουργικό σφάλμα στο Prius
Το 2010, η Toyota προχώρησε σε ανάκληση 400.000 μοντέλων Prius, εξαιτίας ενός σφάλματος στο σύστημα ξεκλειδώματος. Ήταν τόσο σημαντικό που μπορούσε να θέσει τις ζωές των επιβατών και οδηγών σε κίνδυνο. Η εταιρεία όχι μόνο κατέγραψε σημαντικές ζημιές αλλά ήρθε αντιμέτωπη με αγωγές ενώ φυσικά υπέστη και πλήγμα στη φήμη της.
Πώς να ξεκινήσεις
Η Διασφάλιση Ποιότητας ακολουθεί έναν συγκεκριμένο κύκλο διαδικασιών που αποκαλείται PDCA ή Deming. Αυτός ο κύκλος περιλαμβάνει τα ακόλουθα στάδια (από τα αρχικά της κάθε λέξης προκύπτει και το PDCA):
Ο οργανισμός/ η εταιρεία χρειάζεται να κάνει έναν προγραμματισμό και να ορίσει τους επιθυμητούς στόχους ώστε να προσδιοριστούν οι απαραίτητες διαδικασίες για να παραδοθεί ένα τελικό προϊόν χωρίς προβλήματα.
Αυτή η φάση κυρίως καλύπτει το κομμάτι της ανάπτυξης και των δοκιμών που θα οδηγήσουν σε ένα υψηλής ποιότητας προϊόν.
Αυτή η διαδικασία αφορά τις δοκιμές των διαδικασιών, την τροποποίησή τους και τη διασφάλιση ότι το τελικό προϊόν ανταποκρίνεται στους στόχους που έχουν τεθεί.
Σε αυτή τη φάση, οι δυσλειτουργίες και τα σφάλματα που εντοπίστηκαν στο 3ο στάδιο, διορθώνονται ώστε να βελτιωθεί το τελικό προϊόν.
Κάπως έτσι λειτουργούν οι εταιρείες για να διασφαλίσουν την υψηλή ποιότητα του λογισμικού που αναπτύσσουν.
Καλές πρακτικές Διασφάλισης Ποιότητας
Για να σε βοηθήσουμε, παρακάτω μπορείς να δεις επιγραμματικά τις καλύτερες πρακτικές Διασφάλισης Ποιότητας που είναι καλό να ακολουθείς (εσύ και κάθε οργανισμός/εταιρεία):
- Προσδιόρισε τα κριτήρια λανσαρίσματος με προσεκτική ανάλυση
- Δημιούργησε ένα ισχυρό πλαίσιο δοκιμών
- Κάνε προσεκτική κατανομή του χρόνου για κάθε διαδικασία
- Βάλε προτεραιότητες στην επίλυση σφαλμάτων σύμφωνα με τη χρήση του λογισμικού
- Εξοικονόμησε χρήματα χρησιμοποιώντας δοκιμές αυτοματισμού σε πεδία υψηλού κινδύνου
- Να έχεις στη διάθεσή σου μια ικανή ομάδα δοκιμών ασφαλείας και επιδόσεων
- Κάνε προσομοίωση
Ποια είναι η διαφορά της Διασφάλισης Ποιότητας και του Testing (δοκιμής);
Διαβάζοντας όλα τα παραπάνω είναι πιθανό να σου έχει δημιουργηθεί η απορία αν η Διασφάλιση Ποιότητας και η Δοκιμή (testing) είναι το ίδιο πράγμα. Η απάντηση είναι αρνητική.
Όταν μιλάμε για testing αναφερόμαστε σε μια σειρά δοκιμών που γίνονται στο τελικό προϊόν λίγο πριν κυκλοφορήσει. Στην πραγματικότητα, το testing συμπεριλαμβάνει τον εντοπισμό σφαλμάτων, λαθών, δυσλειτουργιών σε ένα λογισμικό. Άρα, είναι ένα μόνο μέρος στη διαδικασία της Διασφάλισης Ποιότητας, μαζί με άλλα κομμάτια όπως σχεδιασμός λογισμικού, project management κ.ο.κ.
Με λίγα λόγια…
Αν διαβάζεις αυτές τις γραμμές, είναι πολύ πιθανό να έχεις κατανοήσει τις βασικές αρχές της Διασφάλισης Ποιότητας και το πόσο σημαντικό ρόλο παίζει στον κύκλο ανάπτυξης λογισμικού. Ιδανικά, κανένα προϊόν δεν πρέπει να κυκλοφορεί στην αγορά αν πριν δεν έχει κάνει τα πάντα που προβλέπονται από τη Διασφάλιση Ποιότητας. Ελπίζουμε το άρθρο να σου φάνηκε βοηθητικό!
Μπες στη συζήτηση