Βασιζόμενοι στην πρακτική εμπειρία, αναπτύξαμε μια ροή εργασίας Agile Data Science που μπορεί να ενσωματωθεί απρόσκοπτα σε διαφορετικά πλαίσια Agile. Η ροή εργασίας στοχεύει στην κάλυψη των αναγκών των επιστημόνων δεδομένων, των masters scrum, των ιδιοκτητών προϊόντων και άλλων ενδιαφερόμενων μερών.

Οι ομάδες δεδομένων αποτελούν μέρος πολλών οργανισμών στις μέρες μας και εργάζονται όχι μόνο για τη δημιουργία πληροφοριών αλλά και για την ανάπτυξη εργαλείων και προϊόντων. Η ανάγκη για αξιόπιστα εργαλεία και προϊόντα περιλαμβάνει την ανάπτυξη λογισμικού, το οποίο ακολουθεί τις αρχές Agile χρόνια τώρα. Επομένως, δεν αποτελεί έκπληξη το γεγονός ότι πολλοί οργανισμοί στοχεύουν στη δημιουργία ομάδων δεδομένων που ακολουθούν τις οδηγίες Agile και που συνεργάζονται με άλλες ομάδες ανάπτυξης σε πλαίσια Agile, είτε πρόκειται για Scrum, Kanban, SAFe, LeSS ή οποιοδήποτε άλλο αρκτικόλεξο μπορείτε να σκεφτείτε. του. Η επαναληπτική διάσταση της επιστήμης δεδομένων ταιριάζει καλά σε οποιεσδήποτε αρχές Agile. Ωστόσο, η διερευνητική διάσταση της επιστήμης δεδομένων έχει εμποδίσει την κοινότητα να βρει μια κατάλληλη λύση για την ενσωμάτωση της επιστήμης δεδομένων στα πλαίσια Agile. Υπάρχουν πρότυπα όπως η Διαδικασία διακλαδικής προτύπου για εξόρυξη δεδομένων (CRISP-DM) και Ανακάλυψη γνώσης σε βάσεις δεδομένων (KDD). Ωστόσο, είναι μάλλον αφηρημένα και δεν ενσωματώνονται με μεθόδους Agile, π.χ. Scrum και εργαλεία διαχείρισης έργων όπως το Asana ή το Jira (ή ακόμα και το Trello αν θέλετε).

Σύμφωνα με την εμπειρία μας, οι κύριες προκλήσεις που μπορεί να αντιμετωπίσει μια ομάδα επιστήμης δεδομένων κατά την προσπάθεια ενσωμάτωσης της επιστήμης δεδομένων σε πλαίσια Agile είναι οι ακόλουθες:

Πρόκληση 1: Η επιστήμη των δεδομένων είναι δύσκολο να προγραμματιστεί

Οι ιδιοκτήτες προϊόντων και οι ενδιαφερόμενοι χρειάζονται προβλεψιμότητα και εκτίμηση πότε μπορούν να αναμένουν την κυκλοφορία ενός νέου μοντέλου. Από την άλλη, οι επιστήμονες δεδομένων ακολουθούν μια πολύπλοκη και άκρως πειραματική διαδικασία που απαιτεί χρόνο και φροντίδα. Αυτό καθιστά την επιστήμη των δεδομένων δύσκολη στον προγραμματισμό πειθαρχίας. Είναι ήδη δύσκολο να προγραμματίσεις ένα μόνο σπριντ και ακόμη πιο δύσκολο να προγραμματίσεις για μήνες εκ των προτέρων, κάτι που πρέπει να γίνει σε ορισμένες ρυθμίσεις Agile.

Πρόκληση 2: Οι επαναλήψεις είναι συνήθως πολύ σύντομες

Αν κάνουμε Agile, θα πρέπει να σχεδιάσουμε, να αναπτύξουμε και να παραδώσουμε λογισμικό σε κομμάτια που μπορούν να χωρέσουν σε ένα σπριντ. Τα σπριντ συνήθως διαρκούν δύο ή τρεις εβδομάδες. Ωστόσο, για να δημιουργήσουμε ένα λογισμικό που βασίζεται σε δεδομένα, θα χρειαστούμε μια καλή διερευνητική ανάλυση δεδομένων, μια φάση ανάπτυξης μοντέλου και μια ανάπτυξη. Συγχαρητήρια αν μπορείτε να τα χωρέσετε όλα αυτά σε ένα σπριντ δύο ή τριών εβδομάδων. Το έχουμε δοκιμάσει στο παρελθόν και δεν τα καταφέραμε.

