Co to jest zarządzanie konfiguracją?

12

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?

Henz
źródło
4
Szczerze mówiąc, Google, pierwsze dwa wyniki to odpowiednie wpisy w Wikipedii, które wyjaśniają wszystko na ten temat.
Jeremy,
Link: en.wikipedia.org/wiki/Software_configuration_management . Dobre pytanie.
Jon Onstott,
2
Przeczytałem tę stronę wikipedii i, szczerze mówiąc, myślę, że została napisana przez tych samych „konsultantów”, o których mówi Henry ...
Dean Harding
Ach tak, modne słowo. Przywołuje wspomnienia z moich dni przedsiębiorczości.
Jason Baker,
@Dean Harding Dokładnie!
Henry

Odpowiedzi:

4

Jakie zarządzanie konfiguracją oprogramowania (SCM) sprowadza się do odpowiedzi na następujące pytania:

  • Jakie pliki źródłowe zostały użyte do stworzenia naszego produktu końcowego?
  • Co zmieniło się od ostatniego stworzenia naszego produktu końcowego?
  • Dlaczego to zmieniliśmy?

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.

mangelo
źródło
1
Ostatni raz, kiedy to się pojawiło, powiedziałem, że używamy svn, Trac i Hudson. Po wyrazie twarzy konsultantów było jasne, że nic o tym nie słyszał. Pokazałem mu więc, w jaki sposób rejestr wymagań wpisuje się do Traca, jak Trac integruje się z svn, jak Hudson auto buduje i wdraża wszystko, a facet wymienił zarządzanie konfiguracją jako ryzyko projektu.
Henry
12

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.).

Dean Harding
źródło
2

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ć.

chubbsondubs
źródło