Ein Software Configuration Manager, manchmal auch einfach als SCM bekannt, ist ein Informatiker, der den Lebenszyklus eines bestimmten Softwareprodukts überwacht, normalerweise für eine Softwarefirma oder ein Fertigungsunternehmen. Manager werden oft mehreren Projekten gleichzeitig zugewiesen, und ihre Aufgaben können alles umfassen, von der ersten Codierung und Projektkonzeption bis hin zu endgültigen Entwicklungen und Zusammenführungen. Diese Person ist normalerweise nicht für Dinge wie Vertrieb und Marketing verantwortlich – diese Aufgaben gehören normalerweise anderen Abteilungen –, aber so ziemlich alles, wie das Programm konzipiert und erstellt wird, fällt in die Zuständigkeit des Managers. Zu seinen Hauptaufgaben gehören Entwicklung, Test und Qualitätssicherung; Personalfragen, einschließlich Aufsicht und Befugnisübertragung, sind in der Regel ebenfalls betroffen. Die meisten Leute, die diese Art von Job haben, arbeiten für große Softwareentwicklungsunternehmen, und es ist üblich, dass sie einen Universitätsabschluss in Computertechnik, Informationstechnologie und Codierung haben.
Grundlegende Aufgaben und Stellenbeschreibung
Die täglichen Aufgaben eines SCM variieren zwangsläufig je nach Aufgabenbereich und Dynamik des übergeordneten Unternehmens. Zu den Kernaufgaben im weitesten Sinne gehört jedoch die Bereitstellung und Verwaltung der Prozesse zur Steuerung und Steuerung von Veränderungen über den gesamten Lebenszyklus eines Softwareprodukts. In fast allen Fällen stellt das SCM sicher, dass die Software während des gesamten Entwicklungsprozesses zuverlässig und reproduzierbar bleibt, falls Änderungen oder Überarbeitungen vorgenommen werden.
Dies tatsächlich auszuführen ist nicht immer einfach und kann eine Reihe verschiedener beweglicher Teile beinhalten. Die meisten Manager arbeiten mit mehreren Entwicklungsteams zusammen und stellen sicher, dass alle innerhalb bestimmter Entwicklungsrichtlinien arbeiten. Um die Integrität eines Softwareprodukts sicherzustellen, erstellen Manager in der Regel einen sogenannten „Software-Build“, der in den frühen Phasen des Projekts initiiert wird. Dieser Build wird in der Regel während des gesamten Entwicklungsprozesses viele Male wiederholt.
Baseline-Quellcode
Eine der wichtigsten Aufgaben eines Software Configuration Managers in der Entwicklungsphase besteht darin, sicherzustellen, dass alle Änderungen, die während der Entwicklung eines Softwareprodukts vorgenommen werden, über alle Entwicklungsstufen hinweg nach bestimmten Standards verwaltet, getestet, dokumentiert und gespeichert werden. Wenn ein Programmierer ein Programm erstellt, wird ein anfänglicher Basis-Quellcode geschrieben, der alle Befehle enthält, die erforderlich sind, damit ein Programm funktioniert. Während der Entwicklung des Programms werden bestimmte Änderungen oder Überarbeitungen im Quellcode vorgenommen, um die Funktionen der Software zu verbessern oder zu ergänzen. Wenn ein anderer Programmierer ebenfalls Änderungen vornimmt oder Daten aus irgendeinem Grund beschädigt werden, kann der ursprüngliche Quellcode verändert oder sogar verloren gehen, wenn er nicht gespeichert wird.
Den Softwareentwicklungsprozess verstehen
Ein Softwarekonfigurationsmanager muss sicherstellen, dass all diese verschiedenen Quellcodes tatsächlich zusammen funktionieren, damit die Software so funktioniert, wie sie entworfen wurde. Dazu erstellt der Manager einen vollautomatischen täglichen Software-Build, ein Prozess, der alle verschiedenen Schritte kombiniert, die erforderlich sind, um den Quellcode in Artefakte oder Dateien zu kompilieren. Diese Dateien müssen mehrere Tests bestehen können, um sicherzustellen, dass sie ordnungsgemäß in alle anderen Komponenten der Software integriert sind. Dieser Build-Prozess stellt sicher, dass die Software ordnungsgemäß funktioniert, wenn alle Komponenten kombiniert werden, um die endgültige Version zu erstellen.
Dateizusammenstellung
Ein Software-Konfigurationsmanager muss normalerweise auch sicherstellen, dass all diese verschiedenen Quellcodes tatsächlich zusammen funktionieren, damit das Programm so funktioniert, wie es soll. Dazu erstellt der Manager einen vollautomatischen täglichen Software-Build, ein Prozess, der alle verschiedenen Schritte kombiniert, die erforderlich sind, um den Quellcode in Artefakte oder Dateien zu kompilieren. Diese Dateien müssen mehrere Tests bestehen können, um sicherzustellen, dass sie ordnungsgemäß in alle anderen Komponenten der Software integriert sind. Dieser Build-Prozess stellt sicher, dass die Software ordnungsgemäß funktioniert, wenn alle Komponenten kombiniert werden, um die endgültige Version zu erstellen.
Einstieg in den Beruf
Manager benötigen in der Regel einen Bachelor-Abschluss in Informatik oder einem verwandten Bereich, aber es ist nicht ungewöhnlich, dass die formale Ausbildung nur eine von vielen zunehmend intensiveren Anforderungen ist. In der Regel erfordern Führungspositionen viel praktische Erfahrung in der Arbeit in Softwareentwicklungsteams und der Interaktion als Mitglieder von IT-Abteilungen. Die erfolgreichsten Fachleute auf diesem Gebiet verfügen in der Regel über langjährige Erfahrung in der Erstellung von Software-Builds und der Verwaltung von Basisstandards für verschiedene Programme.