Πρόκληση 3: Οι επιστήμονες δεδομένων είναι περίεργοι

Οι επιστήμονες δεδομένων πρέπει να κάνουν ερωτήσεις σχετικά με τα δεδομένα, να αμφισβητούν υποθέσεις και να είναι ευφάνταστοι στις λύσεις τους. Ωστόσο, η περιέργεια και η δημιουργικότητα οδηγούν επίσης σε κάποια μορφή χάους. Οι επιστήμονες δεδομένων πρέπει να εκτελέσουν πολλά πειράματα για να δημιουργήσουν ένα μοντέλο που βοηθά την επιχείρηση να αποκτήσει αξία. Συχνά, συναντάμε μία (ή μερικές) τρύπες κουνελιών στη διαδικασία και παρόλο που γνωρίζουμε ότι η εξερεύνηση είναι ζωτικής σημασίας για το έργο ενός επιστήμονα δεδομένων, δεν μπορούμε να θυσιάσουμε την προβλεψιμότητα όταν άλλες ομάδες εξαρτώνται από την παραγωγή μας.

Πρόκληση 4: Εργασία σε ομάδα με άλλους επιστήμονες δεδομένων

Όταν εργάζεστε μόνοι, κάνετε όλη τη δουλειά και (ελπίζουμε) να γνωρίζετε τι κάνατε και τι πρόκειται να κάνετε στη συνέχεια. Ωστόσο, εάν εργάζεστε σε μια ομάδα δεδομένων, τις περισσότερες φορές θα συνεργάζεστε με άλλους επιστήμονες δεδομένων. Αυτό απαιτεί αρκετό συντονισμό για την οργάνωση της ομάδας και την κατανομή των καθηκόντων.

Πρόκληση 5: Οι ενδιαφερόμενοι δεν έχουν κατανοήσει ακόμη πλήρως την επιστήμη των δεδομένων (και τη διαδικασία).

Η επιστήμη των δεδομένων είναι συχνά νέα για τους ενδιαφερόμενους. Είναι καθήκον μας ως επιστήμονες δεδομένων να δείξουμε πώς λειτουργούμε και πώς αναπτύσσουμε λύσεις που μπορούν να βοηθήσουν τους ενδιαφερόμενους στη λήψη αποφάσεων και στην καθημερινή τους επιχείρηση. Εκπαιδεύοντας και δημιουργώντας διαφάνεια, οικοδομούμε εμπιστοσύνη και κατανόηση, που είναι και τα δύο πολύτιμα. Ωστόσο, αυτό απαιτεί χρόνο που διαφορετικά θα μπορούσε να χρησιμοποιηθεί για την ανάπτυξη μοντέλων ή για αναλύσεις.

Παρά τις παραπάνω προκλήσεις, απολαμβάνουμε τακτικές ανταλλαγές με τα ενδιαφερόμενα μέρη και μια επαναληπτική ροή εργασιών που περιορίζεται σε μικρές επαναλήψεις που ταιριάζουν στο σύνθημά μας «ξεκινήστε μικρά, επαναλάβετε γρήγορα». Επομένως, αντί να γυρνάμε την πλάτη μας στο Agile, αναπτύξαμε τη Agile Data Science Workflow. Αυτή η ροή εργασίας μας βοηθά να:

  • συντονίζει πολλούς επιστήμονες δεδομένων και την εφαρμογή διαφορετικών ιδεών,
  • προσαρμόστε την υλοποίηση σε κύκλους σπριντ,
  • να κάνει την ολοκλήρωση των παραδοτέων πιο προβλέψιμη,
  • δημιουργήστε διαφάνεια για ολόκληρη την ομάδα, ειδικά για τους ιδιοκτήτες προϊόντων και τους ενδιαφερόμενους.

Η λύση που παρουσιάζουμε δεν είναι τέλεια, αλλά πιστεύουμε ότι είναι πολύτιμη. Έχουμε λάβει σχόλια και έχουμε ήδη περάσει από ορισμένους κύκλους βελτίωσης. Η έκδοση που εξηγείται παρακάτω είναι το αποτέλεσμα αυτών των προσπαθειών.

