ανάπτυξη λογισμικούπληροφορική-διακυβέρνησηdevopsδιαχείριση έργων
Ταχεία Ανάπτυξη vs Διαχείριση Κινδύνου
Η επιλογή μεταξύ ταχύτητας και ασφάλειας συχνά καθορίζει την πορεία της εταιρείας στην αγορά. Ενώ η ταχεία ανάπτυξη δίνει προτεραιότητα στην ταχεία παράδοση των προϊόντων στους χρήστες για την κατάκτηση μεριδίου αγοράς, η διαχείριση κινδύνου επικεντρώνεται στη σταθερότητα, τη συμμόρφωση και τη μακροπρόθεσμη βιωσιμότητα. Η εξισορρόπηση αυτών των δύο φιλοσοφιών απαιτεί την κατανόηση του πότε πρέπει να επιταχύνουμε και πότε να πατάμε φρένο για την ασφάλεια.
Κορυφαία σημεία
Η ταχεία ανάπτυξη μειώνει το «Τεχνικό Χρέος» ενθαρρύνοντας μικρές, διαχειρίσιμες ενημερώσεις.
Η διαχείριση κινδύνου προστατεύει τη φήμη της επωνυμίας ελαχιστοποιώντας τις διακοπές των υπηρεσιών που απευθύνονται στο κοινό.
Οι αυτοματοποιημένοι αγωγοί ταχείας ανάπτυξης επιτρέπουν κύκλους παράδοσης 24/7.
Η αυστηρή διακυβέρνηση διασφαλίζει την ευθυγράμμιση με τα διεθνή πρότυπα ασφαλείας, όπως το ISO 27001.
Τι είναι το Ταχεία Ανάπτυξη;
Μια στρατηγική επικεντρωμένη στην ευέλικτη τεχνολογία, η οποία επικεντρώνεται σε συχνές κυκλοφορίες, ταχύτητα στην αγορά και επαναλαμβανόμενα σχόλια από τους χρήστες για την προώθηση της καινοτομίας.
Συνήθως χρησιμοποιεί αγωγούς συνεχούς ολοκλήρωσης και συνεχούς ανάπτυξης (CI/CD).
Μειώνει τον χρόνο μεταξύ της σύνταξης κώδικα και της παροχής αξίας στους πελάτες.
Βασίζεται σε μεγάλο βαθμό σε αυτοματοποιημένες δοκιμές για τη διατήρηση μιας βασικής ποιότητας.
Υιοθετεί τη νοοτροπία της «γρήγορης αποτυχίας» για να στραφεί με βάση τη χρήση στον πραγματικό κόσμο.
Προέρχεται από μεθοδολογίες Agile και DevOps για την ανάλυση των σιλό των τμημάτων.
Τι είναι το Διαχείριση Κινδύνων;
Μια προσέγγιση με έντονη διακυβέρνηση που δίνει προτεραιότητα στον χρόνο λειτουργίας του συστήματος, στη συμμόρφωση με τους κανονισμούς και στον μετριασμό πιθανών τρωτών σημείων ασφαλείας.
Περιλαμβάνει επίσημες Συμβουλευτικές Επιτροπές Αλλαγών (CAB) για την εξέταση σημαντικών ενημερώσεων.
Εστιάζει στην αναγνώριση, την αξιολόγηση και την ιεράρχηση τεχνικών και λειτουργικών απειλών.
Συχνά επιβάλλεται σε κλάδους με αυστηρή ρύθμιση, όπως οι τράπεζες και η υγειονομική περίθαλψη.
Χρησιμοποιεί εκτεταμένα περιβάλλοντα σταδιοποίησης για την προσομοίωση του στρες στην παραγωγή.
Στοχεύει στην αποτροπή «αλυσιδωτών βλαβών» που μπορούν να οδηγήσουν σε μαζικές διακοπές λειτουργίας υπηρεσιών.
Η ταχεία ανάπτυξη αντιμετωπίζει την ταχύτητα ως ανταγωνιστικό πλεονέκτημα, επιτρέποντας στις ομάδες να αντιδρούν στις κινήσεις των ανταγωνιστών μέσα σε λίγες ώρες. Αντίθετα, η διαχείριση κινδύνου θεωρεί την ταχύτητα ως πιθανό μειονέκτημα, προτιμώντας έναν πιο αργό, πιο σκόπιμο ρυθμό που διασφαλίζει ότι κάθε περίπτωση ακραίας εξέλιξης τεκμηριώνεται και αντιμετωπίζεται πριν έστω και ένας χρήστης δει την ενημέρωση.
Αυτοματοποίηση και Ανθρώπινη Εποπτεία
Σε ένα ταχέως εξελισσόμενο περιβάλλον, ο αυτοματισμός είναι ο κύριος μηχανισμός ελέγχου, χρησιμοποιώντας σενάρια για τον εντοπισμό σφαλμάτων πριν αυτά φτάσουν στην παραγωγή. Οι στρατηγικές διαχείρισης κινδύνου συχνά συνδυάζουν την ανθρώπινη εμπειρογνωμοσύνη με τον αυτοματισμό, απαιτώντας πολλαπλές υπογραφές και αξιολογήσεις από ομοτίμους για να διασφαλιστεί ότι η λογική μιας αλλαγής ευθυγραμμίζεται με τους ευρύτερους επιχειρηματικούς στόχους και τα πρότυπα ασφαλείας.
Διαχείριση βλαβών συστήματος
Όταν τα πράγματα πάνε στραβά, οι υποστηρικτές της ταχείας ανάπτυξης συνήθως «προχωρούν» προωθώντας μια γρήγορη ενημέρωση κώδικα για να διορθώσουν το τρέχον πρόβλημα. Οι ομάδες διαχείρισης κινδύνου συνήθως προτιμούν την άμεση «επαναφορά» σε μια γνωστή σταθερή έκδοση, δίνοντας προτεραιότητα στην αποκατάσταση της υπηρεσίας έναντι της άμεσης εφαρμογής νέων λειτουργιών.
Συμμόρφωση και Κανονισμοί
Για τις νεοσύστατες επιχειρήσεις σε μη ρυθμιζόμενους χώρους, η ταχεία ανάπτυξη είναι η προεπιλογή, επειδή το κόστος ενός μικρού σφάλματος είναι χαμηλό. Ωστόσο, για τους οργανισμούς που ασχολούνται με ευαίσθητα δεδομένα, η διαχείριση κινδύνου δεν είναι απλώς μια επιλογή. Είναι μια νομική απαίτηση για την ικανοποίηση των ελεγκτών και την προστασία του απορρήτου των χρηστών μέσω αυστηρών, τεκμηριωμένων ελέγχων.
Πλεονεκτήματα & Μειονεκτήματα
Ταχεία Ανάπτυξη
Πλεονεκτήματα
+Ταχύτεροι κύκλοι καινοτομίας
+Υψηλό ηθικό προγραμματιστών
+Άμεση ανατροφοδότηση από τους χρήστες
+Καλύτερη ευελιξία της αγοράς
Συνέχεια
−Πιθανότητα για μικρά σφάλματα
−Υψηλότερος κίνδυνος επαγγελματικής εξουθένωσης
−Απαιτούνται σύνθετα εργαλεία
−Δύσκολη παρακολούθηση συμμόρφωσης
Διαχείριση Κινδύνων
Πλεονεκτήματα
+Προβλέψιμη συμπεριφορά συστήματος
+Ισχυρή στάση ασφαλείας
+Κανονιστική συμμόρφωση
+Μειωμένη συχνότητα διακοπών
Συνέχεια
−Αργότερος χρόνος κυκλοφορίας στην αγορά
−Υψηλότερα γενικά έξοδα
−Απογοητευμένοι ενδιαφερόμενοι
−Πιθανότητα για χαμένες τάσεις
Συνηθισμένες Παρανοήσεις
Μύθος
Η ταχεία ανάπτυξη σημαίνει πλήρη παράλειψη των δοκιμών.
Πραγματικότητα
Στην πραγματικότητα, οι ομάδες που κινούνται γρήγορα συχνά έχουν περισσότερες δοκιμές από τις παραδοσιακές. Απλώς τις αυτοματοποιούν, ώστε να μπορούν να εκτελούνται σε δευτερόλεπτα αντί για ημέρες.
Μύθος
Η διαχείριση κινδύνου είναι απλώς μια δικαιολογία για αργή πρόοδο.
Πραγματικότητα
Η αυστηρή διακυβέρνηση έχει σχεδιαστεί για να προστατεύει την επιχείρηση από υπαρξιακές απειλές, όπως μαζικές διαρροές δεδομένων ή μόνιμη απώλεια δεδομένων, οι οποίες θα μπορούσαν να οδηγήσουν σε τερματισμό μιας εταιρείας.
Μύθος
Πρέπει να επιλέξεις αποκλειστικά το ένα ή το άλλο.
Πραγματικότητα
Το σύγχρονο «DevSecOps» προσπαθεί να συνδυάσει και τα δύο, αυτοματοποιώντας τους ελέγχους ασφαλείας και συμμόρφωσης απευθείας στον ταχέως εξελισσόμενο αγωγό ανάπτυξης.
Μύθος
Μόνο οι μικρές νεοσύστατες επιχειρήσεις χρησιμοποιούν ταχεία ανάπτυξη.
Πραγματικότητα
Γίγαντες εταιρείες τεχνολογίας όπως η Amazon και η Netflix αναπτύσσουν κώδικα χιλιάδες φορές την ημέρα χρησιμοποιώντας εξαιρετικά εξελιγμένα αυτοματοποιημένα κιγκλιδώματα.
Συχνές Ερωτήσεις
Μήπως η ταχεία ανάπτυξη οδηγεί σε περισσότερα τρωτά σημεία ασφαλείας;
Όχι απαραίτητα. Ενώ ο ρυθμός είναι ταχύτερος, η ταχεία ανάπτυξη συχνά χρησιμοποιεί ασφάλεια «μετατόπισης προς τα αριστερά», που σημαίνει ότι τα τρωτά σημεία εντοπίζονται νωρίτερα στη διαδικασία κωδικοποίησης μέσω αυτοματισμού. Ωστόσο, εάν ο αυτοματισμός δεν έχει ρυθμιστεί σωστά, οι κίνδυνοι μπορούν να ξεπεραστούν πιο εύκολα από ό,τι σε μια μη αυτόματη διαδικασία ελέγχου.
Ποια είναι η μεγαλύτερη πρόκληση κατά τη μετάβαση σε ένα μοντέλο διαχείρισης κινδύνου;
Το κύριο εμπόδιο είναι συνήθως πολιτισμικό παρά τεχνικό. Οι προγραμματιστές συχνά αισθάνονται ότι ασφυκτιούν από τα επιπλέον επίπεδα έγκρισης και ο οργανισμός πρέπει να βρει έναν τρόπο να διατηρήσει την ορμή του, τηρώντας παράλληλα τα νέα σημεία ελέγχου και τις απαιτήσεις τεκμηρίωσης.
Μπορεί μια εταιρεία να χρησιμοποιήσει και τις δύο στρατηγικές ταυτόχρονα;
Ναι, αυτό συχνά ονομάζεται «Διτροπική Πληροφορική». Μια εταιρεία μπορεί να χρησιμοποιήσει ταχεία ανάπτυξη για την εφαρμογή της για κινητά που απευθύνεται σε πελάτες για να παραμείνει μοντέρνα, ενώ παράλληλα να χρησιμοποιεί αυστηρή διαχείριση κινδύνου για τα βασικά συστήματα βάσης δεδομένων και οικονομικών καθολικών για να διασφαλίσει την απόλυτη ακεραιότητα των δεδομένων.
Πώς εντάσσονται οι αυτοματοποιημένες «απελευθερώσεις καναρινιών» σε αυτή τη σύγκριση;
Οι εκδόσεις του Canary αποτελούν την ιδανική λύση. Επιτρέπουν την ταχεία ανάπτυξη, προωθώντας πρώτα μια ενημέρωση σε ένα ελάχιστο 1% των χρηστών. Εάν οι μετρήσεις διαχείρισης κινδύνου δεν εμφανίζουν σφάλματα, η ενημέρωση διατίθεται αυτόματα σε όλους τους άλλους.
Ποια προσέγγιση είναι πιο ακριβή στη συντήρηση;
Η διαχείριση κινδύνων τείνει να έχει υψηλότερο κόστος συνεχούς εργασίας λόγω της ανάγκης για χειροκίνητες αξιολογήσεις και εξειδικευμένους υπαλλήλους συμμόρφωσης. Η ταχεία ανάπτυξη έχει υψηλό αρχικό κόστος για την κατασκευή του αυτοματισμού, αλλά συνήθως γίνεται πιο οικονομικά αποδοτική καθώς η ομάδα κλιμακώνεται.
Γιατί οι τράπεζες σχεδόν πάντα προτιμούν τη διαχείριση κινδύνου;
Οι τράπεζες λειτουργούν βάσει αυστηρών νομικών πλαισίων όπως η Βασιλεία III ή οι τοπικοί τραπεζικοί νόμοι. Για αυτές, μια διακοπή λειτουργίας 10 λεπτών ή μια μεμονωμένη λανθασμένη συναλλαγή είναι πολύ πιο ακριβή από το να καθυστερήσουν έξι μήνες να λανσάρουν μια νέα λειτουργία εφαρμογής.
Είναι το «Agile» το ίδιο πράγμα με την ταχεία ανάπτυξη;
Η ευέλικτη (agile) προσέγγιση είναι η φιλοσοφία του να σπάσουμε την εργασία σε μικρά κομμάτια, ενώ η ταχεία ανάπτυξη (rapid deployment) είναι η τεχνική εκτέλεση αυτής της φιλοσοφίας. Μπορείτε να είστε ευέλικτοι (Agile) χωρίς να κάνετε ανάπτυξη κάθε μέρα, αλλά είναι πολύ πιο δύσκολο να κάνετε γρήγορη ανάπτυξη χωρίς ευέλικτη νοοτροπία.
Ποιος είναι ο ρόλος μιας Συμβουλευτικής Επιτροπής Αλλαγής (CAB);
Ένα CAB είναι μια ομάδα ενδιαφερομένων που συναντώνται για να αξιολογήσουν τον αντίκτυπο των προτεινόμενων αλλαγών. Σε ένα σύστημα διαχείρισης κινδύνου, ενεργούν ως οι τελικοί φύλακες για να διασφαλίσουν ότι μια αλλαγή δεν θα επηρεάσει αρνητικά άλλα τμήματα ή τη νομική υπόσταση της εταιρείας.
Πώς σχετίζεται ο «Μέσος Χρόνος Ανάρρωσης» (MTTR) με αυτές τις έννοιες;
Η ταχεία ανάπτυξη εστιάζει σε χαμηλό MTTR, που σημαίνει ότι αν κάτι χαλάσει, μπορούν να το επισκευάσουν μέσα σε λίγα λεπτά. Η διαχείριση κινδύνου εστιάζει στον «Μέσο Χρόνο Μεταξύ Βλαβών» (MTBF), με στόχο να διασφαλίσει ότι τα προβλήματα συμβαίνουν όσο το δυνατόν πιο σπάνια εξαρχής.
Ποια είναι η φιλοσοφία της «γρήγορης αποτυχίας»;
Πρόκειται για μια ιδέα ταχείας ανάπτυξης όπου οι ομάδες κυκλοφορούν ένα ελάχιστο βιώσιμο προϊόν για να δουν αν οι χρήστες το θέλουν πραγματικά. Εάν αποτύχει, έχουν χάσει μόνο μία εβδομάδα εργασίας αντί για μήνες, επιτρέποντάς τους να στραφούν γρήγορα σε μια καλύτερη ιδέα.
Απόφαση
Η ταχεία ανάπτυξη είναι η καλύτερη επιλογή για προϊόντα πρώιμου σταδίου και ανταγωνιστικές αγορές όπου τα σχόλια των χρηστών είναι ζωτικής σημασίας για την επιβίωση. Η διαχείριση κινδύνου θα πρέπει να αποτελεί προτεραιότητα για τις καθιερωμένες επιχειρήσεις και τους κλάδους υψηλού ρίσκου, όπου ακόμη και μία ώρα διακοπής λειτουργίας ή μια παραβίαση δεδομένων θα μπορούσε να οδηγήσει σε καταστροφική οικονομική ή νομική καταστροφή.