Zarządzanie konfiguracją.

Zarządzanie konfiguracją projektu jest dyscypliną, która wyrosła z niepowodzeń projektów informatycznych lat 70. Powstała dzięki wysiłkowi licznych pokoleń informatyków, próbujących porządkować chaotyczne dotychczas praktyki zarządzania projektami. Obecnie jest integralną częścią procesu produkcji oprogramowania we wszystkich fazach jego cyklu życia.

Zarządzanie konfiguracją projektu jest dyscypliną, która wyrosła z niepowodzeń projektów informatycznych lat 70. Powstała dzięki wysiłkowi licznych pokoleń informatyków, próbujących porządkować chaotyczne dotychczas praktyki zarządzania projektami. Obecnie jest integralną częścią procesu produkcji oprogramowania we wszystkich fazach jego cyklu życia.

Wprowadzenie

Zarządzanie konfiguracją projektu obejmuje zasady i techniki zmierzające do identyfikacji, dokumentowania, śledzenia, oceny, sterowania i autoryzowania zmian we wszelkiej informacji projektowej, która ma być udostępniana różnym osobom (zespołom), związanym z projektem. Głównym celem zarządzania konfiguracją jest kontrolowane wprowadzanie do projektu zmian dotyczących dokumentacji, kodu programu i innych produktów faz projektowych. Sposób ich dokonania nie może mieć negatywnego wpływu na zakładane parametry projektu (budżet, czas, jakość) oraz integralność i jakość wytwarzanego systemu informatycznego.

Ukierunkowanie na innowacyjność przedsięwzięcia informatycznego i nieustanna zmienność rzeczywistości otaczającej projekt potęguje wymaganie racjonalności zarządzania zmianami. Wyobraźmy sobie zespół programistów, z których każdy dokonuje na własną rękę zmian, koniecznych co prawda, ale wywołujących niemałe zamieszanie w projekcie. Nikt nie wie, kto jakie zmiany wprowadził, jaki jest ich stan, poszczególni programiści narzekają, że ich moduły nie dają się kompilować, bo brakuje definicji nowych zmiennych i procedur. Nikt też nie wie, jaki jest stan produktu, i co po jego generacji otrzymamy, jaką będzie prezentować funkcjonalność, jakość itd. Podobnie może być w przypadku innych zespołów, np. analityków, projektantów, testerów, którzy operują nie kodem programu, lecz innymi rodzajami dokumentacji i specyfikacji. Jeśli na te problemy nałożymy jeszcze konieczność koordynacji działań i wymiany informacji między poszczególnymi zespołami, staniemy przed perspektywą nieuniknionych kłopotów, z którym coś trzeba zrobić. Zarządzanie konfiguracją jest właśnie odpowiedzią na te problemy.

Zarządzanie konfiguracją jest tłumaczeniem angielskiego terminu Configuration Management. Słowo "konfiguracja" jest tutaj użyte trochę nieszczęśliwie. Dla nas konfiguracja oznacza ukształtowanie, układ, sposób rozmieszczenia czegoś (Słownik Wyrazów Obcych, PWN 1995 r.). W odniesieniu do procesu projektowania oznacza co innego, a mianowicie zmienny w czasie zestaw wszelkich produktów projektu i innych informacji, które są istotne do sprawnej jego realizacji. Zarządzanie konfiguracją jest więc częścią systemu informacyjnego projektu. System ten, który opiera się na wiarygodnej i aktualnej informacji o wszelkich aspektach projektu, jest warunkiem koniecznym jego powodzenia. W przypadku zarządzania konfiguracją koncentrujemy się na tych aspektach systemu informacyjnego, które bezpośrednio lub pośrednio dotyczą gromadzenia informacji, przechowywania, aktualizowania i dostarczania "odbiorcom", realizowanego w taki sposób, aby zachować integralność informacji, jej poprawność, dostępność, wiarygodność i aktualność.

Elementy konfiguracji

Na konfigurację projektu i jego produktów mogą składać się różne elementy. Zależą one od konkretnego projektu i środowiska jego realizacji. Prosta definicja określa je jako wszelkie dokumenty lub komponenty systemu, które znajdują się pod kontrolą systemu zarządzania konfiguracją. Mogą to być np. specyfikacja wymagań, dokumenty projektowe, kod źródłowy programu, plany testowania, dokumentacja użytkowa, a także instrukcje i procedury projektowe, definicje procesów, kontrakty, sformułowania polityki firmy itd.

Na konfigurację projektu składa się więc informacja, którą możemy zaliczyć do kilku kategorii:

Dokumentacja produktów - wszelkie informacje ujęte w formie dokumentacji, które są podstawą do projektowania, opisują dotychczasowe osiągnięcia (produkty faz projektowych) w sposób pozwalający na realizację innych produktów projektowych w kolejnych fazach cyklu życia.

Dokumentacja projektowa - wszelkie zapisy i dokumenty konstytuujące projekt i opisujące jego historię oraz stan bieżący. Jej celem jest dokumentowanie przebiegu projektu z uwagi na skuteczne nim zarządzanie. Obejmuje umowy z klientem i kooperantami, a także wyniki przeglądów projektu, analizę Earned Value, wyniki testów, notatki służbowe, raporty błędów, zgłoszenia zmian itd.

Standardy, procedury, instrukcje - wszelkie ujęte w formie normatywnej (formalnej lub nieformalnej) opisy sposobów realizacji procesów projektowych, które przyjęto jako najbardziej właściwe, skuteczne, efektywne i zapewniające wysoką jakość produktów projektowych.

Kod programu - kod poszczególnych modułów programu, który często jest najbardziej zmiennym elementem konfiguracji projektu i wymaga osobnego zarządzania w podsystemie kontroli wersji produktu.

Wielokrotnie już podkreślaliśmy, że pomyślny projekt opiera się na wiarygodnych i aktualnych informacjach. Uzyskanie takiego stanu wymaga wydzielenia z zespołu projektowego odpowiednich "sił i środków" na realizację zadań związanych z zarządzaniem konfiguracją. Zwykle zaleca się stworzenie zespołu ds. zarządzania konfiguracją projektu, który realizuje następujące działania:

  • identyfikację komponentów systemu i produktów projektu

    pomoc w organizowaniu systemu informacyjnego projektu

    rejestrowanie i śledzenie wszystkich zmian dotyczących elementów konfiguracji

  • identyfikowanie potrzeb i zgłoszeń zmian

  • analizę możliwego wpływu zmian na projekt

  • racjonalne planowanie i priorytyzację zmian

  • przegląd i zatwierdzenie zmian do realizacji

  • weryfikację i monitorowanie realizacji zmian.
W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200