Η ροή εργασίας Agile Data Science

Η ροή εργασίας Agile Data Science αποτελείται από διαφορετικούς τύπους επαναλήψεων και έχει ως στόχο την επίτευξη χρήσιμων αποτελεσμάτων σε λίγα σπριντ. Αρχικά, πρέπει να οριστεί το επιχειρηματικό πρόβλημα σε στενή συνεργασία με τον επιχειρηματικό εταίρο. Αυτό μπορεί να απαιτήσει πολλές επαναλήψεις, γι' αυτό σας συνιστούμε να ξεκινήσετε πολύ νωρίτερα. Δεύτερον, θα αναλύσουμε τα σύνολα δεδομένων που είναι διαθέσιμα για τη μοντελοποίηση και θα δημιουργήσουμε τα χαρακτηριστικά για εκπαίδευση σε μια επανάληψη Εξερευνητική Ανάλυση Δεδομένων. Τρίτον, κάποιος θα εκπαιδεύσει ένα μοντέλο στην επανάληψη Ανάπτυξη Μοντέλου. Επιπλέον, μπορεί να απαιτηθεί επανάληψη έρευνας σε περίπτωση που η ομάδα αντιμετωπίσει ένα νέο πρόβλημα ή δεν μπορούσε να λάβει ικανοποιητικά αποτελέσματα με τα διαθέσιμα εργαλεία. Κατά τη γνώμη μας, κάθε μία από τις επαναλήψεις θα πρέπει να ολοκληρωθεί εντός ενός σπριντ ή λιγότερο. Αυτό αποφεύγει να αποσπάται η προσοχή από τον στόχο, π.χ. όλες οι ενδιαφέρουσες αλλά εκτός θέματος νέες ιδέες ή η εφαρμογή αυτής της υπερβολικά περίπλοκης αρχιτεκτονικής νευρωνικών δικτύων που διαβάσατε κάποτε σε μια εφημερίδα.

Μέσα στη ροή εργασίας, μπορεί κανείς πάντα να επιστρέψει. Αντίθετα, σας συμβουλεύουμε ανεπιφύλακτα να μην παραλείψετε οποιοδήποτε βήμα στη διαδικασία. Οι έμπειρες ομάδες συνήθως λαμβάνουν χρήσιμα αποτελέσματα μετά από μία επανάληψη κάθε τύπου. Ωστόσο, τα νέα προβλήματα ενδέχεται να απαιτούν κάποιο buffer για να ληφθεί υπόψη η αβεβαιότητα. Άλλωστε, δεν θα ξεχνάμε ότι κάνουμε επιστήμη.

Είναι σημαντικό, παρατηρήστε ότι μιλάμε για χρήσιμααποτελέσματα και όχι για τέλειααποτελέσματα. Ο στόχος είναι να δημιουργηθούν insights και, εάν σχετίζεται με το επιχειρηματικό πρόβλημα, να αναπτυχθεί ένα μοντέλο για να το δοκιμάσει ζωντανά το συντομότερο δυνατό.

Οι επαναλήψεις της ροής εργασίας Agile Data Science, μαζί με το σύνθημά μας «ξεκινήστε από μικρό, επαναλάβετε γρήγορα», μας βοηθούν να προγραμματίζουμε τη δουλειά μας πιο εύκολα και να είμαστε πιο προβλέψιμοι.

Τύπος επανάληψης 1: Καθορισμός του επιχειρηματικού προβλήματος

Αφιερώστε λίγο χρόνο για να σκεφτείτε την παραπάνω εικόνα. Πολλά έργα επιστήμης δεδομένων ταυτίζονται με μία ή περισσότερες από τις παραπάνω εικόνες. Οι λόγοι μπορεί να είναι πολλαπλοί, από ομάδες που παρερμηνεύουν τις απαιτήσεις σε ενδιαφερόμενα μέρη που δεν γνωρίζουν τι μπορούν να περιμένουν από την επιστήμη των δεδομένων. Επομένως, πριν προχωρήσουμε σε οποιαδήποτε κωδικοποίηση, είναι υψίστης σημασίας η ομάδα να θέτει τις προσδοκίες. Επιπλέον, βεβαιωθείτε επίσης ότι το πρόβλημα είναι ΕΞΥΠΝΟ — π.χ. strong>elevant και Ttime-bound.

