Ένας διαχειριστής διαμόρφωσης λογισμικού, μερικές φορές επίσης γνωστός ως SCM, είναι επαγγελματίας επιστήμης υπολογιστών που επιβλέπει τον κύκλο ζωής ενός συγκεκριμένου προϊόντος λογισμικού, συνήθως για μια εταιρεία λογισμικού ή μια κατασκευαστική εταιρεία. Οι διαχειριστές συχνά ανατίθενται σε πολλά έργα ταυτόχρονα και οι εργασίες τους μπορούν να περιλαμβάνουν τα πάντα, από την αρχική κωδικοποίηση και τη σύλληψη του έργου έως τις τελικές εξελίξεις και τη συγχώνευση. Αυτό το άτομο δεν είναι συνήθως υπεύθυνο για πράγματα όπως οι πωλήσεις και το μάρκετινγκ – αυτά τα καθήκοντα ανήκουν συνήθως σε άλλα τμήματα – αλλά σχεδόν τα πάντα για το πώς σχεδιάζεται και δημιουργείται το πρόγραμμα εμπίπτουν στις εξουσίες του διευθυντή. Οι κύριες λειτουργίες του περιλαμβάνουν ανάπτυξη, δοκιμές και διασφάλιση ποιότητας. Συνήθως εμπλέκονται θέματα προσωπικού, συμπεριλαμβανομένης της εποπτείας και της ανάθεσης εξουσίας. Οι περισσότεροι άνθρωποι που έχουν αυτό το είδος εργασίας εργάζονται σε μεγάλες εταιρείες ανάπτυξης λογισμικού και είναι σύνηθες για αυτούς να έχουν πανεπιστημιακά πτυχία στην μηχανική υπολογιστών, την τεχνολογία των πληροφοριών και την κωδικοποίηση.
Βασικά καθήκοντα και περιγραφή εργασίας
Οι καθημερινές εργασίες κάθε SCM διαφέρουν αναγκαστικά με βάση το εύρος της εργασίας καθώς και τη δυναμική της κύριας εταιρείας. Με την πιο καθολική έννοια, όμως, τα βασικά καθήκοντα περιλαμβάνουν την παροχή και τη διαχείριση των διαδικασιών που χρησιμοποιούνται για τη διαχείριση και τον έλεγχο της αλλαγής καθ ‘όλη τη διάρκεια του κύκλου ζωής ενός προϊόντος λογισμικού. Σε όλες σχεδόν τις περιπτώσεις, η SCM διασφαλίζει ότι το λογισμικό παραμένει αξιόπιστο και αναπαραγώγιμο σε όλη τη διαδικασία ανάπτυξης σε περίπτωση που γίνουν αλλαγές ή αναθεωρήσεις.
Στην πραγματικότητα η εκτέλεση αυτού δεν είναι πάντα εύκολη και μπορεί να περιλαμβάνει πολλά διαφορετικά κινούμενα κομμάτια. Οι περισσότεροι διευθυντές συνεργάζονται με πολλές ομάδες ανάπτυξης και βεβαιώνονται ότι όλοι εργάζονται σύμφωνα με συγκεκριμένες κατευθυντήριες γραμμές ανάπτυξης. Για να διασφαλιστεί η ακεραιότητα ενός προϊόντος λογισμικού, οι διαχειριστές συνήθως παράγουν αυτό που είναι γνωστό ως “δημιουργία λογισμικού” που θα ξεκινήσει στα πρώτα στάδια του έργου. Αυτή η κατασκευή επαναλαμβάνεται συνήθως πολλές φορές σε όλη τη διαδικασία ανάπτυξης.
Βασικός πηγαίος κώδικας
Ένα από τα πιο σημαντικά πράγματα που κάνει ένας διαχειριστής διαμόρφωσης λογισμικού στο στάδιο ανάπτυξης είναι να διασφαλίσει ότι όλες οι αλλαγές που γίνονται στην ανάπτυξη ενός προϊόντος λογισμικού διαχειρίζονται, δοκιμάζονται, τεκμηριώνονται και αποθηκεύονται σύμφωνα με ορισμένα πρότυπα σε όλα τα στάδια ανάπτυξης. Όταν ένας προγραμματιστής δημιουργεί ένα πρόγραμμα, γράφεται ένας αρχικός πηγαίος κώδικας που περιέχει όλες τις απαραίτητες εντολές για να λειτουργήσει ένα πρόγραμμα. Καθώς το πρόγραμμα αναπτύσσεται, γίνονται ορισμένες αλλαγές ή αναθεωρήσεις στον πηγαίο κώδικα για βελτίωση ή προσθήκη στις λειτουργίες του λογισμικού. Εάν άλλος προγραμματιστής κάνει επίσης αλλαγές ή εάν τα δεδομένα είναι κατεστραμμένα για κάποιο λόγο, τότε ο αρχικός πηγαίος κώδικας μπορεί να αλλάξει ή ακόμη και να χαθεί αν δεν αποθηκευτεί.
Κατανόηση της διαδικασίας ανάπτυξης λογισμικού
Ένας διαχειριστής διαμόρφωσης λογισμικού πρέπει να διασφαλίσει ότι όλοι αυτοί οι διαφορετικοί πηγαίοι κώδικες λειτουργούν πραγματικά μαζί για να κάνουν το λογισμικό να λειτουργεί όπως έχει σχεδιαστεί. Για να γίνει αυτό, η φάτνη θα δημιουργήσει μια πλήρως αυτοματοποιημένη καθημερινή δημιουργία λογισμικού, μια διαδικασία που συνδυάζει όλα τα διαφορετικά βήματα που απαιτούνται για τη μεταγλώττιση του πηγαίου κώδικα σε τεχνουργήματα ή αρχεία. Αυτά τα αρχεία πρέπει να είναι σε θέση να περάσουν από διάφορες δοκιμές για να βεβαιωθείτε ότι είναι σωστά ενσωματωμένα με όλα τα άλλα στοιχεία του λογισμικού. Αυτή η διαδικασία δημιουργίας διασφαλίζει ότι το λογισμικό θα λειτουργεί σωστά όταν συνδυάζονται όλα τα στοιχεία για να γίνει η τελική έκδοση.
Σύνταξη αρχείων
Ένας διαχειριστής ρύθμισης παραμέτρων λογισμικού πρέπει επίσης να διασφαλίσει ότι όλοι αυτοί οι διαφορετικοί πηγαίοι κώδικες λειτουργούν πραγματικά μαζί για να λειτουργήσει το πρόγραμμα όπως υποτίθεται. Για να γίνει αυτό, η φάτνη θα δημιουργήσει μια πλήρως αυτοματοποιημένη καθημερινή δημιουργία λογισμικού, μια διαδικασία που συνδυάζει όλα τα διαφορετικά βήματα που απαιτούνται για τη μεταγλώττιση του πηγαίου κώδικα σε τεχνουργήματα ή αρχεία. Αυτά τα αρχεία πρέπει να είναι σε θέση να περάσουν από διάφορες δοκιμές για να βεβαιωθείτε ότι είναι σωστά ενσωματωμένα με όλα τα άλλα στοιχεία του λογισμικού. Αυτή η διαδικασία δημιουργίας διασφαλίζει ότι το λογισμικό θα λειτουργεί σωστά όταν συνδυάζονται όλα τα στοιχεία για να γίνει η τελική έκδοση.
Ξεκινώντας στο επάγγελμα
Οι διευθυντές συνήθως χρειάζονται πτυχίο στην επιστήμη των υπολογιστών ή σε σχετικό τομέα, αλλά δεν είναι ασυνήθιστο για την επίσημη εκπαίδευση να είναι απλώς μία από τις πολλές προοδευτικά πιο εντατικές απαιτήσεις. Συνήθως συμβαίνει ότι οι διευθυντικές θέσεις απαιτούν μεγάλη πρακτική εμπειρία εργασίας σε ομάδες ανάπτυξης λογισμικού και αλληλεπίδραση ως μέλη των τμημάτων τεχνολογίας πληροφοριών. Οι πιο επιτυχημένοι επαγγελματίες στον τομέα τείνουν να έχουν πολυετή εμπειρία στη δημιουργία λογισμικού και στη διαχείριση βασικών προτύπων για διάφορα προγράμματα.