Κάθε ένας από εμάς γνωρίζει αυτόν τον πόνο
Είναι ένα απογευματάκι Παρασκευής. Γυρίζεις από τη δουλειά, έχεις ακόμα μερικές υποχρεώσεις και υπολογίζεις ότι σε είκοσι λεπτά θα είσαι σπίτι.
Δυστυχώς, μετά από λίγα λεπτά καταλαβαίνεις ότι το σχέδιο δεν θα πετύχει...
Τα φώτα της στάσης εκτείνονται μέχρι τον ορίζοντα. Τα αυτοκίνητα μετακινούνται μερικά μέτρα και μετά σταματούν ξανά. Τα λεπτά περνούν και ο χρόνος του ταξιδιού αντί να μειώνεται, αρχίζει να αυξάνεται.
Δεν σε εκνευρίζει ο ίδιος ο δρόμος — σε εκνευρίζει η αδυναμία.
Έχεις αυτοκίνητο. Έχεις καύσιμο. Ο κινητήρας δουλεύει. Θεωρητικά όλα λειτουργούν, αλλά πρακτικά δεν προχωράς.
Είναι μια πολύ καλή μεταφορά για το πώς οι χρήστες αντιλαμβάνονται τα αργά πληροφοριακά συστήματα.
Ο πελάτης σου δεν βλέπει τον κώδικα. Βλέπει μόνο ότι πρέπει να περιμένει.
Οι προγραμματιστές συχνά συζητούν για την αρχιτεκτονική, τις βάσεις δεδομένων, την απόδοση του διακομιστή ή την βελτιστοποίηση SQL ερωτημάτων.
Ο πελάτης δεν ενδιαφέρεται για κανένα από αυτά τα θέματα.
Για εκείνον μετράει μόνο ένα ερώτημα: «Γιατί αυτό παίρνει τόσο χρόνο;»
Δεν έχει σημασία αν το πρόβλημα προέρχεται από μη βελτιστοποιημένο κώδικα, υπερφορτωμένη βάση δεδομένων, κακώς υλοποιημένες ενσωματώσεις ή την υποδομή του διακομιστή.
Αν το πάτημα ενός κουμπιού προκαλεί αναμονή πολλών δευτερολέπτων, ο χρήστης το αντιλαμβάνεται ως βλάβη. Και όσο περισσότερο περιμένει, τόσο πιο γρήγορα χάνει την εμπιστοσύνη του στην εταιρεία.
Στο διαδίκτυο η υπομονή μετριέται σε δευτερόλεπτα
Μόλις μερικά χρόνια πριν, οι χρήστες ήταν πολύ πιο συγκαταβατικοί.
Σήμερα έχουμε συνηθίσει σε στιγμιαίες αντιδράσεις από εφαρμογές, ηλεκτρονικά καταστήματα και ιστοσελίδες.
Κλικάρουμε — περιμένουμε απάντηση.
Αν δεν υπάρχει, αρχίζουμε να πατάμε ξανά το κουμπί, ανανεώνουμε τη σελίδα ή απλώς παραιτούμαστε.
Αυτή η συμπεριφορά είναι απολύτως φυσιολογική.
Στον ψηφιακό κόσμο η ταχύτητα έχει γίνει ένα από τα στοιχεία της ποιότητας εξυπηρέτησης του πελάτη, όπως η ευγένεια του πωλητή ή η έγκαιρη παράδοση.
Ένα αργό σύστημα κοστίζει πολύ περισσότερο από έναν ισχυρό διακομιστή
Πολλές εταιρείες θεωρούν ότι το πρόβλημα απόδοσης εμφανίζεται μόνο όταν το σύστημα παύει εντελώς να λειτουργεί — αυτό δεν είναι αλήθεια.
Πολύ μεγαλύτερες απώλειες προκαλεί η κατάσταση όπου όλα λειτουργούν... αλλά πολύ αργά.
Κάθε επιπλέον δευτερόλεπτο σημαίνει περισσότερα άτομα που ακυρώνουν τις αγορές, δεν στέλνουν τη φόρμα επικοινωνίας ή αναβάλουν την απόφασή τους για αργότερα.
Και οι υπάλληλοι χάνουν χρόνο. Αν ένα σύστημα ERP ανοίγει ένα έγγραφο σε δεκάδες δευτερόλεπτα, αν το CRM χρειάζεται λίγο για να αποθηκεύσει μια σημείωση και το διαχειριστικό πάνελ «σκέφτεται» πριν από κάθε λειτουργία, σε μηνιαία κλίμακα δημιουργούνται δεκάδες ώρες εντελώς μη παραγωγικής εργασίας.
Είναι σαν κάθε μέρα όλοι οι υπάλληλοι να στέκονται για δεκάδες λεπτά σε μποτιλιάρισμα... μόνο που αυτό το μποτιλιάρισμα βρίσκεται μέσα στο ίδιο το λογισμικό.
Από πού προέρχεται αυτό το «ψηφιακό μποτιλιάρισμα»;
Στις περισσότερες περιπτώσεις ο ένοχος δεν είναι ένα εντυπωσιακό σφάλμα. Τα προβλήματα συσσωρεύονται σταδιακά;
Προστίθενται νέες λειτουργίες στο σύστημα.
Νέες ενσωματώσεις.
Επιπλέον μονάδες.
Αλλάζουν οι επιχειρησιακές απαιτήσεις.
Εμφανίζονται νέες εκδόσεις βιβλιοθηκών και πλαισίων εργασίας.
Ο κώδικας που πέντε χρόνια πριν ήταν επαρκής, σήμερα πρέπει να χειριστεί δέκα φορές περισσότερο φόρτο και πολύ πιο περίπλοκες διαδικασίες.
Αν κανείς δεν αναλύει τακτικά την απόδοση της εφαρμογής, το σύστημα αρχίζει να μοιάζει με μια πόλη στην οποία κάθε χρόνο προστίθενται νέοι δρόμοι, αλλά ποτέ δεν ανακατασκευάζονται οι κεντρικοί κόμβοι.
Σε κάποιο σημείο η κίνηση απλά μπλοκάρει.
Δεν χρειάζεσαι πάντα ένα νέο σύστημα
Αυτό είναι μια καλή είδηση.
Πολύ συχνά δεν χρειάζεται να ξαναγράψεις τα πάντα από την αρχή.
Σε πολλές περιπτώσεις αρκεί ένας επαγγελματικός έλεγχος απόδοσης για να βρεθούν τα σημεία που επιβραδύνουν περισσότερο την εφαρμογή. Μερικές φορές το πρόβλημα είναι η βάση δεδομένων. Άλλες φορές ένα κακώς σχεδιασμένο API.
Μπορεί να αρκεί να ανασχεδιαστούν μερικές από τις πιο επιβαρυμένες διεργασίες ή να εφαρμοστούν κατάλληλοι μηχανισμοί caching.
Είναι σαν η ανακατασκευή μιας διασταύρωσης να αποσυμφορεί ξαφνικά την κίνηση ολόκληρης της γειτονιάς.
Η απόδοση σήμερα είναι στοιχείο ανταγωνιστικού πλεονεκτήματος
Οι εταιρείες συχνά επενδύουν τεράστια ποσά στο μάρκετινγκ, αγοράζουν διαφημίσεις, τρέχουν καμπάνιες, φροντίζουν το SEO και προσελκύουν νέους πελάτες. Και μετά αυτοί οι πελάτες συναντούν ένα σύστημα που απαντά με καθυστέρηση, φορτώνει αργά δεδομένα ή παγώνει κατά τη διαδικασία της παραγγελίας.
Είναι σαν να χτίζεις ένα όμορφο εκθεσιακό χώρο και ταυτόχρονα να αφήνεις την είσοδο μόνο μέσα από μια στενή πύλη.
Το μάρκετινγκ φέρνει τους πελάτες, η απόδοση αποφασίζει αν θα μείνουν.
Πώς το προσεγγίζουμε εμείς στην Web24?
Κατά τη δημιουργία προσαρμοσμένων εφαρμογών, ηλεκτρονικών καταστημάτων και επιχειρηματικών συστημάτων, θεωρούμε από την αρχή ότι η απόδοση δεν είναι ένα πρόσθετο.
Είναι ένα από τα θεμέλια ολόκληρου του έργου.
Αναλύουμε τακτικά τη λειτουργία της εφαρμογής, παρακολουθούμε τις πιο επιβαρυμένες διεργασίες, βελτιστοποιούμε τα ερωτήματα προς τις βάσεις δεδομένων, βελτιώνουμε τις ενσωματώσεις και εξαλείφουμε σημεία που με τον χρόνο θα μπορούσαν να γίνουν ψηφιακά μποτιλιαρίσματα.
Διότι ένα σωστά γραμμένο σύστημα δεν πρέπει απλώς να λειτουργεί. Πρέπει να λειτουργεί ομαλά και μετά από χρόνια, όταν ο αριθμός των χρηστών και των δεδομένων θα είναι πολλαπλάσιος σε σχέση με την ημέρα της εγκατάστασης.
Σύνοψη
Ο καθένας από εμάς έχει κολλήσει έστω μια φορά στην περιφερειακή οδό της Τριπόλιδας και ξέρει πόσο απογοητευτικό μπορεί να είναι αυτό.
Ακριβώς τα ίδια συναισθήματα βιώνουν οι χρήστες που καθημερινά χρησιμοποιούν αργά συστήματα.
Η διαφορά είναι μόνο μία.
Ο οδηγός συνήθως δεν έχει επιλογή.
Ο πελάτης στο διαδίκτυο την έχει πάντα.
Και πολύ συχνά την χρησιμοποιεί πιο γρήγορα απ' ό,τι προλαβαίνεις να καταλάβεις ότι το σύστημά σου μόλις κόλλησε στη δική του ψηφιακή περιφερειακή οδό.
