Σε αυτό το μικρό κειμενάκι θα αναλύσουμε διεξοδικά ένα από τα πιό σύνθετα ερωτήματα που ταλαιπωρούν το ανθρώπινο είδος. Εντάξει, υπάρχουν και πιό σύνθετα, όπως το πώς και δεν μπορεί κανείς να φάει μόνο ένα, γιατί το εφημερεύον φαρμακείο της περιοχής σου είναι ΠΑΝΤΑ στη μέγιστη δυνατή απόσταση από το σπίτι σου όταν το χρειάζεσαι και γιατί οι μπάμιες, αλλά ΜΕΤΑ από αυτά τέλος πάντων έρχεται το συγκεκριμένο.
ΓΙΑΤΙ τη συγκεκριμένη φράση την ακούτε συχνά;
ΓΙΑΤΙ τη συγκεκριμένη φράση την ακούτε από ΣΥΓΚΕΚΡΙΜΕΝΕΣ κατηγορίες ανθρώπων στις οποίες περιλαμβάνονται συνήθως: α) Project Managers, β) Κανένας άλλος;
ΓΙΑΤΙ, Ω ΓΙΑΤΙ τη συγκεκριμένη φράση την ακουτε συνήθως ΑΠΟ ΑΥΤΟΝ ΠΟΥ ΣΑΣ ΖΗΤΗΣΕ ΑΡΧΙΚΑ ΝΑ ΧΡΗΣΙΜΟΠΟΙΗΣΕΤΕ ΤΗΝ ΠΛΑΤΦΟΡΜΑ;
Ας τα πάρουμε από την αρχή: Η εταιρία με την οποία συνεργάζεστε σας προτείνει να κατασκευάσετε “κάτι”. Μάλιστα, ο Project Manager της εταιρίας, μετά από ενδελεχή (γκουχ,γκουχ) έρευνα έχει καταλήξει σε ΣΥΓΚΕΚΡΙΜΕΝΗ πλατφόρμα που θα πρέπει να χρησιμοποιήσετε.
Και εσείς συμφωνείτε να αναπτύξετε πάνω σε αυτή, εφόσον αυτή ζητείται. Και εδώ αρχίζουν όλα.
(Ελατε τώρα. Μην μου πείτε ότι κάθε project που αναλαμβάνετε το γράφετε από την αρχή σε assembly που τρέχει μόνο σε proprietary hardware χρησιμοποιώντας μόνο πλακέτες, ολοκληρωμένα και ένα κολλητήρι. Κάπου, κάποια στιγμή στη ζωή σας χρειάστηκε να χρησιμοποιήσετε μια (open source, συνήθως) πλατφόρμα. CMS, DMS, BPM, ERP, κάτι βρε αδερφέ. Και γιατί όχι; Σε πολλές περιπτώσεις καλύπτει ένα μεγάλο ποσοστό των απαιτήσεων, ενώ με λίγη δουλίτσα ακόμα “πιάνετε” και ό,τι δεν προσφέρεται out of the box.)
Ωραία μέχρι εδώ.
Αφού διαβάσετε τις προδιαγραφές, καταρτίζετε μια λίστα για το τι μπορεί να υποστηρίξει η πλατφόρμα και για τι θα πρέπει να γίνει πρόσθετη ανάπτυξη. Την παραδίδετε στον Project Manager και ακούτε ΤΗΝ ΚΑΤΑΡΑΜΕΝΗ ΦΡΑΣΗ (την επαναλαμβάνουμε για λόγους συνέπειας):
“Μα τι πλατφόρμα είναι αυτή που δεν μπορεί να κάνει out of the box αυτά που ζητάμε; Καλύτερα να το κάναμε custom!”
Ναι, αλλά ποιό το ακριβές αίτιο εκστόμισης της επίμαχης πρότασης που σας πιάνει στον ύπνο και σας αφήνει άφωνους;
Η απάντηση δεν είναι και τόσο απλή. Για την ακρίβεια, θα πρέπει να εντρυφήσουμε λίγο στον πνευματικό και ψυχολογικό λαβύρινθο που εν συντομία ονομάζεται “τρόπος σκέψης διοίκησης”.
Πάμε λοιπον (ονόματα και ιδιότητες είναι φανταστικά και τυχαία):
Ο Μάκης είναι Project Manager.
Ο Μάκης διαβάζει τακτικά και ενημερώνεται για όλα τα καινούρια πακέτα λογισμικού που κυκλοφορούν και σχετίζονται με το είδος των έργων που αναλαμβάνει η εταιρία του και…Ώπα, ώπα, πάμε λίγο πιο πίσω: Ο Μάκης διαβάζει τακτικά τα EXECUTIVE SUMMARIES των πακέτων λογισμικού που ΝΟΜΙΖΕΙ οτι σχετίζονται με το είδος των έργων που αναλαμβάνει η εταιρία του.
Ο Μάκης διαμορφώνει μια εμπεριστατωμένη άποψη που βασίζεται κυρίως σε bullets μισής γραμμής που έχει γράψει κάποιο τμήμα Marketing που έχει τόση σχέση με το λογισμικό όση μια γαρίδα με την κοσμολογία και υπόσχεται features τα οποία ο Μάκης θεωρεί οτι δουλεύουν γιατί “δεν μπορεί, είναι στο feature list”.
Ο Μάκης λοιπόν, μετά από μήνες ενημέρωσης, έχει φτάσει στο σημείο να θεωρεί ότι μπορεί να κάνει eshops με το Mathematica, ERP με το Wordpress και Document Management με το Windows Fax and Scan. Ενδεχομένως να αντιλαμβάνεται ότι κάτι δεν “κολλάει”, αλλά το παρακάμπτει.
Γιατί, έτσι κι αλλιώς, δεν έχει τόση σημασία το τι έχει διαβάσει ο Μάκης.
Σημασία έχει τι θα του πει η Σόνια.
Η Σόνια είναι κολλητή του Μάκη, και εργάζεται σε εταιρία το αντικείμενο της οποίας δεν έχει καμία σχέση με αυτής του Μάκη. Παρ’όλα αυτά, ο Μάκης βασίζεται πολύ στην άποψη της Σόνιας. Η Σόνια έχει απίστευτη εμπειρία στο Notepad και ακόμα μεγαλύτερη στην Access, και έχει πείσει στο παρελθόν το Μάκη ότι μπορεί με αυτά τα δύο εργαλεία να κατασκευάσει ένα μικρό σύστημα συσχετισμού της έντασης των βροχοπτώσεων στην Σουηδία με τη συχνότητα χασμουρητού του ιπποπόταμου της Μοζαμβίκης.
Ετσι λοιπον, αν είστε τυχεροί, ο Μάκης έρχεται να σας ζητήσει να χρησιμοποιήσετε μια πλατφόρμα ΕΛΑΦΡΩΣ ΣΧΕΤΙΚΗ με αυτό που θέλετε να πετύχετε. "Τι διάολο, θα το έχει ψάξει αρκετά" λέτε αφελέστατα και αρχίζετε να διερευνάτε τη λειτουργικότητα που ζητείται. Ας πούμε, λοιπον, χάριν παραδείγματος, ότι ο Μάκης
(που του το είπε η Σόνια, αλλά το έχει διαβάσει και αυτός και του άρεσε και δεν πρόκειται ποτέ να παραδεχτεί ότι του το είπε η Σόνια)
σας προτείνει να χρησιμοποιήσετε μια δημοφιλή πλατφόρμα Content Management, έστω για τους σκοπούς του παραδειγματός μας ότι λέγεται DNNrupalJoomPressUmbraKentiCore για:
- Να κατασκευάσετε κάποιες γενικές σελίδες στο Web (ωραία μέχρι εδώ)
- Να προσθέσετε μια ενότητα ειδήσεων (ποοοοολύ ωραία μέχρι εδώ)
- Να βάλετε ένα image gallery (βρε λες ο Μάκης να έπεσε διάνα;)
- Να δημιουργήσετε ένα personalized περιβάλλον που ο κάθε χρήστης θα βλέπει διαφορετικά πράγματα ανάλογα με τα στοιχεία του προφιλ του (γκουχ, αντε, ας πούμε ότι θα το κάνουμε και αυτό)
- Το user login να γίνεται με αυτόματη αναγνώριση φωνής (ε;)
- Για κάθε upload εικόνας που γίνεται να δημιουργείται αυτόματα κείμενο που περιγράφει τι απεικονίζεται στη φωτογραφία, σε 6 γλώσσες (Μακη;;;)
- Μέσω της κάμερας του laptop του χρήστη να αναγνωρίζονται τα ιδιαίτερα χαρακτηριστικά του προσώπου που προδίδουν την καταγωγή του και να προσαρμόζεται το εικαστικό θέμα του website ανάλογα με αυτή, σε επίπεδο χωριού καταγωγής προπάππου (Μακηηηη;)
- Να καταγράφεται ο ΕΝΘΟΥΣΙΑΣΜΟΣ με τον οποίο ο χρήστης κάνει κλικ σε ένα σύνδεσμο έτσι ώστε το περιεχόμενο να προσαρμόζεται αυτοματα σε κάτι πιό ενδιαφέρον όταν ο χρήστης κάνει κλικ απρόθυμα (ΜΑΚΗ!)
Ναι, ο Μάκης διάβασε το executive summary.
Το summary έλεγε (στα bullets): Personalization, intuitive adaptation, dynamic content, automation. Τα υπόλοιπα του τα είπε η Σόνια.
Εσείς λοιπόν καλείστε να υλοποιήσετε, με βάση αυτό που πρότεινε ο Μάκης, και ξαφνικά βρίσκεστε στη δύσκολη θέση να εκτιμήσετε το κόστος της υλοποίησης αυτής. Με βάση τα ζητούμενα, εκτιμάτε ότι το κόστος θα είναι περίπου όσο το εξωτερικό χρέος της χώρας συν την αξία δυο-τριων αεροπορικών εταιριών και τεσσάρων ομάδων Α’ Εθνικής, ψιλοπράγματα δηλαδή.
Και σε αυτό το σημείο, ο Μάκης, με το αφοπλιστικά έκπληκτο ύφος του και τα γουρλωμένα του μάτια, σας ξεστομίζει μια παραλλαγή της επίμαχης φράσης, όπως:
“Μα δεν είναι δυνατόν ολόκληρο DNNrupalJoomPressUmbraKentiCore να μην υποστηρίζει τηλεπαθητικά transactions! Με όλο αυτό τον κόσμο να ασχολείται σε communities, θα έπρεπε να ήταν το πρώτο πράγμα που θα περίμενε κανείς!”. Τι, επιτέλους, ΜΠΟΡΕΙ να κάνει αυτή η πλατφόρμα;"
Και βρίσκεστε στη δυσάρεστη θέση να πρέπει να υπερασπιστείτε μια πλατφόρμα που δεν φτιάξατε εσείς, που δεν επιλέξατε εσείς και που, αν είχατε το πλήρες σετ προδιαγραφών εξ’αρχής δεν θα χρησιμοποιούσατε εσείς, για ένα έργο που δεν έχει ελπίδες να επιζήσει με αυτή.
Και, για κάποιο μυστηριώδη λόγο, όλο αυτό είναι ΔΙΚΟ ΣΑΣ λάθος.
Καλή τύχη.