Ανάπτυξη ιστοσελίδας: από την απαίτηση έως την ασφαλή παράδοση
Η ανάπτυξη μιας ιστοσελίδας είναι μια διαδοχή αποφάσεων, όχι μία μοναδική εργασία προγραμματισμού. Ξεκινά με την κατανόηση του προβλήματος, συνεχίζεται με την οργάνωση περιεχομένου και δεδομένων, μετατρέπεται σε λειτουργικό σύστημα και ολοκληρώνεται μόνο όταν υπάρχουν ελεγχόμενα παραδοτέα. Αν παρακαμφθεί ένα πρώιμο στάδιο, το πρόβλημα συνήθως εμφανίζεται αργότερα ως ακριβή αλλαγή. Ο πρακτικός τρόπος να οργανωθεί το web development είναι να ορίζεται σε κάθε φάση τι παραλαμβάνει η ομάδα, ποιοι κίνδυνοι αντιμετωπίζονται και ποιο επόμενο βήμα επιτρέπεται όταν έχουν ικανοποιηθεί τα συμφωνημένα κριτήρια.
Στάδιο πρώτο: ανάγκη, κοινό και μετρήσιμο αποτέλεσμα
Η αρχική συζήτηση χρειάζεται παραδείγματα πραγματικών ενεργειών. Μια επιχείρηση μπορεί να θέλει οι επισκέπτες να ζητούν προσφορά, να βρίσκουν διαθέσιμα προϊόντα ή να προγραμματίζουν μια επικοινωνία. Κάθε στόχος μετατρέπεται σε περιγραφή διαδρομής και απαιτούμενα δεδομένα. Δεν είναι το ίδιο να εμφανίζεται μια απλή φόρμα και να λειτουργεί ένα ολοκληρωμένο σύστημα με ιστορικό και ειδοποιήσεις.
Το παραδοτέο αυτού του σταδίου είναι ένα κοινά κατανοητό κείμενο απαιτήσεων, με σαφή διάκριση απαραίτητων και προαιρετικών χαρακτηριστικών. Εδώ καταγράφονται και οι εξαρτήσεις: ποιος θα δώσει τα κείμενα, ποιος έχει τα δικαιώματα στο όνομα χώρου και ποιος εγκρίνει τις τελικές αποφάσεις.
Στάδιο δεύτερο: χάρτης περιεχομένου και λειτουργιών
Πριν γραφτεί κώδικας, καθορίζονται οι ενότητες, οι σχέσεις τους και οι βασικές διαδρομές πλοήγησης. Ταυτόχρονα χαρτογραφούνται οι ειδικές καταστάσεις: κενή αναζήτηση, σφάλμα φόρμας, μη διαθέσιμη σελίδα ή προσωρινή αποτυχία επικοινωνίας. Αυτά τα σενάρια συχνά παραλείπονται όταν η προσοχή στρέφεται αποκλειστικά σε μία ιδανική αρχική οθόνη.
Η παράδοση περιλαμβάνει χάρτη σελίδων, λίστα λειτουργιών και βασικά προσχέδια, ώστε να είναι εφικτός ο έλεγχος της συνοχής πριν ξεκινήσει η ανάπτυξη. Αν αναγνωριστεί μια απουσία, αυτή είναι η κατάλληλη στιγμή να διορθωθεί. Η αλλαγή ενός προσχεδίου έχει μικρότερη επίπτωση από την ανακατασκευή ολοκληρωμένου συστήματος.
Στάδιο τρίτο: δομή δεδομένων και δικαιώματα
Όταν ο ιστότοπος αποθηκεύει πληροφορίες, η μοντελοποίηση δεδομένων προηγείται των οθονών που τα επεξεργάζονται. Ορίζονται οι βασικές οντότητες, οι μεταξύ τους σχέσεις και οι κανόνες εγκυρότητας. Για παράδειγμα, πρέπει να είναι ξεκάθαρο ποιος μπορεί να προσθέσει, να τροποποιήσει ή να διαγράψει μια εγγραφή και τι συμβαίνει σε σχετικά στοιχεία όταν διαγράφεται κάτι.
Σημαντικό είναι να ξεχωρίζει η συλλογή απαραίτητων πληροφοριών από την περιττή καταγραφή. Η αρχιτεκτονική χρειάζεται ασφαλή διαχείριση πρόσβασης, αντίγραφα ασφαλείας και δυνατότητα αποκατάστασης. Το παραδοτέο δεν είναι απλώς ένα διάγραμμα, αλλά τεκμηριωμένοι κανόνες που ακολουθούν οι λειτουργίες και μπορούν να ελεγχθούν.
Στάδιο τέταρτο: προγραμματισμός σε μικρές ελέγξιμες ενότητες
Η υλοποίηση προχωρά καλύτερα όταν κάθε λειτουργία ολοκληρώνεται με συγκεκριμένα κριτήρια. Μπορεί πρώτα να δημιουργηθεί η βασική παρουσίαση των σελίδων και έπειτα να συνδεθούν αναζήτηση, φόρμες και διαχείριση. Οι μικρές ενότητες επιτρέπουν να εντοπιστεί νωρίτερα μια ασυμβατότητα, αντί να αποκαλυφθεί λίγο πριν τη δημοσίευση. Οι κοινές τεχνικές επιλογές καταγράφονται, ώστε να μην υπάρχουν ασαφείς εξαρτήσεις από έναν μόνο συνεργάτη.
Η ποιότητα του κώδικα περιλαμβάνει σαφή χειρισμό λαθών, έλεγχο δεδομένων στην πλευρά του εξυπηρετητή και προβλέψιμη συμπεριφορά της διεπαφής. Το ότι μια λειτουργία δουλεύει σε μία δοκιμή δεν σημαίνει ότι αντιμετωπίζει σωστά διπλές υποβολές ή ταυτόχρονες ενέργειες.
Στάδιο πέμπτο: έλεγχοι με πραγματικά σενάρια χρήσης
Ο έλεγχος αποδοχής επαναλαμβάνει τις ενέργειες που συμφωνήθηκαν στην αρχή. Για μια φόρμα, αποδεικνύεται ότι υποβάλλεται, ότι απορρίπτει άκυρα δεδομένα και ότι ο αποδέκτης λαμβάνει το μήνυμα. Για αναζήτηση, εξετάζονται αποτελέσματα, φίλτρα και κενές περιπτώσεις. Οι δοκιμές πραγματοποιούνται σε μικρές και μεγάλες οθόνες, με χρήση πληκτρολογίου και με διαφορετικές συνθήκες σύνδεσης.
Η ομάδα καταγράφει ευρήματα με βήματα αναπαραγωγής και σοβαρότητα. Μετά από κάθε διόρθωση επαναλαμβάνονται και οι βασικές λειτουργίες που ήδη είχαν περάσει. Η επιτυχία δεν δηλώνεται με γενικό «όλα καλά»: χρειάζεται να υπάρχουν καταγεγραμμένα αποτελέσματα για τις κρίσιμες περιπτώσεις.
Στάδιο έκτο: προετοιμασία παραγωγικού περιβάλλοντος
Η δημοσίευση απαιτεί ξεχωριστή προετοιμασία. Ελέγχονται οι ρυθμίσεις του εξυπηρετητή, οι κωδικοί πρόσβασης, οι άδειες αρχείων, η σωστή σύνδεση με βάση δεδομένων και η αποστολή μηνυμάτων. Τα δοκιμαστικά στοιχεία δεν πρέπει να μεταφέρονται άκριτα σε πραγματικό περιβάλλον. Οι διευθύνσεις σελίδων και οι ανακατευθύνσεις εξετάζονται ιδιαίτερα όταν υπάρχει παλαιότερος ιστότοπος.
Το σχέδιο δημοσίευσης περιλαμβάνει υπεύθυνο, χρονικό σημείο αλλαγής, αντίγραφο ασφαλείας και διαδικασία επαναφοράς. Αν κάτι κρίσιμο αποτύχει, πρέπει να είναι γνωστό ποιος λαμβάνει την απόφαση επαναφοράς και πώς προστατεύονται οι νέες εγγραφές που ενδέχεται να έχουν ήδη δημιουργηθεί.
Χρονοδιάγραμμα παραδοτέων και σημεία απόφασης
- Εγκρίνεται η περιγραφή αναγκών και η λίστα υποχρεωτικών λειτουργιών.
- Παραδίδεται η δομή σελίδων και η περιγραφή διαδρομών επισκέπτη.
- Οριστικοποιούνται η δομή δεδομένων και τα δικαιώματα χρηστών.
- Παρουσιάζεται λειτουργική έκδοση ανά συμφωνημένη ενότητα.
- Ολοκληρώνεται τεκμηριωμένος έλεγχος αποδοχής και διορθώσεων.
- Ενεργοποιείται η παραγωγική έκδοση μαζί με ελέγξιμο τρόπο επαναφοράς.
Στο τέλος κάθε σταδίου ελέγχονται μόνο οι αποφάσεις που απαιτούνται για το επόμενο. Δεν είναι παραγωγικό να ζητείται τελική έγκριση γραφικών όταν παραμένουν ακαθόριστες οι επιχειρησιακές λειτουργίες. Η σειρά αυτή προλαμβάνει παρεξηγήσεις και βοηθά να ξεχωρίζουν οι διορθώσεις από νέες επιθυμίες.
Ασφάλεια, προσβασιμότητα και απόδοση διατρέχουν όλα τα στάδια
Οι τεχνικοί ποιοτικοί στόχοι δεν αντιμετωπίζονται ως συμπληρωματική εργασία στο τέλος. Μια αλλαγή στη δομή φόρμας επηρεάζει ασφάλεια και προσβασιμότητα. Μια μεγάλη εικόνα μπορεί να καθυστερεί τη βασική πληροφορία. Οι σχετικές αποφάσεις πρέπει να εξετάζονται όσο η ομάδα μπορεί ακόμη να αλλάξει πορεία χωρίς επανακατασκευή.
Για την αναζήτηση, το SEO (Βελτιστοποίηση για Μηχανές Αναζήτησης, Search Engine Optimization) προϋποθέτει κατανοητό περιεχόμενο και τεχνικά προσβάσιμες σελίδες. Οι μηχανές δεν μπορούν να αξιολογήσουν με τον ίδιο τρόπο πληροφορία που υπάρχει αποκλειστικά σε μη προσβάσιμα στοιχεία. Εντάξτε λοιπόν την ποιότητα στο σχεδιασμό και όχι μόνο στον τελικό κατάλογο ελέγχων.
Ποιοι κίνδυνοι αποκαλύπτουν μια ανώριμη παράδοση
Απαιτείται προσοχή όταν δεν υπάρχει σαφής κάτοχος λογαριασμών, όταν η ομάδα δεν μπορεί να παρουσιάσει επαναφορά αντιγράφου ή όταν ο πελάτης βλέπει μόνο εικόνες αντί για πραγματική λειτουργία. Επίσης προβληματικό είναι να παραδίδεται περιβάλλον χωρίς τεκμηρίωση βασικών ρυθμίσεων και χωρίς συμφωνημένο τρόπο υποστήριξης. Τα παραπάνω δεν διορθώνονται με μια θετική γενική περιγραφή της δουλειάς.
Η ασφαλής παραλαβή επαληθεύει συγκεκριμένα δικαιώματα πρόσβασης, διαθέσιμα αντίγραφα, αλλαγές που εκκρεμούν και το περιεχόμενο των τεχνικών παραδοτέων. Οι σημαντικές εκκρεμότητες δεν αποκρύπτονται. Περιγράφονται με αντίκτυπο, υπεύθυνο και τρόπο αντιμετώπισης.
Πώς αντιμετωπίζονται οι αλλαγές μέσα στο έργο
Οι ανάγκες ενός οργανισμού μπορεί να αναθεωρηθούν μόλις εμφανιστεί η πρώτη λειτουργική έκδοση. Αυτό δεν αποτελεί απαραίτητα σφάλμα προγραμματισμού, αλλά χρειάζεται ελεγχόμενη απόφαση. Για κάθε νέο αίτημα περιγράφεται τι αλλάζει στο περιεχόμενο, στα δεδομένα, στην ασφάλεια και στις εργασίες που έχουν ήδη ολοκληρωθεί. Η ομάδα εκτιμά τις επιπτώσεις προτού ενσωματώσει την αλλαγή σε παραγωγική έκδοση.
Έτσι ξεχωρίζει μια διόρθωση υφιστάμενης υποχρέωσης από μια νέα απαίτηση. Το κοινό αρχείο αποφάσεων βοηθά να γνωρίζουν όλοι ποια έκδοση των απαιτήσεων ισχύει. Χωρίς αυτό, ένα έργο μπορεί να φαίνεται ότι προχωρά, ενώ κάθε μέλος υλοποιεί διαφορετική αντίληψη του αποτελέσματος.
Τεκμηρίωση που επιτρέπει συνέχεια χωρίς τον αρχικό δημιουργό
Η αξία των τεχνικών σημειώσεων φαίνεται όταν ένας άλλος εξουσιοδοτημένος συνεργάτης χρειαστεί να διορθώσει πρόβλημα. Πρέπει να γνωρίζει πώς ξεκινά η εφαρμογή, ποια είναι τα κρίσιμα υποσυστήματα, ποιες ρυθμίσεις ανήκουν σε κάθε περιβάλλον και ποια βήματα απαιτούνται για ασφαλή αλλαγή. Οι κωδικοί δεν καταγράφονται σε δημόσια έγγραφα· περιγράφεται όμως ο εγκεκριμένος τρόπος απόκτησης πρόσβασης.
Στα παραδοτέα περιλαμβάνονται επίσης τα όρια γνωστών λειτουργιών και οι έλεγχοι που πράγματι εκτελέστηκαν. Τεκμηρίωση που παρουσιάζει μια μη δοκιμασμένη δυνατότητα ως επαληθευμένη δημιουργεί μεγαλύτερο κίνδυνο από μια καθαρά καταγεγραμμένη εκκρεμότητα.
Μετά τη δημοσίευση αρχίζει η συντήρηση
Η παραγωγική λειτουργία φέρνει δεδομένα και συμπεριφορές που δεν εμφανίζονται πάντα στις δοκιμές. Παρακολουθούνται τεχνικά σφάλματα, παραλαβή αιτημάτων, κατανάλωση πόρων και προβλήματα που αναφέρουν επισκέπτες. Κάθε ενημέρωση μπορεί να επηρεάσει κοινά στοιχεία, άρα χρειάζεται στοχευμένος επανέλεγχος. Αν αλλάζει σημαντική απαίτηση, επιστρέφουμε στη σχεδίαση αντί να προσθέτουμε πρόχειρες διορθώσεις.
Η διάκριση σχεδιασμού και ανάπτυξης διευκρινίζει ποιος αναλαμβάνει κάθε εργασία, ενώ η αξιολόγηση κόστους βοηθά να συμφωνηθούν συγκεκριμένες παραδόσεις. Μια αξιόπιστη διαδικασία αφήνει πίσω της λειτουργικό ιστότοπο και επαρκή γνώση για την επόμενη ημέρα.