Σημεία ελέγχου:

  • Ορίστε τον υπεύθυνο επικοινωνίας από την πλευρά της επιχείρησης και την ομάδα ανάπτυξης
  • Συνεργαστείτε με την επιχείρηση για να ορίσετε τον επιχειρηματικό KPI για βελτιστοποίηση
  • Προσδιορίστε την αξία της επιχείρησης — ακόμα κι αν είναι μόνο κατά προσέγγιση
  • Αξιολογήστε τη διαθεσιμότητα δεδομένων και τις απαιτήσεις απορρήτου δεδομένων

Επανάληψη τύπου 2: EDA (Εξερευνητική Ανάλυση Δεδομένων) και προετοιμασία δεδομένων

Ένας EDA είναι φρούτο χαμηλού κόστους και οι ενδιαφερόμενοι το λατρεύουν για τρεις λόγους: (i) πολλοί από αυτούς μπορεί να μην έχουν το χρόνο ή τη γνώση να εξερευνήσουν τα δεδομένα, ώστε να εκτιμούν τα αποτελέσματα ενός EDA και (ii) να αισθάνονται ότι συμμετέχουν στη διαδικασία της επιστήμης δεδομένων, (iii) θα είναι πιο πιθανό να κατανοήσουν μελλοντικές και πιο σύνθετες αναφορές.

Τι να κάνετε κατά τη διάρκεια αυτής της επανάληψης; Κατανοήστε τη λογική των δεδομένων, δημιουργήστε ένα λεξικό δεδομένων και αναφέρετε τις ιδιορρυθμίες δεδομένων, έτσι ώστε τα τρέχοντα μέλη της ομάδας σας — και τα επόμενα — να τα γνωρίζουν. Κάντε επίσης αναζήτηση για ακραίες τιμές, τάσεις και μοτίβα. Η εξοικείωση με τα δεδομένα βοηθά στη δημιουργία καλύτερων μοντέλων, στην αξιολόγηση υποθέσεων και στον εντοπισμό νέων υποθέσεων. Η μηχανική χαρακτηριστικών ανήκει επίσης σε αυτήν την επανάληψη. Συλλέξτε πληροφορίες από ενδιαφερόμενα μέρη και άλλα άτομα με εξειδίκευση στον τομέα: ποια χαρακτηριστικά μπορούν να έχουν μεγαλύτερη προγνωστική δύναμη;

Ευθυγράμμιση ομάδας:
Συζητήστε τα αποτελέσματα με τους συμμαθητές σας και καθορίστε πώς να προχωρήσετε. Συνιστούμε να μεταβείτε στη μοντελοποίηση, εκτός εάν χρειάζεται να επανασχεδιάσετε, να κάνετε έρευνα ή ο EDA δεν παρείχε τους λόγους για την ανάπτυξη ενός μοντέλου. Αυτό θα πρέπει να αποφύγετε να παγιδευτείτε σε μια τρύπα κουνελιού.

Σημεία ελέγχου:

  • Αναζητήστε τα δεδομένα και διατυπώστε νέες υποθέσεις
  • Δημιουργήστε δυνατότητες στόχου και πρόβλεψης
  • Δεσμεύστε τον κώδικα σε ένα σύστημα ελέγχου έκδοσης, π.χ. GitHub
  • Αφήστε ένα άλλο μέλος της ομάδας να ελέγξει τον κώδικά σας, ειδικά όσον αφορά τη λογική και τον ορισμό των χαρακτηριστικών και να απαντήσει στα σχόλιά του
  • Τεκμηριώστε την εργασία σας

Τύπος επανάληψης 3: Μοντελοποίηση

