Co robi Menedżer konfiguracji oprogramowania?
Podstawowym zadaniem menedżera konfiguracji oprogramowania (SCM) jest zapewnianie i zarządzanie procesami służącymi do zarządzania i kontrolowania zmian przez cały cykl życia oprogramowania. Mówiąc dokładniej, SCM zapewnia, że oprogramowanie pozostaje niezawodne i odtwarzalne przez cały proces programowania w przypadku wprowadzania zmian lub poprawek. Współpracując z kilkoma zespołami programistów, menedżer konfiguracji oprogramowania zapewnia, że wszystkie zespoły pracują zgodnie z określonymi wytycznymi programistycznymi. Aby zapewnić integralność oprogramowania, menedżerowie opracują „kompilację oprogramowania”, która zostanie zainicjowana na wczesnych etapach projektu i będzie powtarzana wiele razy w całym procesie rozwoju. Menedżer konfiguracji oprogramowania kontroluje ewolucję bardzo złożonego procesu.
Kiedy programista tworzy program, zapisywany jest początkowy podstawowy kod źródłowy, który zawiera wszystkie polecenia niezbędne do działania programu. W miarę rozwoju programu w kodzie źródłowym wprowadzane są pewne zmiany lub poprawki w celu ulepszenia lub uzupełnienia funkcji oprogramowania. Jeśli inny programista również wprowadza zmiany lub dane są z jakiegoś powodu uszkodzone, wówczas początkowy kod źródłowy może zostać zmieniony lub nawet utracony, jeśli nie zostanie zapisany. Menedżer konfiguracji oprogramowania zapewnia zarządzanie, testowanie, dokumentowanie i przechowywanie wszystkich zmian dokonanych w trakcie rozwoju oprogramowania zgodnie z określonymi standardami na wszystkich etapach rozwoju. Menedżerowie zazwyczaj potrzebują licencjata z informatyki lub pokrewnych dziedzin i mają wieloletnie doświadczenie w tworzeniu kompilacji oprogramowania i zarządzaniu podstawowymi standardami oprogramowania.
Ponieważ wprowadzanie nowego oprogramowania na rynek jest ważne dla producentów oprogramowania, ewoluowały pewne procesy i narzędzia, aby przyspieszyć proces tworzenia oprogramowania. Zazwyczaj kilka zespołów programistów będzie jednocześnie pracować nad oddzielnymi częściami oprogramowania. Każdy zespół programistów korzysta z oryginalnego kodu źródłowego i modyfikuje go, aby tworzyć różne funkcje oprogramowania. Gdy zespoły te łączą się ze wszystkimi różnymi kodami źródłowymi, integracja kodu każdego zespołu ze wszystkimi pozostałymi zajmuje trochę czasu, aby oprogramowanie działało poprawnie. Aby to osiągnąć, menedżer konfiguracji oprogramowania może potrzebować utworzyć i ułatwić pewne standardy programistyczne, aby zapewnić ich zgodność z najwcześniejszymi etapami rozwoju.
Menedżer konfiguracji oprogramowania musi upewnić się, że wszystkie te różne kody źródłowe faktycznie działają razem, aby oprogramowanie działało tak, jak zostało zaprojektowane. Aby to zrobić, menedżer utworzy w pełni zautomatyzowaną codzienną kompilację oprogramowania, proces łączący wszystkie etapy niezbędne do skompilowania kodu źródłowego w artefakty lub pliki. Pliki te muszą przejść kilka testów, aby upewnić się, że są odpowiednio zintegrowane ze wszystkimi innymi komponentami oprogramowania. Ten proces kompilacji zapewnia, że oprogramowanie będzie działało poprawnie, gdy wszystkie komponenty zostaną połączone w ostateczną wersję.