Πότε ένα έργο αρχίζει να βυθίζεται;
Κάθε έργο πληροφορικής ξεκινάει με παρόμοιο τρόπο. Υπάρχουν φιλόδοξα σχέδια, χρονοδιάγραμμα, παρουσίαση των πρώτων μακετών και η πεποίθηση ότι σε λίγους μήνες η εταιρεία θα χρησιμοποιεί ένα σύγχρονο σύστημα. Αρχικά όλα φαίνονται υποσχόμενα, αλλά με τον καιρό εμφανίζονται οι πρώτες καθυστερήσεις. Η προθεσμία μετατίθεται κατά μία εβδομάδα, μετά έναν μήνα. Ο αριθμός των σφαλμάτων αυξάνεται, η επικοινωνία με τον ανάδοχο γίνεται όλο και πιο δύσκολη, και οι επόμενες απαντήσεις είναι: «Λίγη υπομονή ακόμα», «Είναι μόνο μια μικρή διόρθωση» ή «Είμαστε ήδη στο φινάλε.»
Κάποια στιγμή αποδεικνύεται ότι αντί για ένα έτοιμο προϊόν, η εταιρεία έχει ένα ημιτελές έργο που κανείς δεν θέλει να αναλάβει.
Αυτό το σενάριο είναι πολύ πιο συνηθισμένο απ’ ό,τι θα μπορούσε να φαντάζεται κανείς.
Το μεγαλύτερο πρόβλημα δεν είναι ο κώδικας
Οι περισσότεροι επιχειρηματίες θεωρούν ότι αν το έργο δεν λειτουργεί, φταίει ο κακογραμμένος κώδικας. Βεβαίως - μερικές φορές όντως συμβαίνει. Στην πράξη όμως πιο συχνά το πρόβλημα βρίσκεται βαθύτερα.
Λείπει η τεκμηρίωση. Η αρχιτεκτονική δημιουργήθηκε «εν ριπή οφθαλμού». Δεν υπάρχουν αυτοματοποιημένα τεστ. Οι ενσωματώσεις έγιναν πρόχειρα. Νέες λειτουργίες προστέθηκαν χωρίς ανάλυση του αντίκτυπου στο σύνολο του συστήματος. Ως αποτέλεσμα, ακόμη και μια μικρή αλλαγή προκαλεί νέα σφάλματα.
Είναι κάπως σαν μια ανακαίνιση σπιτιού χωρίς σχέδιο. Κάθε επόμενο δωμάτιο μπορεί να ολοκληρωθεί, αλλά με τον καιρό αποκαλύπτεται ότι οι τοίχοι δεν είναι εκεί που πρέπει, οι εγκαταστάσεις έχουν γίνει τυχαία και η ανακαίνιση γίνεται όλο και πιο δαπανηρή.
Πότε αξίζει να πεις «στοπ»;
Ένα από τα πιο δύσκολα σημεία για τον ιδιοκτήτη της εταιρείας είναι η απόφαση να διακόψει τη συνεργασία με τον τρέχοντα ανάδοχο. Πολλοί επιχειρηματίες το αναβάλλουν για πολύ.
Γιατί;
Επειδή το έργο έχει ήδη καταπιεί πολλά χρήματα.
Επειδή είναι κρίμα για τον χρόνο.
Επειδή ίσως «ακόμα προλάβουμε».
Η ψυχολογία ονομάζει αυτό το φαινόμενο αποτέλεσμα βυθισμένου κόστους. Όσο περισσότερα έχουμε επενδύσει, τόσο δυσκολότερο είναι να παραδεχτούμε ότι η τρέχουσα πορεία δεν οδηγεί πουθενά.
Εντούτοις, μερικές φορές η καλύτερη απόφαση δεν είναι να ρίξουμε άλλο προϋπολογισμό στο ίδιο πρόβλημα, αλλά να σταματήσουμε το έργο και να αναλύσουμε ήρεμα την κατάσταση.
Μπορεί να σωθεί κάθε έργο;
Όχι. - Και αξίζει να το πούμε ειλικρινά.
Υπάρχουν έργα που η επιδιόρθωσή τους θα κόστιζε περισσότερο από το να δημιουργηθούν από την αρχή. Συμβαίνει επίσης η τεχνολογία που χρησιμοποιήθηκε να είναι ήδη παρωχημένη ή η αρχιτεκτονική να έχει σχεδιαστεί με τέτοιο τρόπο που καθιστά αδύνατη την περαιτέρω ανάπτυξη.
Γι’ αυτό το πρώτο βήμα δεν πρέπει ποτέ να είναι υποσχέσεις.
Το πρώτο βήμα πρέπει να είναι ένας έλεγχος (audit).
Μόνο μετά από λεπτομερή ανάλυση του κώδικα, της τεκμηρίωσης, της υποδομής και των διαδικασιών μπορεί κανείς να απαντήσει στο ερώτημα αν συμφέρει περισσότερο να επιδιορθωθεί η υπάρχουσα λύση ή να ξεκινήσει ένα νέο έργο.
Ένας καλός τεχνολογικός συνεργάτης δεν θα πει αυτό που ο πελάτης θέλει να ακούσει.
Θα πει αυτό που είναι καλύτερο για την επιχείρηση.
Πώς γίνεται στην πράξη η διάσωση ενός έργου;
Παρά τις εμφανίσεις, δεν ξεκινά από τον προγραμματισμό.
Πρώτα πρέπει να καταλάβουμε με τι έχουμε να κάνουμε.
Αναλύουμε την αρχιτεκτονική του συστήματος, την ποιότητα του κώδικα, τον τρόπο επικοινωνίας μεταξύ των μονάδων, την ασφάλεια των δεδομένων, την απόδοση και τις δυνατότητες περαιτέρω ανάπτυξης. Ελέγχουμε την τεκμηρίωση, το ιστορικό αλλαγών και τις τεχνολογίες που χρησιμοποιήθηκαν. Συχνά ήδη μετά από μερικές ημέρες είναι σαφές που βρίσκεται το πραγματικό πρόβλημα.
Μόνο τότε δημιουργείται ένα σχέδιο δράσης.
Μερικές φορές αρκεί να τακτοποιήσουμε τον κώδικα και να διορθώσουμε μερικά κρίσιμα στοιχεία. Άλλοτε απαιτείται η ανασυγκρότηση επιλεγμένων μονάδων. Συμβαίνει επίσης ότι η πιο λογική λύση είναι η δημιουργία ενός νέου συστήματος αξιοποιώντας ό,τι έχει ήδη παραχθεί.
Δεν υπάρχουν δύο ίδια έργα.
Ούτε υπάρχει μία συνταγή για το πώς να τα σώσουμε.
Γιατί η ανάληψη ενός έργου είναι πιο δύσκολη από τη δημιουργία νέου;
Αυτή είναι μια ερώτηση που συχνά ακούμε από πελάτες.
Η απάντηση είναι απλή.
Δημιουργώντας ένα σύστημα από την αρχή, γνωρίζουμε κάθε σχεδιαστική απόφαση. Ξέρουμε γιατί επιλέχθηκε μια συγκεκριμένη λύση και ποια ήταν τα αρχικά υποθέματα.
Αναλαμβάνοντας ένα ξένο έργο, πρέπει πρώτα να ανακατασκευάσουμε αυτή τη γνώση.
Είναι σαν να πάρεις μια οικοδομή μετά από συνεργείο που άφησε τον χώρο χωρίς σχέδια, χωρίς τεκμηρίωση και χωρίς πληροφορίες για το τι έχει υλοποιηθεί.
Γι’ αυτό η διάσωση έργων απαιτεί όχι μόνο προγραμματιστικές δεξιότητες αλλά και αρχιτεκτονική, αναλυτική και σχεδιαστική εμπειρία.
Ο τεχνολογικός συνεργάτης πρέπει να είναι μαζί σας και όταν προκύψουν προβλήματα
Ένα καλό software house δεν κρίνονται από το πώς ξεκινά ένα έργο.
Κρίνεται από το πώς αντιδρά όταν προκύπτουν δυσκολίες.
Δεν μπορεί καν όλα να προβλεφθούν. Αλλάζουν οι επιχειρηματικές απαιτήσεις, οι τεχνολογίες και οι ανάγκες των χρηστών. Το κρίσιμο είναι αν η ομάδα μπορεί να βρει λύση, να επικοινωνήσει καθαρά τους κινδύνους και μαζί με τον πελάτη να λαμβάνει τις καλύτερες αποφάσεις.
Τότε είναι που χτίζεται η εμπιστοσύνη.
Πώς δουλεύουμε στην Web24;
Προσεγγίζουμε τα έργα που χρειάζονται ανάληψη με μεγάλη προσοχή.
Δεν δίνουμε υποσχέσεις μετά την πρώτη κουβέντα.
Πρώτα αναλύουμε την κατάσταση. Ελέγχουμε τι έχει γίνει, τι μπορεί να αξιοποιηθεί και τι θα χρειαστεί επανασχεδιασμό. Μόνο αργότερα προετοιμάζουμε τη σύσταση και το σχέδιο των επόμενων βημάτων.
Ο στόχος μας δεν είναι να γράψουμε χιλιάδες γραμμές κώδικα ακόμα.
Ο στόχος μας είναι να οδηγήσουμε το έργο στο σημείο όπου θα αρχίσει πραγματικά να στηρίζει την ανάπτυξη της επιχείρησης.
Σύνοψη
Αν το έργο σας έχει κολλήσει, ο ανάδοχος σταμάτησε να απαντά, το χρονοδιάγραμμα υπάρχει μόνο θεωρητικά και οι συνεχείς διορθώσεις γεννούν νέα σφάλματα, αυτό δεν σημαίνει απαραίτητα ότι όλα έχουν χαθεί.
Σε πολλές περιπτώσεις το πρόβλημα μπορεί να λυθεί.
Ωστόσο πρέπει να ξεκινήσετε από ένα βήμα - μια σοβαρή ανάλυση της κατάστασης.
Γιατί πριν αρχίσετε να σώζετε το έργο, αξίζει πρώτα να μάθετε γιατί άρχισε να βυθίζεται.