Εάν ακολουθήσατε τις παραπάνω οδηγίες, γνωρίζετε ήδη ποιες δυνατότητες εξετάζονται. Το επόμενο φυσικό βήμα είναι να συζητήσετε με τους συμμαθητές σας ποια μέτρηση θέλετε να χρησιμοποιήσετε για να βελτιστοποιήσετε το μοντέλο σας. Στη συνέχεια, πρέπει να υπολογίσετε ποιους αλγόριθμους θα θέλατε να δοκιμάσετε. Επιδιώξτε να χρησιμοποιήσετε τον απλούστερο αλγόριθμο που γνωρίζετε και αντισταθείτε στην επιθυμία να ξεκινήσετε με έναν φανταχτερό αλγόριθμο στην πρώτη επανάληψη. Ελλείψει βασικής γραμμής, π.χ. ένας επιχειρηματικός κανόνας ή ένα προηγούμενο μοντέλο, η πρώτη επανάληψη θα γίνει η βασική σας γραμμή.

Στη συνέχεια, ξεκινήστε να δημιουργείτε τη ροή εργασίας σας. Μόλις είστε έτοιμοι, προσαρμόστε όλα τα μοντέλα σας και αξιολογήστε τα με βάση τη μέτρηση βελτιστοποίησης. Επιλέξτε το καλύτερο μοντέλο και ερμηνεύστε τα αποτελέσματά του: Ποιες μεταβλητές είναι οι πιο σημαντικές; Πώς φαίνονται οι γραφικές παραστάσεις των μετρήσεων αξιολόγησης; Μπορείτε να προσδιορίσετε συστάδες εσφαλμένων σημείων δεδομένων; Μια καλή ερμηνεία του μοντέλου θα σας αποτρέψει από τα πρόωρα συμπεράσματα, θα σας βοηθήσει να εντοπίσετε προβλήματα όπως η διαρροή δεδομένων αρκετά νωρίς και μπορεί να παρέχει κάποιες συμβουλές σχετικά με το ποιες λειτουργίες θα εφαρμοστούν στη συνέχεια προκειμένου να βελτιωθεί η απόδοση.

Ευθυγράμμιση ομάδας:
Συζητήστε τα αποτελέσματα με τους συμμαθητές σας, επιλέξτε το καλύτερο μοντέλο και ορίστε πώς να προχωρήσετε. Να είστε ρεαλιστές και να αποδεχτείτε ότι τα χρήσιμα αποτελέσματα δεν χρειάζεται να είναι τέλεια αποτελέσματα. Αν έχετε χρήσιμα αποτελέσματα τότε είστε έτοιμοι να προχωρήσετε π.χ. μια ανάπτυξη ή μια επανάληψη δοκιμής A/B (δεν καλύπτεται σε αυτή τη θέση).

Σημεία ελέγχου:

  • Αποφασίστε για τη βελτιστοποίηση της μέτρησης
  • Εκπαίδευση και αξιολόγηση μοντέλων
  • Επιλέξτε το μοντέλο με την καλύτερη απόδοση
  • Αποθηκεύστε δεδομένα εκπαίδευσης και επικύρωσης
  • Αποθήκευση τεχνουργημάτων μοντέλων
  • Δεσμεύστε τον κώδικα σε ένα σύστημα ελέγχου έκδοσης
  • Αφήστε ένα άλλο μέλος της ομάδας να ελέγξει τον κωδικό σας και να απαντήσει στα σχόλιά του
  • Τεκμηριώστε την εργασία σας
  • Παρουσιάστε τα αποτελέσματα στα ενδιαφερόμενα μέρη

Ad hoc επανάληψη: έρευνα

Η επιστήμη των δεδομένων και η ανάπτυξη μοντέλων είναι άκρως πειραματικοί κλάδοι και μερικές φορές η ομάδα αντιμετωπίζει προβλήματα που δεν μπορεί να λύσει με τις τρέχουσες γνώσεις της. Ο διαχειριστής του έργου πρέπει να αναγνωρίσει ότι η ομάδα χρειάζεται χρόνο για να κάνει κάποια έρευνα. Ως μέλος της ομάδας, στοχεύστε να βρείτε την απλούστερη προσέγγιση για να λύσετε το πρόβλημά σας.

Ευθυγράμμιση ομάδας:
Συζητήστε τις μεθόδους που ερευνήσατε με τους συνομηλίκους σας και αξιολογήστε τα πλεονεκτήματα και τα μειονεκτήματα κάθε μεθόδου. Παρέχετε σχόλια στους συμμαθητές σας σχετικά με την έρευνά τους.

