Επιλογή νέων τεχνολογιών και ρίσκο - Technical management
Όταν ξεκινάει ένα project, υπάρχει κάποια στιγμή που θα πρέπει να πάρεις among others και πολλές αποφάσεις οι οποίες έχουν να κάνουν με τις τεχνολογίες οι οποίες θα χρησιμοποιηθούν. Η απόφαση αυτή μπορεί να φαντάζει εξαιρετικά εύκολη, ιδιαίτερα αν είσαι ενθουσιώδης, νέος ή φιλόδοξος ή νομίζεις οτι μπορείς να τα κάνεις ολα και να συμφέρεις παρόλα αυτά η ρεαλιστική άποψη και θέση είναι εξαιρετικά διαφορετική.
Υπάρχουν αρκετοί παράγοντες τους οποίους θα πρέπει να ρίξεις στο mixer της απόφασης μέχρι να καταλήξεις να φτιάξεις τον τελικό χυμό.Ας δούμε μερικούς και ας προβληματιστούμε.
-
Ωριμότητα τεχνολογίας- ηλικία: Κάθε νέα τεχνολογία framework (που σέβεται τον εαυτό της) έρχεται για να λύσει ή να δώσει απάντηση σε τεχνολογικά αδιέξοδα παλιότερης. Παρόλα αυτά. οι αλλαγές που μπορεί να φέρνει με το καλημέρα μπορεί πραγματικά να μην είναι αυτές που χρειάζεσαι ή να μην τις χρειάζεσαι όλες. Πολλές φορές εταιρίες ή ομάδες οι οποίες προωθούν μια νέα λύση χαρακτηρίζονται απο υπερβολικό ζήλο να πείσουν του πάντες για την ορθότητα της υλοποίησης τους, και αυτό είναι δεκτό. Εσυ ως το άτομο που θα πρέπει να πάρει την απόφαση θα πρέπει να ζυγίσεις κατά πόσο τα νέα χαρακτηριστικά είναι πραγματικά καλά υλοποιημένα για την ηλικία της προσπάθειας ή αν είναι ανώριμα ακόμα και θέλει κάποιο καιρό. (Φαντάσου σαν τα άγουρα φρούτα, μην κάνεις το λάθος και τα κόψεις νωρίς απο το δένδρο μπορεί να έχεις τη χαρά να είσαι ο πρώτος που θα τα φάς αλλά είναι αρκετά πιθανό να απογοητευτείς γιατί εσωτερικά τα πράγματα είναι ξινά). Τώρα το ερώτημα καλά πως να καταλάβω αν πραγματικά είναι ΟΚ έστω και νωρίς, η απάντηση μου είναι οτι αυτό είναι θέμα καθαρά της εμπειρίας σου και των ικανοτήτων σου πάνω στο άθλημα.
-
Community Support : Πολλές νέες τεχνολογίες έρχονται ξαφνικά στο προσκήνιο δηλαδή είναι νέες προσπάθειες άλλες είναι απλά συνέχεια παλιότερων εκδόσεων. Είναι σημαντικό να ξέρουμε και να μπορούμε να αντιληφθούμε κατά πόσο αυτες οι τεχνολογίες έχουν κάποιο ποσοστό αποδοχής απο την υπόλοιπη κοινότητα. Και καλά θα ρωτήσει κάποιος τι με νοιάζει εμένα αν το έχει χρησιμοποιήσει η Soula Soft, ή Nitsa Soft και η WeekendGeeks Soft. σε νοιάζει γιατί σημαίνει οτι κάποια ομάδα ανθρώπων εκεί έξω και ίσως και στο internet έχει ηδη λύσει παρόμοια προβλήματα με τα δικα σου, η έχει αντιμετωπίσει ηδη τα πρώτα αδιέξοδα της νέας τεχνολογίας. Πιστεύω, οτι το wide adoption μιας τεχνολογίας η ενός standard δε θα πρέπει να το πετάμε στο σκουπίδια ως ένα ακόμα λόγο για να κρίνουμε μία τεχνολογία. Το community support και η διαθεσιμότητα resources είναι αρκετά σημαντικό και έχει να κάνει με σένα τον ίδιο και τους συνεργάτες σου, δες παρακάτω.
-
How confident you are : ας το δουμε ρεαλιστικά εκτός και είσαι σε κάποιο ερευνητικό περιβάλλον όπου τελικά δεν υπάρχει τεράστιο άγχος αν τα πειράματα σου με την τεχνολογία δεν βγαλουν πουθενά, το πόσο έτοιμος είσαι να την χρησιμοποιήσεις και να φέρεις αποτελέσματα είναι αρκετά σημαντικό. Θα μου πεις καλά αν είναι εξαιρετικά καινούργιο πως θα μπορέσω να πάρω κεφάλι, eventually αυτό είναι το δύσκολο για σένα, να κάνεις οτι μπορείς για να βρεθείς μπροστά. Οσο πιο στενά τα χρονικά όρια για σένα τόσο χειρότερα. Αν νομίζεις οτι έχεις την εμπειρία (να την πάλι εμφανίστηκε) να το παλέψεις go for it, παίρνοντας μαζί σου και το ρίσκο να συναντήσεις άγνωστες καταστάσεις στις οποίες θα χρειαστεί να δώσεις λύση φαντάσου οτι είσαι το enterprise to go where no one has gone before Warp 9 Mr Soulou. Αν όμως δεν είσαι το enterprise και είσαι κανένα βοηθητικό σκαφάκι, τοτε ίσως θα ήταν σωστό να μην το τολμήσεις. Μην ξεχνάς και το εξής ,μια νέα τεχνολογία θέλει τον χρόνο της για να την υλοποιήσεις σωστα.Είναι καλύτερα Λοιπόν, να βασιστείς σε ένα παλιότερο εργαλείο για να κάνεις τη δουλειά σου αν νομίζεις οτι δεν έχεις τα skill ή τον χρόνο για να εφαρμόσεις σωστα τα νεα σου εργαλεία. Μια κακό - χρησιμοποιημένη τεχνολογία είναι 2 φορές χειρότερη απο μια παλιά - παλιομοδίτικη λυση. Βέβαια, πρέπει να τονίσουμε οτι το παραπάνω επιχείρημα δεν μπορεί να σε συνοδευει για ολη σου την καριέρα γιατί τότε τεχνικά δε θα εξελιχθείς ποτέ και δε θα φροντίσεις να μάθεις νέα πράγματα.
-
Πόσα resources υπάρχουν (documentation) : Ανέφερα στο σημείο 2 για community adoption και resources, mailing list, forums, ενεργές ομάδες κοινότητες. Αλλά ας δούμε και κάτι πιο απλό αλλά σημαντικό. Documentation , υπάρχει είναι καλό; Πρέπει να το εξετάσεις. Οι δημιουργοί έχουν κάνει tutorial, τα έχουν διαθέσιμα και αν λένε τίποτα εννοώ είναι χρήσιμα; Υπάρχουν βιβλία διαθέσιμα τα οποία βγήκαν ή θα βγουν σύντομα για τη νέα τεχνολογία;
-
Πόσο confident είναι οι συνεργάτες σου: Κατα την ταπεινή μου άποψη η υιοθέτηση μιας νέας τεχνολογίας πρέπει να γίνεται τόσο έντονα οσο και η εμπειρία ή οι ικανότητες των συνεργατών σου- συναδέλφων σου. Αν περιβάλλεσαι απο έμπειρους συνεργάτες οι οποίοι έχουν την εμπειρία (να το πάλι) να μπορέσουν να λύσουν τεχνικά προβλήματα όταν βγουν τα δύσκολα τότε έχεις έναν καλό σύμμαχο μαζί σου, αν όμως οι συνεργάτες σου είναι νέοι και άπειροι (και αυτό φυσιολογικό είναι όλοι μας ήμασταν και είμαστε νέοι και χωρίς εμπειρία σε σχέση με κάποιους άλλους.
-
Πόσες νέες τεχνολογίες θα χρησιμοποιήσεις παράλληλα.: Πολλές φορές σε ένα project κάνουμε πλάνα να χρησιμοποιήσουμε 2 ή 3 διαφορετικές, νέες τεχνολογίες μαζί. Αυτό μας οδηγεί όπως αρκετοί λένε σωστά - σε κοντινό φλερτ με την αποτυχία . Ένας ρεαλιστικός κανόνας λέει οτι επέλεξε να χρησιμοποιήσεις τις τεχνολογίες που είναι απαραίτητες ως νέες για τη νέα σου προσπάθεια, και συνδύασε τες με μερικές παλιότερες για να μειώσεις τις πιθανότητες του φλερτ με την αποτυχία και ίσως να πέσεις στο κρεβάτι μαζί της.
Η απόφαση όπως φαίνεται δεν είναι πάντα απλή και εύκολη. Τα αποτελέσματα της απόφαση θα φανούν σύντομα μετά απο 1-2 μήνες δουλειάς η μετά απο 6 μήνες δουλειάς.Καλη τύχη σε κάθε έναν που παίρνει τέτοιες αποφάσεις may the source be with you