Wykład 5 (1) Jakość w projekcie informatycznym - normy ISO: Ogólne dot. jakości: ISO 8402 - terminologia ISO 9000 - wytyczne dotyczące wyboru modelu ISO 9001/3 - modele systemu jakości Dot. oprogramowania: ISO 9126 ISO 9000-3 ISO 12207 ISO TR 15504 ISO 12119 Information Technology - Software Product Evaluation - Quality Characteristics and Guidelines for their Use Quality management and quality assurance standards - Part 3: Guidelines for the application of ISO 9001:1994 to the development, supply, installation and maintenance of computer software Information Technology - Software life cycle processes SPICE Software Process Improvement and Capability Determination Software Packages - Quality Requirements and Testing Wykład 5 (2) IEEE: IEEE 730, IEEE 983 IEEE 1008 IEEE 1012 IEEE 1028 Jakość w projekcie informatycznym - wstęp planowanie procesu zapewnienia jakości testowanie jednostkowe weryfikacja i walidacja (atestowanie) przeprowadzanie przeglądów i audytów 1
Wykład 5 (3) Jakość w projekcie informatycznym - wstęp Zalecenia normy ISO 9001:2000 podstawowe założenia polityki jakości Ukierunkowanie na klienta (również klient wewnętrzny) Przywództwo (budowa wizji, identyfikacja wartości) Zaangażowanie ludzi (satysfakcja, motywacja, szkolenia) Podejście procesowe (koncentracja na poszczególnych krokach procesu i relacjach pomiędzy tymi krokami, pomiary) Podejście systemowe (całe otoczenie procesu wytwórczego) Ciągłe doskonalenie (doskonalenie stanu obecnego, ewolucja a nie rewolucja) Rzetelna informacja (zbieranie i zabezpieczanie danych do podejmowania obiektywnych decyzji) Partnerstwo dla jakości (bliskie związki producentów z klientami) Wykład 5 (4) Jakość w projekcie informatycznym ISO 9001:2000 Zasada ciągłego doskonalenia koło Deminga: Planuj -> Wykonaj -> Sprawdź -> Usprawnij (org. działaj) Podstawowe wymagania normy w zakresie wdrożenia systemu jakości: - zidentyfikować procesy, - określić sekwencję tych procesów i ich wzajemne oddziaływanie, - określić kryteria i metody potrzebne do zapewnienia skuteczności przebiegu i nadzorowania tych procesów, - zapewnić dostępność zasobów i informacji niezbędnych do wspomagania przebiegu i monitorowania tych procesów, - monitorować, mierzyć i analizować te procesy, - wdrażać działania niezbędne do osiągnięcia zaplanowanych wyników i ciągłego doskonalenia tych procesów. 2
Wykład 5 (5) Jakość w projekcie informatycznym - ISO 9001:2000 Zawartość normy: 4.1. Wymagania ogólne Ogólne działania prowadzone w zakresie zapewnienia jakości 4.2. Wymagania dotyczące dokumentacji 4.2.1. Wymagania ogólne Dokumentacja powinna zawierać: Udokumentowane deklaracje polityki jakości i celów dot. Jakosci, Księge jakości, Udokumentowane minimum procedur wymaganych postanowieniami normy Dokumenty potrzebne do zapewnienia skutecznego planowania, przebiegu i nadzorowania jej procesów Zapisy wymagane normą Dokumentacja może mieć dowolną formę i rodzaj nośnika Wykład 5 (6) Jakość w projekcie informatycznym - ISO 9001:2000 4.2.2. Księga jakości Zawartość: Zakres systemu zarządzania jakością, łącznie ze szczegółami dotyczącymi wszelkich wyłączeń i ich uzasadnienia Udokumentowane ustanowione procedury lub powołanie się na nie, Opis wzajemnego oddziaływania między procesami SZJ 4.2.3. Nadzór nad dokumentami: Wymóg ustanowienia udokumentowanej procedury nadzoru dotyczącego: Zatwierdzania dokumentów pod kątem ich adekwatnosci zanim zostaną wydane Przeglądu dokumentów i ich aktualizowania Zapewnienia, że zidentyfikowano zmiany i aktualny status dokumentów, Zapewnienie dostępności dokumentów w miejscach ich użytkowania, Zapewnienia, że dokumenty są czytelne i łatwe do zidentyfikowania, Zapobiegania niezamierzonemu stosowaniu nieaktualnych dokumentów 3
Wykład 5 (7) Jakość w projekcie informatycznym - ISO 9001:2000 4.2.4. Nadzór nad zapisami Zapisy wszelkie informacje dokumentujące działanie systemu wykorzystywane jako dowody skuteczności działania SZJ, np. plany realizacji, harmonogramy prac, zgłoszenia błędów, raporty weryfikacji, raporty testowania, raporty z przeglądów zarządzania, przeglądów wymagań itp. Wymaganie ustanowienia procedury w celu określenia nadzoru potrzebnego do identyfikacji, przechowywania, zabezpieczania wyszukiwania i zachowywania przez określony czas zapisów 5. Odpowiedzialność kierownictwa 5.1. Zaangażowanie kierownictwa Zakres obowiązków kierownictwa: Zakomunikowanie znaczenia spełnienia wymagań klientów, Ustanowienie polityki jakości, Przeprowadzanie przeglądów zarządzania, Zapewnienie dostępności zasobów Wykład 5 (8) Jakość w projekcie informatycznym - ISO 9001:2000 5.2. Orientacja na klienta Najwyższe kierownictwo powinno zapewnić, że wymagania klienta zostały określone i spełnione w celu większego zadowolenia klienta 5.3. Polityka jakości Zapewnienie znajomości polityki jakości w organizacji Wykonywanie ciągłych przeglądów w celu weryfikacji przydatności 5.4. Planowanie 5.4.1. Cele dotyczące jakości Wymóg ustanowienia mierzalnych celów dot. jakości dla poszczególnych funkcji w organizacji 5.4.2. Planowanie systemu zarządzania jakością Wymóg planowania działań dotyczących wdrażania i udoskonalania SZJ 5.5. Odpowiedzialność, uprawnienia i komunikacja Wymóg zapewnienia, że odpowiedzialność i uprawnienia są określone i zakomunikowane w organizacji 4
Wykład 5 (9) Jakość w projekcie informatycznym - ISO 9001:2000 5.5.2. Przedstawiciel kierownictwa Najwyższe kierownictwo powinno wyznaczyć członka kierownictwa wyposażonego w odpowiednią odpowiedzialność i uprawnienia dla: Zapewnienia, że procesy ZJ są ustanowione, wdrożone i utrzymywane, Przedstawiania najwyższemu kierownictwu sprawozdań dot. funkcjonowania SZJ. Zapewnienia upowszechnienia w całej organizacji świadomości dot. wymagań klienta 5.6. Przegląd zarządzania Wymóg przeprowadzania przeglądu SZJ w określonych odstępach czasu. Należy utrzymywać zapisy z przeglądu zarządzania 6. Zarządzanie zasobami 6.2. Zasoby ludzkie 6.2.2. Kompetencja świadomość i szkolenie Określenie niezbędnych kompetencji personelu wykonującego czynności mające wpływ na jakość Wykład 5 (10) Jakość w projekcie informatycznym ISO 9001:2000 Zapewnienie wykonywania szkoleń dot. SZJ, Ocenianie skuteczności szkoleń, Zapewnienie uświadomienia personelowi wagi swoich działań dla osiągania celów zapewnienia jakości Utrzymywanie odpowiednich zapisów dotyczących szkoleń 6.3. Infrastruktura 6.4. Środowisko pracy 7. Realizacja wyrobu 7.1. Planowanie realizacji wyrobu 7.2. Procesy związane z klientem 7.2.1. Określenie wymagań dotyczących wyrobu 7.2.1. Przegląd wymagań dotyczących wyrobu 7.2.3. Komunikacja z klientem 5
Wykład 5 (11) Jakość w projekcie informatycznym ISO 9001:2000 7.3. Projektowanie i rozwój 7.3.1. Planowanie projektowania i rozwoju 7.3.2. Dane wejściowe do projektowania i rozwoju Wymagania funkcjonalne i dotyczące parametrów, Mające zastosowanie wymagania ustawowe i przepisów, Jeśli ma to zastosowanie informacje z poprzednich podobnych projektów Wymagania powinny być kompletne, jednoznaczne i niesprzeczne Należy dokonywać przeglądu danych wejściowych pod kątem ich adekwatności oraz utrzymywać odpowiednie zapisy 7.3.3. Dane wyjściowe z projektowania i rozwoju Przedstawić dane wyjściowe w formie umożliwiającej weryfikacje w kontekście danych wejściowych. Dane te powinny: Spełniać wymagania danych wejściowych, Zawierać kryteria przyjęcia wyrobu lub powoływać się na nie Specyfikować właściwości wyrobu, które są istotne dla jego bezpieczeństwa Wykład 5 (12) Jakość w projekcie informatycznym ISO 9001:2000 7.3.4. Przegląd projektowania i rozwoju 7.3.5. Weryfikacja projektowania i rozwoju 7.3.6. Walidacja projektowania i rozwoju 7.3.7. Nadzorowanie zmian w projektowaniu i rozwoju 7.4. Zakupy... 7.5. Produkcja i dostarczanie usług 7.5.1. Nadzorowanie produkcji i dostarczania usług 7.5.2. Walidacja procesów produkcji i dostarczania usług 7.5.3. Identyfikacja i identyfikowalność 7.5.4. Własność klienta 7.5.5. Zabezpieczenie wyrobu 7.6. Nadzorowanie wyposażenia do monitorowania i pomiarów 6
Wykład 5 (13) 8. Pomiary, analiza i doskonalenie 8.2. Monitorowanie i pomiary 8.2.1. Zadowolenie klienta 8.2. Audyt wewnętrzny 8.2.3. Monitorowanie i pomiary procesów Jakość w projekcie informatycznym ISO 9001:2000 Należy ustanowić metody monitorowania i pomiarów procesów mogące wykazać zdolność procesów do osiągania zaplanowanych celów. 8.2.3. Monitorowanie i pomiary wyrobu Prowadzić monitorowanie i pomiary parametrów wyrobu w celu weryfikacji czy zostały spełnione wymagania dot. Wyrobu. Należy to przeprowadzić na odpowiednich etapach wytwarzania wyrobu. Należy utrzymywać dowód spełnienia kryteriów przyjęcia wyrobu 8.3. Nadzór nad wyrobem niezgodnym Zapewnić aby wyrób niezgodny został zidentyfikowany tak aby zapobiec jego niezamierzonemu użyciu lub dostawie. Nadzór i związaną z tym odpowiedzialność określić w ustanowionej procedurze. Wykład 5 (14) Jakość w projekcie informatycznym ISO 9001:2000 Należy utrzymywać zapisy dotyczące charakteru niezgodności oraz wykonanych działań z wyrobem niezgodnym Jeśli wyrób zostanie poprawiony to należy poddać go ponownej weryfikacji 8.4. Analiza danych 8.5. Doskonalenie 8.5.1. Ciągłe doskonalenie 8.5.2. Działania korygujące 8.5.3. Działania zapobiegawcze 7
Wykład 5 (15) Cel: Capability Maturity Model == Model Dojrzałości Procesu Wytwarzania Software Engineering Institute, Carnegie Melon University, USA, 1995 Uzyskanie metody oceny potencjalnych wytwórców oprogramowania dla Departamentu Obrony USA (cel początkowy), Stworzenie schematu stopniowego doskonalenia i oceny dojrzałości procesu wytwarzania. Poziomy dojrzałości: Początkowy -> Powtarzalny -> Zdefiniowany -> Zarządzany -> Optymalizujący) Podobnie jak TQM i ISO 9001:2000 bazuje na zdefiniowaniu procesów składowych zachodzących przy produkcji oprogramowania Wykład 5 (16) Zastosowania CMM: Ocena kultury wytwarzania dostawców oprogramowania, Ocena podwykonawców, Wewnętrzna ocena poziomu zaawansowania organizacji w zakresie zarządzania Określanie polityki zarządzania w zakresie doskonalenia organizacji Jako wzorzec przy ustanawianiu wzorców działań i procedur w zakresie wytwarzania oprogramowania 8
Wykład 5 (17) Charakterystyka poziomów dojrzałości: 1. Początkowy 2. Powtarzalny 3. Zdefiniowany 4. Zarządzany 5. Optymalizujący Działania chaotyczne, brak lub nieliczne zidentyfikowane procesy. Brak planowania i instrukcji działania w określonych zakresach. Sukces zależy od indywidualnych wysiłków, talentów i zaangażowania. Zdefiniowane procesy zarządzania dla śledzenia kosztów, harmonogramu i funkcjonalności. Zorganizowane wykorzystanie doświadczeń uzyskanych przy wcześniejszych projektach o podobnym charakterze. Działania zarządcze i wytwórcze zostały udokumentowane, ustandaryzowane i skoordynowane w spójnym procesie wytwórczym Wprowadzono monitorowanie i pomiary procesu i wyrobu. Wyniki pomiarów wykorzystywane do bieżącej korekty procesu i wyrobu. Wdrożone stałe udoskonalanie procesu poprzez analizę statystyk z pomiarów procesu oraz wdrażanie nowych rozwiązań organizacyjnych. Wykład 5 (18) Poziom dojrzałości a przewidywalność procesu wytwórczego: Zmniejszenie obciążenia wartości średniej szacunku kosztów Zmniejszenie wariancji szacowania kosztów Zmniejszenie faktycznych średnich kosztów 9
Wykład 5 (19) Pomiary dojrzałości: Listy kontrolne dot. cech charakteryzujących kolejne poziomy dojrzałości. Cechy oceniane ilościowo. Suma ocen częściowych określa w jakim stopniu dany poziom został osiągnięty Przykład listy dla poziomu Początkowego: Brak harmonogramu działania, Brak instrukcji wykonywania typowych działań, Brak ogólnego uzgodnionego schematu działania, Niezapewnienie poufności, Brak stanowiska kierownika projektu Stopniowa niekontrolowana zmiana wymagań, Brak doświadczenia zespołu, Niekontrolowany rozrost projektów, Brak konsultantów Wykład 5 (20) Kluczowy Obszar Procesów zestaw powiązanych aktywności wykonywanych w celu podniesienia poziomu dojrzałości. KOP są zdefiniowane dla wszystkich poziomów od 2 Powtarzal -ny Optymalizujący Zdefiniowany Zarządza ny Zarządzanie wymaganiami Planowanie projektów Śledzenie projektu Zarządzanie podwykonawstwem Zapewnienie jakości Zarządzanie konfiguracją Definiowanie odpowiedzialności Definiowanie procesów Prowadzenie procesów inź. Planowanie i prowadzenie szkoleń Koordynowanie grup Przeglądy partnerskie Ilościowe zarządzanie procesami Zarządzanie jakością Zapobieganie defektom Zarządzanie zmianami technologii Zarządzanie doskonaleniem procesu Zorganizowane zbieranie i analiza wymagań Planowanie działań i etapów Ciągła analiza stanu aktualnego vs. harmonogram Wybór, weryfikacja i nadzór nad podwykonawcami Weryfikacja, walidacja i certyfikacja Zapewnienie integralności produktu w jego cyklu życia Określanie ról i zakresów obowiązków dot. (dopowiedzialności) w zakresie nadzoru procesów Rozwijanie wiedzy i umiejętności zespołu Określanie zakresu i kanałów wymiany informacji oraz zasad współpracy Wczesne i obiektywne identyfikowanie defektów Mierzenie i ilościowa ocena wydajnosci procesów Rozwijanie i wdrażanie polityki jakości produktu Identyfikowanie i śledzenie źródeł defektów Identyfikowanie, ocena i wdrażanie użytecznych technologii Działanie mające na celu stałe zwiększanie wydajności procesu 10
Wykład 5 (21) Podział kluczowych obszarów procesów na kategorie: Wykład 5 (22) Struktura CMM: Poziomy dojrzałości Kluczowe obszary procesu grupy aktywności niezbędne do osiagnięcia celów istotnych dla danego poziomu dojrzałości Cele wyniki spodziewane w rezultacie prawidłowego wdrożenia praktyk z obszaru procesu. Osiągnięcie celów jest konieczne dla spełnienia KPA Cechy wspólne atrybuty związane z wdrożeniem KPA, grupują aktywności związane z KPA Kluczowe praktyki działania przyczyniające się do spełnienia KPA 11
Wykład 5 (23) Wspólne cechy KPA: Commit to Perform Zobowiązanie do wykonywania Ability to Perform Zdolność do wykonania Działania, które organizacja musi podjąć aby zapewnić, że proces musi być ustanowiony i będzie trwale wykonywany, Zwykle obejmuje ustanawianie polityki organizacji, akceptację i nadzorowanie ze strony najwyższego zarządu. Opisuje warunki wstępne niezbędne do wdrożenia procesu, Zwykle obejmuje zasoby, niezbędne struktury organizacyjne oraz szkolenia Activities Performed Czynności wykonywane Measurement and Analysis Pomiary i analiza Verifying Implementation Weryfikacja Opisuje role i procedury niezbędne do wdrożenia obszaru kluczowego. Zwykle obejmuje planowanie, opracowywanie procedur, wykonanie, śledzenie i podejmowanie akcji korekcyjnych Opisuje potrzebę mierzenia parametrów procesu oraz analizowanie wyników. Zwykle zawiera przykłady pomiarów dla określenia statusu i efektywności procesu Opisuje procedury weryfikacyjne sprawdzające zgodność faktycznych działań z ustanowionym procesem Wykład 5 (24) Projektowanie procesów: CMM traktuje projektowanie procesów podobnie jak projektowanie i wykonanie oprogramowania: Wymagania co do procesu, Określenie jak proces będzie zdefiniowany i opisany, Wykonanie projektu procesu, Weryfikacja procesu, Wdrożenie procesu 12