Stajnia Augiasza (cz. 2)

Zarządzanie konfiguracją projektu (ang. Software Configuration Management) stanowi jeden z aspektów prowadzenia projektów informatycznych. Termin ten oznacza właściwą koordynację pracy zespołu, rozumianą jako utrzymywanie sprawnej komunikacji między jego członkami, przechowywanie i ochrona wspólnych zasobów oraz kontrolowanie spójności projektu.

Zarządzanie konfiguracją projektu (ang. Software Configuration Management) stanowi jeden z aspektów prowadzenia projektów informatycznych. Termin ten oznacza właściwą koordynację pracy zespołu, rozumianą jako utrzymywanie sprawnej komunikacji między jego członkami, przechowywanie i ochrona wspólnych zasobów oraz kontrolowanie spójności projektu.

Podamy kilka przykładów realizacji koncepcji zarządzania konfiguracją projektu. W większości są to systemy komputerowe, które automatyzują zarządzanie konfiguracją, choć czasami wystarczy odpowiednia organizacja lub procedury pracy, aby polepszyć wydajność zespołu.

Najprostszy sposób ułatwiający zarządzanie niewielkim projektem polega na wyznaczeniu bibliotekarza. Jego działania są oparte na dwóch zasadach:

  • istnieje jedna, wspólna baza danych projektu - repozytorium (biblioteka)

  • musi on dysponować pełną wiedzą o prowadzonych pracach i dzięki temu we właściwy sposób koordynuje działanie zespołu.
Bibliotekarz powinien wymusić na pozostałych członkach zespołu takie procedury postępowania, aby w każdej chwili mieć najświeższe informacje. Należy określić standardy pracy: formaty przechowywanych dokumentów, ich obieg itp. Oczywiście taka współpraca nie zawsze układa się zgodnie. Poza tym trzeba się liczyć z sytuacją czasowego braku bibliotekarza lub popełnienia przez niego błędów.

Duże projekty wymuszają większe zautomatyzowanie zarządzania projektem. Powstało wiele systemów realizujących to zadanie, a jednym z pierwszych był Panvalet firmy Pansophic Systems na maszyny IBM 360 i 370. Ma on repozytorium składające się z kodów źródłowych i wynikowych, instrukcji JCL oraz danych do programów. Zasoby te można redagować, porządkować i drukować za pomocą specjalnych komend Panvaleta. Dane w repozytorium przechowuje się w wielu wersjach. Jedna z nich, eksploatacyjna, ma specjalne znaczenie, gdyż tylko w wyniku jej zmian może powstać kolejna wersja. Zawartość repozytorium jest chroniona przed modyfikacjami - zmian

dokonuje się wyłącznie przez wstawianie nowych elementów. Wszystkie elementy repozytorium mogą być opisane w słowniku projektu. Zawiera on opis struktury repozytorium (wersje i powiązania między plikami) oraz identyfikuje zasoby (kto i kiedy korzystał z danych). Na podstawie słownika tworzone są raporty i sprawozdania. Panvalet ma własne mechanizmy archiwizacji - co pewien czas zawartość bazy kopiuje się na taśmy. To samo robi się ze skasowanymi plikami (zabezpieczenie przed pomyłkami lub przedwczesnymi decyzjami) oraz rzadko używanymi zasobami.

Kolejny przykład to Fabryka Oprogramowania (the Software Factory) firmy System Development Corporation. System ten wspomaga zarządzanie projektem w sposób wszechstronny w czasie definiowania wymagań, projektowania i testowania. Repozytorium podzielone jest na dwie części: roboczą i kontroli projektu. Pierwsza z nich zawiera kody źródłowe i wynikowe, informacje o konsolidacji i dane testowe. Pliki te mogą mieć wiele wersji. Część kontrolna zawiera informacje omagające zarządzać projektem oraz opisujące strukturę tworzonego systemu. Należą do nich: harmonogramy, plany, spisy zasobów niezbędnych do realizacji poszczególnych etapów, wymagania użytkownika, szkielet projektu, wszelkiego rodzaju poprawki do pierwotnych dokumentów, zależności od innych systemów itp. W repozytorium zapisane są wszystkie relacje między tymi elementami, co pozwala na uzyskiwanie bardzo szczegółowych informacji za pomocą odpowiednich zapytań. Na przykład szef projektu może sprawdzić jakie wymagania użytkownika realizuje dany moduł, kto i jak długo go koduje, na jakim etapie są prace, ile wykryto błędów itp. Wszystkie narzędzia w systemie np. kompilatory czy programy do testowania są tak połączone, że automatycznie przesyłają informacje kontrolne i statystyczne do bazy danych. Specjalny program IMPACT (Integreted Management, Project, Analysis and Control Techniques) przetwarza zgromadzone dane i pomaga w zarządzaniu projektem.