Αυτό το άρθρο απευθύνεται σε εσάς, τον άκαμπτο επιχειρηματία με μια ιδέα εφαρμογής στην καρδιά σας και λίγα μετρητά στην τράπεζα. Τα διαγράμματα που έχετε γράψει σε χαρτοπετσέτες κοκτέιλ θα διαταράξουν ολόκληρο τον κόσμο και έχουν ήδη αποσταλεί φορτηγά γεμάτα χρήματα στο σπίτι σας. Για να βεβαιωθείτε ότι φτάνουν εγκαίρως, ακολουθούν μερικές απλές συμβουλές για την ομαλή λειτουργία του κύκλου παραγωγής σας.
«Τα προγράμματα υπολογιστών είναι τα πιο περίπλοκα πράγματα που κάνουν οι άνθρωποι», λέει ο Ντάγκλας Κρόκφορντ. Μπορεί να μην έχετε ακούσει αυτό το όνομα στο παρελθόν, αλλά είναι αρκετά διάσημος για έναν προγραμματιστή. Σήμερα είναι ανώτερος αρχιτέκτονας λογισμικού στο PayPal και πρωτοπόρος όλων των ειδών τεχνολογίας που δεν εμπίπτουν στο πεδίο αυτού του άρθρου. Είναι κάποιος που ξέρει πολλά για την εργασία σε μεγάλα έργα.
Όσο για μένα, προγραμματίζω για 13 χρόνια, και ακόμη και τώρα, σε κάποιο σημείο, κάθε έργο με οδηγεί σε μη διαχωρισμένη περιοχή. Υπάρχουν τόσες πολλές διαφορετικές τεχνολογίες εκεί έξω, και νέες τεχνικές επινοούνται με τόσο ανησυχητικό ρυθμό που ποτέ δεν αισθάνομαι ότι είμαι εντελώς πάνω από αυτό που συμβαίνει. Ενώ κάθε έργο έχει τις μοναδικές του προκλήσεις, υπάρχουν μερικές σταθερές:
Σαφώς, χρειαζόμαστε μια μπέιμπι σίτερ. Κάποιος πρέπει να μπεί για να θεσπίσει τους βασικούς κανόνες, να κρατήσει όλους ειλικρινείς και να σιγουρευτεί ότι δεν ξεχνάμε κάτι σημαντικό. Κάποιος πρέπει να διευκολύνει την επικοινωνία μεταξύ όλων των μερών.
Αυτός κάποιος, αυτός ο ήρωας, είναι ο διαχειριστής του έργου.
Το ApeeScape δεν προσέφερε συμβόλαια με διαχειριστές έργων όταν άρχισα να γράφω αυτό το άρθρο, αλλά το κάνουν τώρα . Συνεργία! Μπορώ μόνο να φανταστώ ότι οι δυνάμεις που θα διαβάσουν τις ακόλουθες συμβουλές και συνειδητοποίησαν ότι έχαναν μια μεγάλη ευκαιρία
Πιστοποίηση από το Ινστιτούτο Διαχείρησης Μελετών Εκτός αυτού, το πιο σημαντικό πράγμα που ένας διαχειριστής έργου μπορεί να φέρει στο τραπέζι είναι η εμπειρία. Ως αποτέλεσμα, πολλοί προγραμματιστές θα έκαναν αρκετά αξιοπρεπούς διαχειριστές έργων. Έχουμε περισσότερη εμπειρία με τεχνικά έργα από οποιονδήποτε άλλο και τα αναλυτικά μας μυαλά είναι ικανά στην καταλογογράφηση πληροφοριών και στον καθορισμό συγκεκριμένων στόχων.
Η καλοσύνη ξέρει, μας πληρώνετε αρκετά, οπότε φαίνεται λογικό να περιμένουμε ότι θα μπορούσαμε να διαχειριστούμε τον εαυτό μας και όχι να σας αναγκάσουμε να πληρώσετε για την ώρα κάποιου άλλου, σωστά;
Λοιπόν, για αρχάριους, μας πληρώνετε για κωδικοποίηση.
Όταν βγαίνουμε από τον προγραμματισμό μας, θέλουμε να πάρουμε αποφάσεις σχετικά με το τι πρέπει να δώσουμε προτεραιότητα ή να διαφωνήσουμε για το πόσο πραγματικά πρόκειται να γίνει αυτήν την εβδομάδα, δεν γράφεται κώδικας. Στη συνέχεια, χρειάζονται τουλάχιστον 10 λεπτά για να επιστρέψουμε στη «ζώνη», ειδικά αν μας αγχώνεται η συνομιλία που μόλις είχαμε, η οποία είναι πιθανή αν υποστηρίζουμε την προτεραιότητα χαρακτηριστικών. Μπορώ, ξέρω, αλλά πρόκειται για την αποδοτικότερη χρήση δαπανηρών πόρων.
Το πιο σημαντικό, δεν μπορούμε να δούμε το δάσος για τα δέντρα. Εάν δεν παίρνετε τίποτα άλλο από αυτό το άρθρο, παρακαλώ καταλάβετε αυτό: Όταν περνάω όλη την ημέρα κοιτάζοντας μερικά συγκεκριμένα σφάλματα, ο εγκέφαλός μου χάνει το ίχνος της μεγαλύτερης εικόνας.
Ο εγκέφαλός μου με επιβραβεύει όταν διορθώνω αυτά τα σφάλματα και υποθέτω ότι έχω κάνει υπέροχα πράγματα και μπορώ να παίξω βιντεοπαιχνίδια τώρα. Όταν κάποιος μου υπενθυμίζει ότι η αρχική σελίδα είναι ακόμα σπασμένη, έρχεται ως μια απόλυτη έκπληξη γιατί έχω περάσει την ημέρα γεμίζοντας τον εγκέφαλό μου με πολύ λεπτομερείς γνώσεις για ένα πολύ μικρό κομμάτι του συνολικού έργου και κάπως ξεχασμένο για το υπόλοιπο. Έτσι λειτουργεί ο εγκέφαλός μου και πολλοί άλλοι προγραμματιστές έχουν παρόμοια ψυχολογική σύνθεση.
Λοιπόν, εάν εμείς οι προγραμματιστές δεν θέλουμε να αναλάβουμε την ευθύνη για την ολοκλήρωση των διαχειριστικών έργων, τότε πρέπει να σας φέρει, ο πελάτης. Είναι τα χρήματά σας. Είναι το όραμά σας. Είστε τελικά υπεύθυνοι για το όλο θέμα, ούτως ή άλλως.
Ωστόσο, έχετε επίσης πολλά στο πιάτο σας.
Πολλοί πελάτες είναι απλοί θνητοί με ημερήσιες δουλειές όπως οι υπόλοιποι από εμάς, και ορισμένοι μάλιστα είναι γνωστό ότι υποφέρουν από αναβλητικότητα ή ξεχασμό. Αν και αυτό δεν σας περιγράφει απαραίτητα, ειδικά, παρακαλώ διασκεδάστε την ιδέα να έχετε έναν Επαγγελματία Θυμητή για να μπορείτε να επιστρέψετε στο σημαντικό έργο της διατήρησης ολόκληρου του έργου.
Εάν έχετε εργαστεί ή επιβλέπετε ένα τεχνικό έργο παρόμοιου πεδίου, μπορείτε πράγματι να κάνετε έναν καλό διαχειριστή για το έργο σας. Εάν δεν το έχετε κάνει, μην υποτιμάτε την αξία κάποιου που μπορεί να προβλέψει τα ζητήματα που ενδέχεται να προκύψουν. Οι εκτιμήσεις χρόνου είναι πάντα απλές εκτιμήσεις και τα σφάλματα τείνουν να εμφανίζονται στις λιγότερο κατάλληλες ώρες. Αξίζει το κόστος ενός άλλου (αν και μόνο μερικής απασχόλησης) υπαλλήλου να έχει κάποιον που ξέρει ποια μέρη της διαδικασίας χρειάζονται ή είναι πιθανό να έχουν την μεγαλύτερη προσοχή.
Πάρτε για παράδειγμα τη διασφάλιση ποιότητας (QA). Το σωστό QA είναι απαραίτητο για να πάρει ό, τι θέλετε από οποιοδήποτε έργο, και ποτέ δεν παίρνει την προσοχή που του αξίζει. Ένας καλός διαχειριστής έργου θα αξιοποιήσει στο έπακρο τους περιορισμένους πόρους QA και θα διασφαλίσει επίσης την ποιότητα των προγραμματιστών σας για εσάς. Μερικές φορές, βγαίνουμε από το βάθος μας και μερικές φορές κάνουμε λάθη. Χρειάζεστε ένα τεχνικά καταρτισμένο άτομο σε εποπτικό ρόλο για να προσδιορίσετε εάν ο προγραμματιστής σας έχει απλώς μια ημέρα διακοπών ή εάν, στην πραγματικότητα, είναι μια κακή εφαρμογή για το έργο. Η αντιμετώπιση των προβλημάτων προσωπικού νωρίς θα μπορούσε να σημαίνει τη διαφορά μεταξύ ζωής και θανάτου για το έργο σας.
Τέλος, ακόμη και εσείς, ο πελάτης, μερικές φορές χρειάζεστε λίγο έλεγχο ή / και υπόλοιπο. Αυτό είναι δύσκολο για εμένα να γράψω, καθώς εμείς οι προγραμματιστές υπολογιστών δεν είναι γνωστοί για τις φωνές μας. Αρκεί να πούμε, έχω εργαστεί σε πολλά έργα όπου ο πελάτης ήταν ανένδοτος ότι όλα ήταν κορυφαία προτεραιότητα και απολύτως όλα όσα χρειάζονταν να γίνουν. Ενώ δεν έχω καμία αμφιβολία ότι αυτό ήταν απολύτως αληθινό, αυτοί οι πελάτες, δυστυχώς, δεν είχαν τον έλεγχο του αριθμού των ωρών σε μια μέρα. Δεν κατέληξαν στο θετικό αποτέλεσμα που ήθελαν ή / και άξιζαν, και πιστεύω ότι αυτό το αποτέλεσμα θα μπορούσε να είχε αποφευχθεί εάν ο πελάτης ανέθεσε στον διαχειριστή του έργου την εξουσία να εκτιμήσει τον φόρτο εργασίας και με προσοχή, αλλά σταθερά, να διατηρήσει τα πράγματα υπό έλεγχο . Είναι δύσκολο να κάνεις τις απαισιόδοξες αποφάσεις που απαιτούν τα περισσότερα τεχνικά έργα όταν είναι η ιδέα σου και τα χρήματά σου στη γραμμή και ο υπολογιστής δεν με νοιάζει αν εσύ ή εγώ φωνάζω και φωνάζω. (Το ξέρω ότι είναι αλήθεια γιατί το έχω δοκιμάσει πολλές φορές.)
Είτε έχετε αποφασίσει να αγνοήσετε τις προηγούμενες λέξεις 1.000-κάτι και να διαχειριστείτε μόνοι σας το έργο σας ή αν πρόκειται να προσλάβετε κάποιον αλλά θέλετε να είστε πιο ενημερωμένοι σχετικά με τη διαδικασία, αυτή η λίστα θα σας βοηθήσει. Δεν ήμουν ποτέ (επίσημα) διαχειριστής έργου, επομένως δεν μπορώ να πω ποια εργαλεία θα χρησιμοποιούσε κάποιος συγκεκριμένος διαχειριστής έργου, αλλά είχα καλή επιτυχία με όλες αυτές τις τεχνικές:
Όταν ξεκινούν ένα νέο έργο, οι περισσότεροι άνθρωποι γνωρίζουν διαισθητικά ότι είναι σημαντικό να χωριστεί το έργο σε κομμάτια ελαφρώς πιο διαχειρίσιμα, με κάθε κομμάτι να κυμαίνεται από μερικές εβδομάδες έως μερικούς μήνες εργασίας. Στην αρχή του έργου, είναι καλό να έχουμε μια συνάντηση έναρξης για να καθορίσουμε αυτά τα ορόσημα. Είναι εντάξει να είστε λίγο ασαφείς σχετικά με το πώς θα τους φτάσετε, το πιο σημαντικό είναι να συνεχίζετε να κάνετε check in μετά από κάθε ορόσημο, ώστε να επωφεληθείτε από την ενισχυμένη κατανόηση του έργου από όλους και να βεβαιωθείτε ότι τα ορόσημα του έργου είναι ακόμα ( περίπου) το ίδιο μέγεθος όπως πιστεύεται αρχικά.
Εμείς οι προγραμματιστές απεχθάνονται απολύτως τις εκτιμήσεις γιατί ξέρουμε ότι θα είναι λάθος και ξέρουμε ότι θα χρησιμοποιηθούν εναντίον μας. Είναι εντάξει ότι κάνουν λάθος επειδή, εξ ορισμού, βασίζονται σε λίγα άγνωστα. Είναι επίσης εντάξει ότι χρησιμοποιούνται εναντίον μας, διότι οι δουλειές μας είναι αρκετά άνετες και δεν βλάπτει το σπάσιμο του μαστίγιου ξανά και ξανά.
Γι 'αυτό μη διστάσετε να ζητήσετε εκτιμήσεις κάθε φορά που η εργασία ξεκινά με ένα νέο ορόσημο. Πρέπει να περιμένετε μια γραμμή ή δύο για κάθε σημαντικό χαρακτηριστικό μαζί με μια πρόχειρη εκτίμηση του χρόνου που θα διαρκέσει αυτή η λειτουργία. Συνήθως κάνω μια αισιόδοξη εκτίμηση και μετά το διπλασιάζω. Τις περισσότερες φορές, αυτός ο επιπλέον χρόνος αντιστοιχεί σε αόρατες παγίδες.
Οι ιστορίες χρηστών είναι σύντομες περιγραφές ενός μεμονωμένου λειτουργικού συστήματος εντός της εφαρμογής. Είναι χρήσιμα ως αρχείο σημαντικών χαρακτηριστικών και πρέπει να έχουν μέγεθος δαγκώματος, ικανό να χωράει σε μια κάρτα ευρετηρίου και συχνά συνοδεύεται από ένα μικρό σχέδιο. Το πιο σημαντικό, χρησιμεύουν ως γέφυρα μεταξύ του τι θέλει ο πελάτης και του τι πρέπει να πει ο προγραμματιστής στον υπολογιστή. Είναι αρκετά απλοί για εσάς, τον πελάτη, για να χτυπήσετε σε λίγα λεπτά, αλλά αρκετά λεπτομερείς για εμάς, τους προγραμματιστές, για να βυθίσουμε τα δόντια μας.
Για μερικές γρήγορες πληροφορίες σχετικά με ιστορίες χρηστών, βρήκα αυτά τα σεμινάρια από Λογισμικό Mountain Goat και Ρωμαίος Πίτλερ να είναι υψηλής ποιότητας και σύντομη. Για περισσότερες πληροφορίες σχετικά με όλη τη φιλοσοφία της ευέλικτης διαχείρισης έργων, δοκιμάστε αυτήν την ανάρτηση ιστολογίου ApeeScape Η απόλυτη εισαγωγή στη διαχείριση έργων Agile από τον Paul Barnes.
Αυτό δεν είναι ένα άρθρο σχετικά με το γιατί χρειάζεστε έναν σχεδιαστή, διότι αισθάνομαι ότι οι περισσότεροι πελάτες το καταλαβαίνουν ήδη αυτό, αλλά αντέχει, γιατί θα δείτε τεράστια κέρδη παραγωγικότητας, αν χτυπήσετε ένα συγκεκριμένο, καλά μελετημένο σχέδιο μπροστά από τους προγραμματιστές σας. Κάθε φορά που πρέπει να πάρουμε μια απόφαση σχεδιασμού, πρέπει να φύγουμε από τη «ζώνη» και κάθε φορά που πρέπει να επιστρέψουμε και να αλλάξουμε κάτι επειδή δεν μας δόθηκε το τελικό σχέδιο, λοιπόν, κάνετε τα μαθηματικά… εγώ » Δεν παραπονιέμαι, γιατί ο σχεδιασμός είναι διασκεδαστικός, αλλά κατά την εμπειρία μου, αυτή είναι η Νο. 1 πηγή αποφεύξιμων, επιπλέον χρεώσιμων ωρών.
Οι περισσότεροι σχεδιαστές παρέχουν συνθέσεις, γνωστές και ως comps, στο Adobe Photoshop, το Adobe Illustrator ή το Sketch. Εάν το κάνετε μόνοι σας, μπορείτε να χρησιμοποιήσετε ένα από τα αμέτρητα διαδικτυακά εργαλεία όπως Μπαλσάμικ ή InVision . Η εταιρεία δεν χρειάζεται να έχει τα ίδια χρώματα και στυλ με το τελικό προϊόν (αφού αυτά μπορούν εύκολα να αλλάξουν αργότερα), αλλά αφιερώστε επιπλέον χρόνο για να βεβαιωθείτε ότι όλα τα στοιχεία διεπαφής χρήστη υπάρχουν και λογίζονται.
Σχετίζεται με: Προσλάβετε το κορυφαίο 3% των ανεξάρτητων σχεδιαστών UX.Οι μακροσκελείς συναντήσεις είναι μερικές φορές αναπόφευκτες, αλλά πραγματικά δεν θέλετε να υπερφορτώσετε τους προγραμματιστές σας ή να αφιερώσετε περισσότερο χρόνο από ό, τι είναι απαραίτητο. Είχα πελάτες που έμοιαζαν να με θυμούνται όλα όσα ειπώθηκαν κατά τη διάρκεια συνάντησης δυόμισι ωρών. ήταν απογοητευμένοι. Μια συνεδρίαση αναμονής περιορίζεται γενικά σε 15 λεπτά και είναι συνηθισμένο να παραμείνετε για τη διάρκεια. Η όρθια πτυχή υποτίθεται ότι διασφαλίζει ότι όλοι συμμετέχουν, καθώς και να διατηρούν τη συνάντηση σύντομη.
Κατά τη διάρκεια της αναμονής, όλοι πηγαίνουν σε έναν κύκλο για να παρέχουν μια σύντομη αναφορά κατάστασης, διατηρώντας όλα τα μέλη της ομάδας ενημερωμένα για την πρόοδο του άλλου. Μπορείτε να βρείτε περισσότερα σχετικά με τις στάσεις στη διεύθυνση ExtremeProgramming.Org . Εάν όλοι εργάζεστε από απόσταση και δεν θέλετε να κάνετε όλους στο Skype κάθε μέρα, μπορείτε να δοκιμάσετε ένα διασκεδαστικό εργαλείο όπως 15 Πέντε ως εναλλακτική λύση στα όρθια. Το 15Five επιτρέπει στα μέλη της ομάδας να παρέχουν τη συμβολή τους όποτε είναι βολικό για αυτά και θα τους ζητήσει ερωτήσεις έρευνας για να πειράξουν πιο σε βάθος απαντήσεις.
Αν και ο καθένας μπορεί να διατηρήσει ένα σύστημα αυτοκόλλητων σημειώσεων και Εγγράφων Google (με τις εργασίες όλων να επισημαίνονται σε διαφορετικά χρώματα), δεν είναι πραγματικά απαραίτητο. πολλοί άνθρωποι προσπάθησαν να λύσουν αυτό το πρόβλημα για εσάς. Η Basecamp και η Trello φημίζονται για την ευκολία χρήσης τους, ενώ η Pivotal προσπαθεί να ενσωματώσει ολόκληρη την «ευέλικτη» φιλοσοφία σε ένα πολύ λεπτό πακέτο. Όποια και αν είναι η επιλογή σας, ένα καλό σύστημα έκδοσης εισιτηρίων θα σας επιτρέψει, τουλάχιστον:
Όταν ένας διαχειριστής έργου σας δείχνει 40 λαμπερά κόκκινα εισιτήρια κορυφαίας προτεραιότητας όλα τα ίδια την ίδια ημέρα, θα κατανοήσετε πραγματικά την αξία αυτής της πανοραμικής προβολής του έργου.
Μπορεί να μην κοιτάξετε ποτέ τον κώδικα στο σύστημα ελέγχου εκδόσεων του έργου σας, αλλά ο έλεγχος πηγής (ή η έκδοση) είναι ένα από τα πιο σημαντικά εργαλεία που έχουμε στη διάθεσή μας, το καλύτερο σύστημα δημιουργίας αντιγράφων ασφαλείας που μπορεί να φανταστεί κανείς.
Τα περισσότερα σύγχρονα έργα χρησιμοποιούν το Git, αν και μερικές φορές θα συναντήσετε το Subversion (SVN) όταν εργάζεστε σε έργα που βρίσκονται εδώ και λίγο καιρό. Το Github σάς επιτρέπει να φιλοξενείτε δωρεάν απεριόριστα δημόσια αποθετήρια (συν, περιλαμβάνει τα περισσότερα από τα έργα ανοιχτού κώδικα στον κόσμο), ενώ το Bitbucket σάς επιτρέπει να φιλοξενείτε απεριόριστα ιδιωτικά αποθετήρια και επομένως είναι η προτιμώμενη επιλογή για εμπορικά έργα.
Όποιο σύστημα ελέγχου έκδοσης και αν επιλέξετε, αποθηκεύει τον κωδικό μας από απόσταση σε περίπτωση που συμβεί κάτι, καθώς και κομμάτια κάθε φορά που «δεσμεύουμε» τον κώδικα, ενώ μας αναγκάζει να γράψουμε ένα μικρό μήνυμα που να περιγράφει τι δουλεύαμε. Αυτό εμποδίζει διαφορετικούς προγραμματιστές να αντικαταστήσουν τον κώδικα του άλλου, μας επιτρέπει να δούμε όλες τις αλλαγές που έγιναν σε μια δεδομένη χρονική περίοδο και μας επιτρέπει να δημιουργήσουμε νέους κλάδους κώδικα για να αποθηκεύσουμε λειτουργίες που δεν θα κυκλοφορούν αμέσως. Έχει ακόμη και μια εντολή που ονομάζεται «φταίξιμο» που δείχνει ποιος ήταν υπεύθυνος για μια δεδομένη γραμμή κώδικα και πότε διαπράχθηκε.
Ο έλεγχος πηγής είναι ο μεγαλύτερος.
Πρόκειται για μια σχετικά δαπανηρή πρακτική, που σημαίνει ότι δεν χρησιμοποιείται συχνά σε έργα όπου ο προϋπολογισμός περιορίζεται σε μερικούς ελεύθερους επαγγελματίες. Ως εκ τούτου, ως επιχειρηματίας εκκίνησης, δεν πρέπει να αισθάνεστε πολύ άσχημα για να μην το κάνετε αυτό, αλλά πρέπει να αιωρήσω την ιδέα μπροστά σας, επειδή παρέχει την απόλυτη άμυνα ενάντια στα σφάλματα. Βασικά, οι προγραμματιστές σας ξοδεύουν επιπλέον πολύτιμες ώρες για να γράψουν τεστ (μικρά μπλοκ κώδικα) που διασφαλίζουν ότι ορισμένα τμήματα της εφαρμογής συμπεριφέρονται με συγκεκριμένους, προβλέψιμους και επαναλαμβανόμενους τρόπους. Για παράδειγμα, θα μπορούσα να γράψω μια δοκιμή που να ισχυρίζεται ότι όταν κάνετε κλικ στο κουμπί 'login', ανοίγει ένα αναδυόμενο παράθυρο με ένα πεδίο ονόματος χρήστη.
Η ομορφιά των δοκιμών είναι ότι μόλις τα γράψω, μπορώ να τα εκτελέσω όλα με μία εντολή. Εάν έχω γράψει 200 δοκιμές, μπορώ να τις εκτελέσω μετά την κυκλοφορία μιας νέας έκδοσης της εφαρμογής για να βεβαιωθώ ότι δεν έχουν εισαχθεί σφάλματα σε καμία από αυτές τις 200 δυνατότητες. Δεν είναι τέλειο, αλλά είναι όσο πιο κοντά μπορούμε να εγγυηθούμε εφαρμογές χωρίς σφάλματα (τουλάχιστον σφάλματα).
Αυτό είναι ό, τι γνωρίζω για τη διαχείριση έργων. Δεν είμαι σίγουρος πόσο θα περάσει αυτό στο Ινστιτούτο Διαχείρισης Έργου, αλλά είναι όλα αυτά που έχω επιλέξει δουλεύοντας σε έργα Ιστού κατά τη διάρκεια της τελευταίας δεκαετίας. Φυσικά, σας προτείνω να προσλάβετε κάποιον για να επωφεληθείτε από την εμπειρία του, αλλά ελπίζω να βρείτε αυτές τις πληροφορίες χρήσιμες ακόμη κι αν δεν είναι κάτι που μπορείτε να κάνετε. Θα είστε η απόλυτη αρχή σε αυτό το έργο, οπότε όσο περισσότερο καταλαβαίνετε για την εσωτερική του λειτουργία, τόσο πιο πιθανό είναι να το οδηγήσετε στη νίκη.