We wszystkich projektach, w które byłem zaangażowany i które miały wkład zewnętrznego konsultanta, zadawano pytanie o to, jakiego rodzaju zarządzania konfiguracją używaliśmy. W żadnym z tych przypadków konsultant nie był w stanie zdefiniować zarządzania konfiguracją. Więc co to jest?
12
Odpowiedzi:
Jakie zarządzanie konfiguracją oprogramowania (SCM) sprowadza się do odpowiedzi na następujące pytania:
To z kolei może przerodzić się w dość duży i brzydki „proces”. Problemy z procesem są powodem, dla którego większość programistów patrzy na SCM, ponieważ oznacza to śledzenie plików źródłowych, defektów i wymagań; następnie wiążąc to wszystko razem, aby móc kontrolować zmiany (jest to idealny świat z punktu widzenia zarządzania, ponieważ daje dobre narzędzia menedżerskie, aby lepiej zobaczyć, jakich zasobów potrzebuje.)
Różni się to od ITIL Configuration Management, które w rzeczywistości polega na śledzeniu zasobów oprogramowania, na jakim oprogramowaniu działa (który serwer / stacja robocza) i jaka jest konfiguracja tego oprogramowania.
Innymi słowy, twój konsultant bardziej niż prawdopodobnie chce wiedzieć, w jaki sposób TWOJA firma / grupa programistów odpowiada na trzy pytania u góry mojej odpowiedzi.
źródło
Zarządzanie konfiguracją obejmuje „wszystko inne”, które nie jest bezpośrednio związane z pisaniem kodu. W ten sposób zarządzasz wydaniami, jak zarządzasz raportami błędów i sugestiami dotyczącymi funkcji, a także sugestiami funkcji, jak wykonujesz swoje kompilacje i tak dalej. Często obejmuje to również sposób zarządzania kodem źródłowym (np. Jakiej kontroli wersji używasz, strategii rozgałęziania, [jak] możesz zarządzać wieloma równoległymi „wydaniami” itp.).
źródło
Z czasem zarządzanie konfiguracją wiele znaczyło. Uważam, że jest to ważniejsze dla administratorów lub operacji niż bezpośrednio dla programistów. Gdy jesteś operatorem próbującym utrzymywać serwery w działaniu, martwisz się konfigurowaniem komputerów, zarządzaniem ich konfiguracją i utrzymaniem jej w działaniu. Jeśli po prostu zalogujesz się na komputerze i zaczniesz instalować oprogramowanie oraz zmieniać pliki konfiguracyjne na komputerze, nie zarządzasz tą konfiguracją. Co się stanie, jeśli ta maszyna umrze? Co się stanie, jeśli ktoś przejdzie na tę maszynę i zmieni plik konfiguracyjny, a wszystko zacznie wariować? Co zrobić, jeśli chcesz uruchomić inną maszynę skonfigurowaną dokładnie tak, jak ta, która jest uruchomiona? Możesz to zrobić?
Bez strategii zarządzania konfiguracją nie możesz. I dlatego jest to ważne. Chodzi o powtarzalność. Programiści podchodzą do powtarzalności w inny sposób niż ludzie, dlatego zależy nam na powtarzaniu różnych rzeczy.
Istnieje kilka świetnych narzędzi typu open source, które pomogą ci to zrobić: szef kuchni, capistrano, kucharz, a nawet SVN. Dlaczego deweloperzy powinni używać SVN? Sprawdź swoje pliki konfiguracyjne, skrypty używane do konfigurowania komputerów i śledzenia ich wersji. Te części Twojej organizacji są niezbędne do jej utrzymania. Nie chcesz ich stracić.
źródło