Was ist Konfigurationsmanagement?

12

In allen Projekten, an denen ich beteiligt war und die von einem externen Berater durchgeführt wurden, wurde die Frage gestellt, welche Art von Konfigurationsmanagement wir verwenden. In keinem dieser Fälle konnte der Berater das Konfigurationsmanagement definieren. Also, was ist es?

Henry
quelle
4
Ehrlich gesagt nur Google, die ersten beiden Ergebnisse sind relevante Wikipedia-Einträge, die alles darüber erklären.
Jeremy
Der Link: en.wikipedia.org/wiki/Software_configuration_management . Gute Frage.
Jon Onstott
2
Ich habe diese Wikipedia-Seite gelesen und um ehrlich zu sein denke ich, dass sie von denselben "Beratern" geschrieben wurde, auf die sich Henry bezieht ...
Dean Harding
Ach ja, das Schlagwort. Erweckt Erinnerungen an meine Unternehmenstage.
Jason Baker
@ Dean Harding Genau!
Henry

Antworten:

4

Was Software Configuration Management (SCM) bedeutet, ist die Beantwortung folgender Fragen:

  • Welche Quelldateien wurden verwendet, um unser Endprodukt herzustellen?
  • Was hat sich seit der letzten Herstellung unseres Endprodukts geändert?
  • Warum haben wir es geändert?

Dies kann wiederum zu einem ziemlich großen und hässlichen "Prozess" werden. Die Prozessprobleme sind der Grund, warum die meisten Entwickler bei der Erwähnung von SCM die Augen glasig erscheinen lassen, da dies das Verfolgen von Quelldateien, Fehlern und Anforderungen bedeutet. Anschließend binden Sie alles zusammen, damit Sie Änderungen überwachen können. (Dies ist eine ideale Welt aus Sicht des Managements, da sie einem guten Manager Tools bietet, mit denen er besser erkennen kann, welche Ressourcen er wo benötigt.)

Dies unterscheidet sich von ITIL Configuration Management, bei dem es sich tatsächlich um die Nachverfolgung von Software-Assets handelt, welche Software wo ausgeführt wird (welcher Server / welche Workstation) und welches Setup für diese Software vorliegt.

Mit anderen Worten, Ihr Berater möchte höchstwahrscheinlich wissen, wie IHR Unternehmen / Ihre Entwicklungsgruppe die drei Fragen oben in meiner Antwort beantwortet.

Mangelo
quelle
1
Das letzte Mal sagte ich, dass wir svn, Trac und Hudson benutzen. Aus dem Gesichtsausdruck der Berater ging klar hervor, dass er nichts davon gehört hatte. Also zeigte ich ihm, wie unsere Anforderungsregistrierung in Trac eingeht, wie Trac sich in svn integriert, wie Hudson alles automatisch erstellt und bereitstellt und wie der Typ das Konfigurationsmanagement als Projektrisiko aufführt.
Henry
12

Das Konfigurationsmanagement umfasst "alles andere", was nicht direkt mit dem Schreiben von Code zusammenhängt. So verwalten Sie Releases, verwalten und analysieren Fehlerberichte und Funktionsvorschläge, führen Ihre Builds aus und so weiter. Oft wird auch angegeben, wie Ihr Quellcode verwaltet wird (z. B. welche Versionskontrolle Sie verwenden, Verzweigungsstrategien, wie Sie [möglicherweise] mehrere gleichzeitige "Releases" verwalten usw.).

Dean Harding
quelle
2

Konfigurationsmanagement hat im Laufe der Zeit viele Dinge mit sich gebracht. Ich halte es für wichtiger für Administratoren oder Vorgänge als direkt für Entwickler. Wenn Ihre Mitarbeiter versuchen, Server am Laufen zu halten, sorgen Sie sich darum, Maschinen einzurichten, ihre Konfiguration zu verwalten und sie am Laufen zu halten. Wenn Sie sich nur bei einem Computer anmelden und mit der Installation der Software beginnen und die Konfigurationsdateien auf einem Computer ändern, verwalten Sie diese Konfiguration nicht. Was passiert, wenn diese Maschine stirbt? Was passiert, wenn jemand auf diesen Rechner geht und eine Konfigurationsdatei ändert und alles ausflippt? Was ist, wenn Sie einen anderen Computer starten müssen, der genau so konfiguriert ist, wie der, der gerade ausgeführt wird? Kannst du es machen?

Ohne Konfigurationsmanagement-Strategie geht das nicht. Und deshalb ist es wichtig. Alles dreht sich um Wiederholbarkeit. Entwickler gehen die Wiederholbarkeit anders an als die Mitarbeiter, daher ist es uns wichtig, verschiedene Dinge zu wiederholen.

Es gibt einige großartige Open-Source-Tools, die Ihnen dabei helfen: Chef, Capistrano, Cook und sogar SVN. Warum sollte SVN nur von Entwicklern verwendet werden? Checken Sie Ihre Konfigurationsdateien und Skripte ein, mit denen Sie Computer konfigurieren, und verfolgen Sie deren Versionen. Diese Teile Ihrer Organisation sind von entscheidender Bedeutung, um den Betrieb aufrechtzuerhalten. Die willst du nicht verlieren.

Chubbsondubs
quelle