Γιατί αποτυγχάνουν τα έργα λογισμικού; Οι συνηθέστεροι λόγοι
Margo Kosnik
Πόσες φορές διαχειριστήκατε το έργο και δεν είχατε καθυστερήσεις, το παραδώσατε εγκαίρως και όλη η διαδικασία εξελίχθηκε σύμφωνα με τον προγραμματισμό; Σπάνια; Καθόλου; Ένα έργο λογισμικού είναι μια πολύ συγκεκριμένη πρόκληση και σίγουρα δεν είναι εύκολο να υλοποιηθεί. Υπάρχουν πολλοί λόγοι για τους οποίους αυτού του είδους τα έργα αποτυγχάνουν. Ας τους αναλύσουμε και ας δώσουμε στην επιχείρησή σας περισσότερες πιθανότητες επιτυχίας.
Τα τελευταία στατιστικά στοιχεία δείχνουν ότι μόνο ένας από κάθε τέταρτο λογισμικό έργο ολοκληρώνεται με επιτυχία. Σύμφωνα με τις κατευθυντήριες γραμμές που τέθηκαν προηγουμένως, είναι εύκολο να αντιληφθεί κανείς τον αγώνα για την επιτυχία στον κλάδο της τεχνολογίας. Αν λάβουμε υπόψη πόσο σημαντικός ανάπτυξη λογισμικού είναι για την εξέλιξη των περισσότερων προϊόντων (και για τις ίδιες τις εταιρείες), εύκολα αντιλαμβανόμαστε ότι το ζήτημα της αποτυχίας των έργων είναι αρκετά σοβαρό. Το ίδιο το γεγονός ότι, στατιστικά, πάνω από το 25% των έργα λογισμικού Η αποτυχία λέει τα πάντα.
Τίθεται το ερώτημα: γιατί συμβαίνει αυτό; Εδώ υπεισέρχονται ορισμένοι καθοριστικοί παράγοντες. Παράδειγμα; Οι πελάτες συχνά ξεχνούν τη λεγόμενη "συμμετοχή του χρήστη". Το θέμα είναι ότι το όραμα και το περίγραμμα του προϊόν, συχνά, ζωντανεύουν χωρίς τη συμμετοχή του πελάτη. Αυτό είναι το πρώτο και κύριο λάθος. Αυτό έχει ως αποτέλεσμα μια σειρά από αλλαγές στο σχεδιασμό, επιπλοκές, καθυστερήσεις και πολλά άλλα ζητήματα, για τα οποία έχουμε μιλήσει παρακάτω.
Ακολουθούν οι παράγοντες που, κατά τη γνώμη μας, επηρεάζουν περισσότερο τα αποτελέσματα μιας έργο λογισμικού:
Έλλειψη προγραμματιστών και ανεπαρκής χρόνος
55% του έργα λογισμικού αποτυγχάνουν λόγω έλλειψης χρόνου για την παράδοση του προϊόντος. Το μη ρεαλιστικό χρονοδιάγραμμα για την υλοποίηση του έργου είναι ένα από τα πιο συχνά λάθη. Προγραμματιστές λογισμικού αναγκάζονται να εργάζονται γρήγορα και σκληρά, γεγονός που επηρεάζει αρνητικά, μεταξύ άλλων, την ποιότητα της κωδικοποίησης. Τα λάθη στην κωδικός - όπως πιθανώς γνωρίζετε - προκαλούν πρόσθετα προβλήματα στο τελικό προϊόν και παρατείνουν το χρονοδιάγραμμα των εργασιών.
Ένα άλλο ζήτημα είναι η ποιότητα των ομάδα. Το πρόβλημα θα μπορούσε να είναι ότι είτε δεν υπάρχουν εξειδικευμένους προγραμματιστές λογισμικού ή απλά δεν είναι αρκετά επαγγελματίες μηχανικούς για την υλοποίηση του έργου όπως είχε προγραμματιστεί.
Καλή προσέγγιση:
Η σωστή προσέγγιση για να σας βοηθήσει να επιτύχετε τους στόχους σας είναι να ακολουθήσετε το Ανάπτυξη λογισμικού Κύκλος. Μπορείτε να διαβάσετε περισσότερα για αυτή τη διαδικασία εδώ.
Επιπλέον, να θυμάστε ότι έργα λογισμικού δεν είναι μόνο δουλειά των προγραμματιστών και υπηρεσίες συγγραφής κώδικα, αλλά πολύ συχνά περιλαμβάνουν επίσης Σχεδιασμός UI/UX. Επομένως, θυμηθείτε να καταγράψετε την πλήρη τεκμηρίωση του έργου σας από την αρχή και βεβαιωθείτε ότι όλη η ομάδα που θα αναπτύξει το προϊόν σας βρίσκεται στην ίδια σελίδα και είναι πάντα ενημερωμένη για τις πιθανές αλλαγές.
Αξίζει επίσης να εφαρμοστεί βέλτιστες πρακτικές αναθεώρησης κώδικα προκειμένου να αποφευχθούν εκ των προτέρων σημαντικά λάθη.
Ανεπαρκής προϋπολογισμός
Αν προσπαθήσετε να διατηρήσετε το κόστος του έργου εντός του περιορισμένου προϋπολογισμού που έχετε ορίσει (και, με κάθε τρόπο, θα θέλετε να αποφύγετε την υπέρβασή του), είναι πολύ πιθανό οι προσπάθειές σας να οδηγήσουν το έργο σε αποτυχία. Υπάρχουν δύο πιθανές λύσεις. Είτε θα πρέπει να προσλάβετε λιγότερο έμπειρους προγραμματιστές με χαμηλότερη τιμή είτε να παραιτηθείτε από κάποιο μέρος του έργου. Πιθανώς καμία από αυτές τις λύσεις δεν σας ικανοποιεί.
Καλή προσέγγιση:
Λάβετε υπόψη αν είναι καλύτερα να υπερβείτε τον προϋπολογισμό 10-20%, αλλά να δημιουργήσετε ένα προϊόν λογισμικού υψηλής ποιότητας. Σε σύντομο χρονικό διάστημα θα πειστείτε για τα πλεονεκτήματα αυτής της λύσης, όταν δείτε ότι το προϊόν λειτουργεί σωστά και ότι οι πελάτες σας είναι ικανοποιημένοι από αυτό. Το αποτέλεσμα θα αξίζει την επιπλέον επένδυση.
Επιπλέον, εάν σκέφτεστε να συνεργαστείτε με οίκος λογισμικού, προσπαθήστε να βρείτε μια εταιρεία που έχει τεκμηριωμένες επιτυχίες σε συνεργασία με εταιρείες του ίδιου κλάδου με τη δική σας. Ζητήστε μια μελέτη περίπτωσης παρόμοιων έργων, και με αυτόν τον τρόπο θα επαληθεύσετε την αποτελεσματικότητα και την αξιοπιστία του δυνητικού συνεργάτη.
Σωστή επικοινωνία
Ένα άλλο πολύ σημαντικό ζήτημα. Πρέπει να βεβαιωθείτε ότι όλα τα μέλη του έργου γνωρίζουν τους στόχους και έχουν σαφώς καθορισμένο καταμερισμό των αρμοδιοτήτων τους. Αυτό ισχύει για την οργάνωση της εργασίας, η οποία επηρεάζει επίσης την επικοινωνία. Αυτό το στοιχείο πρέπει να διαχειριστείτε σωστά, ώστε να μην προκύψουν παρεξηγήσεις ή ακόμη και αντικρουόμενα συμφέροντα κατά τη διάρκεια του έργου.
Εάν είστε ο Ιδιοκτήτης του Έργου ή το επιβλέπετε προσωπικά, συναντιέστε τακτικά με όλα τα μέλη. Παρουσιάστε με σαφήνεια όλες τις απαιτήσεις, μάθετε τη γνώμη τους και ενημερωθείτε για την πρόοδο του έργου. Θέστε σαφείς κανόνες, ώστε όλοι να γνωρίζουν σε τι πρέπει να επικεντρωθούν, ποιος είναι ο στόχος και τι αναμένεται.
Εξέταση της προόδου του έργου
Οι παραδοχές συχνά αλλάζουν κατά τη διάρκεια του εν εξελίξει έργου. Αυτό μπορεί να προκαλέσει προβλήματα στον έλεγχο της προόδου του. Είναι πιθανό, ως συνέπεια τυχόν αλλαγών, να χάσετε τον προσανατολισμό και τον αρχικό στόχο του έργου.
Καλή προσέγγιση:
Αποφασίστε για το διαχείριση έργων μοντέλο που είναι κατάλληλο για την επιχείρησή σας. Αυτό που θα σας εγγυάται πλήρη διαφάνεια της εργασίας. Μπορούμε να σας προτείνουμε το Μεθοδολογία Scrum.
Έχει σχεδιαστεί για μικρές/μεσαίες ομάδες και αποτελείται από κυκλικά σπριντ, όχι μεγαλύτερα από δύο εβδομάδες έως ένα μήνα, όπου η ομάδα επικεντρώνεται στην εκτέλεση αυστηρά καθορισμένων εργασιών, στη συνέχεια παρακολουθεί την πρόοδο, επανασχεδιάζει σε 15λεπτες καθημερινές συναντήσεις και μόνο μετά την υλοποίησή τους προχωρά στις επόμενες εργασίες. Αυτή η προσέγγιση θα διασφαλίσει τη ρευστότητα του έργου σας. Να θυμάστε επίσης ότι σύμφωνα με το Ευέλικτη αρχές (στην οποία βασίζεται η έννοια του Scrum), θα πρέπει να πραγματοποιείτε τακτικές δοκιμές σε κάθε στάδιο του έργου. Αποτελεί εγγύηση για την υψηλή ποιότητα και συμβάλλει στην πρόληψη πιθανών λαθών.
Διαβάστε περισσότερα για αυτή τη μεθοδολογία εδώ και μάθετε πώς να το εφαρμόσετε στην ομάδα σας.
Επιλέξτε την κατάλληλη τεχνολογία
Η καλά επιλεγμένη τεχνολογία για το προϊόν σας είναι το κλειδί. Εξασφαλίζει αξιοπιστία, ασφάλεια και ταχύτητα. Μην είστε στενόμυαλοι απέναντι στις νέες ιδέες ενός οίκου λογισμικού ή των προγραμματιστών με τους οποίους συνεργάζεστε. Πιθανότατα διαθέτουν πολύ μεγάλη εμπειρία και μπορούν σίγουρα να σας βοηθήσουν να επιλέξετε τις σωστές τεχνολογίες.
Καλή προσέγγιση:
Εξετάστε το ενδεχόμενο να κατασκευάσετε το προϊόν σας σε ένα MVP βάση και να επιλέξετε την τεχνολογία που θα είναι πιο αποτελεσματική για τη λύση αυτή. Έχουμε ήδη γράψει για τα πλεονεκτήματα του MVP σε αυτό το άρθρο. Να θυμάστε ότι χάρη σε αυτό, έχετε την ευκαιρία να μειώσετε το κόστος και να επιταχύνετε σημαντικά τη διαδικασία.
Λάθη στη διαχείριση
Όπως έχουμε ήδη αναφέρει σε αυτό το άρθρο, η έργα λογισμικού είναι πολύ συγκεκριμένες και απαιτούν κατάλληλη διαχείριση. Εσείς, ως επικεφαλής του έργου ή ως άτομο που το επιβλέπει, θα πρέπει να γνωρίζετε το ρόλο σας στην ομάδα, να ενθαρρύνετε την ανάπτυξή της και να επιδιώκετε τους στόχους της με τις ενέργειές σας.
Καλή προσέγγιση:
Αναλύστε τα προηγούμενα έργα σας και σκεφτείτε ποια λάθη κάνατε. Ίσως θα μπορούσατε να είχατε λάβει διαφορετικές αποφάσεις που θα ήταν πολύ πιο αποτελεσματικές; Εξοικειωθείτε με τις καλές πρακτικές άλλων διευθυντών σε παρόμοιες θέσεις και κλάδους. Σε αυτό το άρθρο, θα διαβάσετε για το ιδιότητες ενός καλού τεχνολογικού ηγέτη.
Εύρος ερπυσμού και επιχρύσωση
Απροσδόκητες αλλαγές στο έργο, πρόσθετες εργασίες ή απόσπαση της προσοχής - όλες αυτές οι δυσλειτουργίες στο έργο σας μπορεί να επηρεάσουν αρνητικά όλα τα μέλη - τόσο εσάς όσο και τους προγραμματιστές λογισμικού. Πώς να το αντιμετωπίσετε;
Καλή προσέγγιση:
Να είστε έτοιμοι γι' αυτό. Μάθετε καλές πρακτικές που θα σας βοηθήσουν να έρθετε και να χρυσώσετε. Υπάρχουν πολλά κόλπα που βοηθούν στη διαχείριση τέτοιων καταστάσεων. Ωστόσο, να θυμάστε ότι αν το έργο σας είναι καλά μελετημένο και προσεκτικά σχεδιασμένο από την αρχή, αν η κατανομή των ρόλων στην ομάδα και τα καθήκοντα που ανατίθενται είναι ξεκάθαρα σε όλους, τότε θα μειώσετε αυτού του είδους τις απειλές. Περισσότερα για το Scope Creep και το Gold Plating διαβάστε εδώ.
Συμπεράσματα
Σε αυτό το άρθρο, περιγράψαμε τις επτά πιο κοινές λάθη σε έργα λογισμικού. Ωστόσο, πρέπει να θυμάστε ότι οι παράγοντες κινδύνου μπορεί να είναι πολύ περισσότεροι - ανάλογα με το είδος του έργου και τον κλάδο. Προσπαθήστε να είστε έτοιμοι. Δεν μπορώ να τονίσω αρκετά τη σημασία των καθημερινών καθηκόντων ενός επόπτη έργου, όπως ο σχεδιασμός, η παρακολούθηση, ο έλεγχος και η επαλήθευση. Σκεφτείτε προσεκτικά κάθε ένα από τα στάδια, σκεφτείτε τυχόν εμπόδια και προσπαθήστε να τα αποτρέψετε ή να τα εξαλείψετε το συντομότερο δυνατό. Με αυτόν τον τρόπο, όλες οι υλοποιήσεις θα κυλήσουν ομαλά και θα δώσετε στο έργο λογισμικού περισσότερες πιθανότητες επιτυχίας.