Wdrażanie technologii CASE (Cz. 3)

  • Borys Stokalski,
  • Jacek Królik,

To, co najistotniejsze, to:

  • umiejętność precyzyjnego przewidywania harmonogramów realizacji projektów
  • stopniowe skracanie czasu trwania prowadzonych projektów i...
  • systematyczne podnoszenie jakości tworzonych produktów.
Nieumiejętne planowanie może w szczególnych sytuacjach doprowadzić do takich opóźnień, które praktycznie eliminują z rynku firmy informatyczne lub te, których działalność istotnie zależy od sprawności informatyki (np. biura maklerskie, czego przykłady mieliśmy okazję ostatnio obserwować). Jednocześnie "obsuwające się" terminy oznaczają stratę pieniędzy, reputacji i niezadowolenie pracowników.

Aby jednak móc cokolwiek osiągnąć w sposób przewidywalny, potrzebny jest pewien schemat działań, na którym można się oprzeć planując przedsięwzięcie informatyczne. Nie jest możliwe dokładne określenie harmonogramu i wyników prac, jeśli nie ustali się:

  • Co ma być właściwie zrobione. Jakie są wymagania użytkownika i jaka jest hierarchia ważności potrzeb?
  • Jak rozwiązać problemy użytkownika? Jak przekształcić wymagania w zaspokajający je projekt systemu informatycznego?
  • Jak poprawnie przekształcić projekt systemu w działający system?
Mówiąc inaczej potrzebny jest pewien zdefiniowany, udokumentowany proces produkcyjny, który określa podział projektu na etapy i jeszcze bardziej szczegółowo definiuje:
  • czynności, które mają być wykonane w każdym z etapów
  • techniki, które mają być użyte w celu zrealizowania każdej z czynności (np. modelowanie procesów, analiza wymagań krytycznych, analiza kosztów i zysków)

  • produkty będące rezultatem każdej czynności (np. modele danych) lub etapu
  • zależności między poszczególnymi czynnościami i produktami (wyniki jednej czynności mogą być danymi wejściowymi dla innej)
  • kto ma wykonywać poszczególne czynności (role uczestników procesu produkcyjnego, organizacja zespołu).
Do tego, aby nasz proces produkcji jeszcze bardziej ustabilizować, dodajmy następujące sfery działalności:
  • zarządzanie projektami, śledzenie ich postępu, korygowanie przebiegu
  • planowanie i kontrola jakości powstających produktów
  • zarządzanie konfiguracją projektu
  • istotne aspekty dotyczące przebiegu projektu powinny być mierzone i rejestrowane (np. wielkości powstającytch produktów, ich jakość, złożoność, czasochłonność i koszty wykonania etc.).
To już dużo. Dodajmy do tego jeszcze jedno, bardzo ważne wymaganie: udokumentowanie procesu produkcyjnego. Dopiero wtedy, gdy proces produkcji oprogramowania jest udokumentowany, możemy powiedzieć, że został on zinstytucjonalizowany, że stał się własnością instytucji, która go wdrożyła - i istnieje naprawdę.

I wreszcie to, co czyni nasz system produkcji dojrzałym, to dbałość o proces produkcyjny, tzn. ciągłe mierzenie jego wydolności, wzbogacanie i poprawianie.

Słowem - jak w fabrytce samochodów.

W następnym odcinku omówimy tzw. Capability Maturity Model amerykańskiego Instytutu Inżynierii Oprogramowania, tzn. model systematyzujący podejście, które nieformalnie wprowadziliśmy w niniejszym artykule. Omówimy także związane z nim zagadnienie zarządzania procesem produkcji oprogramowania, czyli tzw. process management.

Autorzy są pracownikami InfoViDE - przedstawiciela Learmonth & Burchett Management Systems (LBMS), brytyjskiego twórcy metodyk i narzędzi CASE. InfoViDE zajmuje się wdrażaniem systemów CASE, nauczaniem technik strukturalnych i konsultingiem informatycznym.