Σημεία ελέγχου:

  • Τεκμηριώστε όλη την έρευνα σε έναν κοινόχρηστο φάκελο ή εργαλείο στο οποίο έχουν πρόσβαση όλοι
  • Εάν παράγεται κώδικας σε αυτήν την επανάληψη, δεσμεύστε τον κώδικα σε ένα σύστημα ελέγχου έκδοσης και αφήστε ένα άλλο μέλος της ομάδας να ελέγξει τον κώδικα και την τεκμηρίωσή σας

Μετά την ανάπτυξη του μοντέλου

Εάν ο στόχος είναι η ανάπτυξη του μοντέλου (που ελπίζουμε να είναι), η ομάδα πρέπει να περιμένει μερικές ακόμη επαναλήψεις για να γιορτάσει. Ωστόσο, μετά από αυτό το σημείο, η διαδικασία γίνεται ελαφρώς πιο εύκολη και μοιάζει περισσότερο με την τυπική διαδικασία ανάπτυξης λογισμικού. Τα επερχόμενα βήματα περιλαμβάνουν ανάπτυξη μοντέλου, δοκιμή A/B εάν ισχύει και απαραίτητο, και συνεχή παρακολούθηση.

Ένας κώδικας και ένας χάρτης για την παρακολούθηση της διαδικασίας ανάπτυξης του μοντέλου

Ρόλοι όπως ο ιδιοκτήτης προϊόντος ή ο κύριος του scrum εκτιμούν μια οπτικοποίηση και κάποιο κώδικα για την παρακολούθηση των προόδων της ομάδας. Ως απεικόνιση της ροής εργασίας, σχεδιάσαμε έναν λεπτομερή χάρτη διεργασιών με καθένα από τα βήματα της ροής εργασίας. Αυτά τα βήματα μπορούν να θεωρηθούν ως εργασίες σε κάθε επανάληψη.

Προτείνουμε να απαριθμήσετε κάθε τύπο επανάληψης με ανεξάρτητες λίστες τακτικών ακεραίων συν μια λέξη-κλειδί, όπου η λέξη-κλειδί μπορεί να είναι οτιδήποτε όπως "δεδομένα καιρού", "εγγραφές αγορών" ή "λογιστική παλινδρόμηση". Χρησιμοποιώντας έναν εύκολα κατανοητό κώδικα και με τη βοήθεια ενός χάρτη, οι διαχειριστές έργου και άλλα μέλη της ομάδας μπορούν να παρακολουθούν πού βρίσκεται η ομάδα και τον αριθμό των επαναλήψεων που έχει ολοκληρώσει η ομάδα. Επιπλέον, ο κώδικας βοηθά την ομάδα να αντιστοιχίσει την επανάληψη στον αντίστοιχο πηγαίο κώδικα και στην τεκμηρίωση που συνήθως απλώνεται σε πολλά εργαλεία.

συμπέρασμα

Συνολικά, ο διαχωρισμός του φόρτου εργασίας σε αυτές τις επαναλήψεις απλοποιεί (1) την εκτίμηση του φόρτου μεμονωμένων εργασιών, (2) τον προγραμματισμό των κύκλων Agile και (3) την εκτίμηση του τι μπορούμε να προσφέρουμε. Είναι ακόμα δύσκολο, το ξέρουμε. Ωστόσο, από την εμπειρία μας, βλέπουμε μια πιο ξεκάθαρη πορεία προς τον στόχο μας π.χ. αναπτύσσοντας ένα νέο μοντέλο και αφιερώνουμε λιγότερο χρόνο στην εκτίμηση των σημείων της ιστορίας, κάτι που - ας είμαστε ειλικρινείς - μας κάνει όλους πιο χαρούμενους.

Ακριβώς όπως ο τρόπος εργασίας μας, αυτό το κομμάτι είναι ευκίνητο και πρέπει να χρησιμεύσει ως οδηγός, όχι εμπόδιο. Είναι ένα ζωντανό έγγραφο που μπορεί να προσαρμοστεί στις ανάγκες σας και της ομάδας σας.

Ευχαριστούμε που το διαβάσατε; καλωσορίζουμε και εκτιμούμε κάθε σχόλιο!

Συγγραφείς: Julio Lahoz-Beneytez & Alexandra Wörner
Συνδεθείτε μαζί μας στο LinkedIn (Julio, Alexandra) και Twitter!