Zarządzanie projektem informatycznym Prowadzący: dr inż. Bogdan Trawiński Wykład 10 Zarządzanie jakością
Co to jest „jakość”? Pojęcie trudne do zdefiniowania Zależne od kontekstu i osoby oceniającej Ocena subiektywna
Najstarszy zapis na temat jakości Jeśli budowniczy wybuduje dom dla mieszkańca i wykona jego konstrukcję tak słabą, że dom się zawali i spowoduje śmierć właściciela, to budowniczy powinien być zabity. Jeśli zawalenie się domu spowoduje śmierć syna właściciela, to należy zabić syna budowniczego. [Kodeks Hammurabiego ok. 1700 r p.n.e.]
Definicje jakości
Definicje jakości stopień uwolnienia wyrobu od wad i błędów. stopień, w jakim określony wyrób zaspokaja potrzeby danego nabywcy (jakość rynkowa) stopień zgodności wyrobu z modelem, wzorcem lub wymaganiami (jakość zgodności) stopień, w jakim określony wyrób znajduje u konsumenta pierwszeństwo przed innym wyrobem w wyniku ich porównania (jakość preferencji) dający się wyodrębnić zespół cech istotny dla danego wyrobu, np. wielkość, wygląd, niezawodność
Jakość produktu Najczęściej wymieniane cechy jakości produktu to: funkcjonalność użyteczność: stopień realizacji oczekiwanych funkcji praktyczność: komfort użytkowania, łatwość obsługi i konserwacji niezawodność: zdolność do pracy bezusterkowej trwałość: okres zachowania cech użytkowych bezpieczeństwo użytkowania satysfakcjonowanie ekskluzywność: prestiż nabywcy związany z posiadaniem produktu lub jego marką estetyczność: pozytywne odczucia osobiste prezentacja: forma zaoferowania (warunki sprzedaży: otoczenie, obsługa, sposób dostawy, opakowanie, certyfikaty, referencje itp.) koszt nabycia
Definicje jakości stopień jednorodności i niezawodności wyrobu przy możliwie niskich kosztach i maksymalnym dopasowaniu do wymagań rynku. ogół cech i właściwości wyrobu lub usługi, które decydują o zdolności wyrobu lub usługi do zaspokajania stwierdzonych i przewidywanych potrzeb [ISO 8402] zdolność wyrobu, systemu lub procesu o określonym zestawie właściwości, do spełnienia wymagań klienta i wymagań stron zainteresowanych [ISO 9000:2000]
Interpretacja definicji jakości wg norm ISO decydujące znaczenie przypisuje się tym cechom i właściwościom, które wpływają na satysfakcję klienta, czyli spełniającym jego oczekiwania należy nieustannie badać wymagania i oczekiwania klienta za jakość odpowiedzialni są wszyscy, którzy tworzą system, na każdym etapie jego cyklu życia, a nie tylko ci, którzy testują system należy stworzyć mechanizmy ciągłego doskonalenia jakości produktu i procesów w zespole realizującym projekt
Historia jakości Mistrzostwo i cechy rzemieślnicze (do XIXw) Manufaktury (XIX w.) Kontrola Techniczna (od 1910) Kontrola Jakości (od 1930-40) Zapewnienie Jakości (od 1950-70) Zarządzanie przez Jakość (TQM) (od 1980)
Historia jakości
TQM – Total Quality of Management Zarządzanie przez jakość (ang. Total Quality Management, inaczej: kompleksowe zarządzanie przez jakość, kompleksowe zarządzanie jakością, totalne zarządzanie jakością) - podejście do zarządzania organizacją, w którym każdy aspekt działalności jest realizowany z uwzględnieniem spojrzenia projakościowego. Uczestniczą w nim wszyscy pracownicy poprzez pracę zespołową, zaangażowanie, samokontrolę i stałe podnoszenie kwalifikacji. Celem jest osiągnięcie długotrwałego sukcesu, którego źródłem są zadowolenie klienta oraz korzyści dla organizacji i jej członków oraz dla społeczeństwa.
TQM – Total Quality of Management to nowa filozofia zarządzania, zorientowanego na ustawiczne doskonalenie przedsiębiorstwa we wszystkich aspektach, sferach i efektach działalności, obejmuje nie tylko doskonalenie wyrobów i usług, lecz także jakość pracy, a więc kwalifikacje ludzi, środków i przedmiotów pracy, technologii procesów i systemów marketingowych, projektowych, wytwórczych i eksploatacyjnych, informatyczno-decyzyjnych i wszystkich innych prowadzących do najlepszego zaspokojenia potrzeb klientów, prowadzi to do trwałego rozwoju organizacji, TQM jest również dostrzeganie szerszych powiązań przedsiębiorstwa z otoczeniem: troska o pełną harmonię w zakresie bezpieczeństwa i warunków pracy, a także w zakresie ochrony środowiska naturalnego i innych społecznych uwarunkowań
Zarządzanie jakością (ZJ) ZJ to wszelkie działania związane z całym procesem kierowania, ustalające politykę jakości, cele oraz zakres odpowiedzialności, które realizowane są w ramach systemu jakości, za pomocą takich środków jak planowanie jakości, zapewnienie jakości, kontrola i poprawa jakości. Planowanie jakości – określa jakie standardy jakościowe należy zachować w trakcie realizacji projektu i w jaki sposób je osiągnąć Zapewnienie jakości – oznacza dostosowanie wszystkich elementów procesu projektowego do stawianych wymagań Kontrola jakości – to kontrolowanie i nadzorowanie działań w celu zapewnienia założonej jakości oraz eliminowanie czynników mogących obniżyć jej poziom
Zarządzanie jakością (ZJ)
„Koło Deminga” Zdaniem Deminga tylko proste metody i zrozumiałe narzędzia pozwalają na osiągnięcie efektów. Im metoda jest bardziej złożona, tym mniejsze są szanse na uzyskanie pozytywnych wyników jej stosowania. Deming zaproponował przejrzystą i powszechnie zrozumiałą zasadę doskonalenia jakości, nazwaną od nazwiska jego twórcy „kołem Deminga” lub modelem P-D-C-A (planuj – wykonaj – sprawdź – koryguj).
„Koło Deminga” Jeśli na etapie sprawdzania okaże się, że występują rozbieżności między zamierzeniami i efektami, to wówczas należy uruchomić działania korygujące, prowadzące do ich likwidacji. Często, pierwsze działania korygujące mogą być niewystarczające, dlatego też po powtórnym sprawdzeniu musimy przystąpić do kolejnych działań korygujących. Postępujemy w ten sposób tak długo, aż uzyskamy satysfakcjonujące wyniki. Dopiero wówczas przechodzimy do następnego etapu określanego mianem - działaj. Zorganizowanie ciągłej poprawy jakości w oparciu o zasadę „koła Deminga” przyniosło sukcesy firmom japońskim, amerykańskim oraz europejskim i stało się podstawą doskonalenia wszelkich działań realizowanych w ramach nowego podejścia do systemów zarządzania jakością, odzwierciedlonego w znowelizowanych normach jakościowych z roku 2000, uwzględniających podejście procesowe.
Kluczowe zagadnienia zarządzania jakością Satysfakcja klienta – takie zrozumienie potrzeb klienta, by móc je w pełni zaspokoić lub nawet przekroczyć jego oczekiwania. Wynik projektu musi więc być zgodny ze specyfikacją i powinien spełnić rzeczywiste potrzeby, dla których projekt został podjęty Zapobiegać zamiast naprawiać – tak zarządzać projektem, aby unikać wszelkich nieprawidłowości. Koszt uniknięcia pomyłki, jest zawsze niższy od kosztu jej naprawy Odpowiedzialność – sukces projektu uwarunkowany jest udziałem wszystkich jego realizatorów, ale odpowiedzialność za zapewnienie środków do osiągnięcia sukcesu spoczywa na zarządzających projektem Działanie małymi krokami – zarządzanie projektem to nieustanny cykl: planowanie wykonanie kontrola zastosowanie
Zapewnienie jakości oprogramowania (ZJO) „Zapewnienie jakości są to wszystkie zaplanowane i systematyczne działania, niezbędne do uzyskania i utrzymania odpowiedniego stopnia wiarygodności, że system spełnia ustalone wymagania techniczne” ZJO oznacza sprawdzanie: czy plany są zdefiniowane zgodnie ze standardami; czy procedury są wykonywane zgodnie z planami; czy produkty są implementowane zgodnie z planami. Kompletne sprawdzenie jest zwykle niemożliwe. Projekty bardziej odpowiedzialne powinny być dokładniej sprawdzane odnośnie jakości.
Miejsce zapewnienia jakości Poziom jakości Poziom wymagany przez użytkownika Obszar zapewnienia jakości Rzeczywista jakość systemu Czas
Zapewnienie jakości zapewnienie jakości leży w obszarze pomiędzy wymaganiami użytkownika, a tym co użytkownik w rzeczywistości dostaje należy dołożyć wszelkich starań, aby krzywe oczekiwań i rzeczywistości kiedyś się przecięły, najlepiej przed dotarciem produktu na rynek
Zapewnienie jakości oprogramowania (ZJO) Najbardziej istotnym kryterium przy zapewnianiu jakości jest ryzyko. Najczęstszymi czynnikami ryzyka utraty jakości są: nowość projektu, złożoność projektu, niedostateczne wyszkolenie personelu, zbyt małe doświadczenie personelu, niesformalizowane (tworzone i zarządzane ad hoc) procedury niska dojrzałość organizacyjna wytwórcy. Dla zmniejszenia ryzyka personel ZJO powinien być zaangażowany w projekt programistyczny jak najwcześniej. Powinien on sprawdzać wymagania użytkownika, plany, procedury i dokumenty na zgodność ze standardami i przyjętymi procedurami postępowania. Wynika to z faktu, że dodatkowe koszty związane z problemem lub błędem są tym większe, im później zostanie on zidentyfikowany.
Zapewnienie jakości oprogramowania (ZJO) - względny koszt naprawy błędu
Zadania zapewnienia jakości Firma ciągła pielęgnacja procesu wytwarzania definiowanie standardów nadzór i zatwierdzanie procesu wytwarzania Projekt dostosowywanie standardów przeglądy projektu testowanie i udział w inspekcjach ocena planów wytwarzania i jakościowych audyt systemu zarządzania konfiguracją udział w komitecie sterującym projektu
Procesy obsługiwane przez personel ZJO Tworzenie technologii tworzenie standardu wdrażanie standardu Kontrola jakości ocena produktu ocena procesu zatwierdzanie jakości Analiza działalności firmy zbieranie danych analiza danych Administrowanie siecią komputerową Zarządzanie personelem
Personel ZJO powinien ustalić, czy... (1) Projekt jest właściwie zorganizowany, z odpowiednim cyklem życiowym; Członkowie zespołu projektowego mają zdefiniowane zadania i odpowiedzialności; Plany w zakresie dokumentacji są implementowane; Dokumentacja zawiera to, co powinna zawierać; Przestrzegane są standardy dokumentacji i kodowania; Standardy, praktyki i konwencje są przestrzegane; Dane pomiarowe są gromadzone i używane do poprawy produktów i procesów; Przeglądy i audyty są przeprowadzane i są właściwie kierowane; Testy są specyfikowane i rygorystycznie przeprowadzane;
Personel ZJO powinien ustalić, czy... (2) Problemy są rejestrowane i reakcja na problemy jest właściwa; Projekty używają właściwych narzędzi, technik i metod; Oprogramowanie jest przechowywane w kontrolowanych bibliotekach; Oprogramowanie jest przechowywane w chroniony i bezpieczny sposób; Oprogramowanie od zewnętrznych dostawców spełnia odpowiednie standardy; Rejestrowane są wszelkie aktywności związane z oprogramowaniem; Personel jest odpowiednio przeszkolony; Zagrożenia projektu są zminimalizowane.
Zakres działań dla zapewnienia jakości Modele i miary służące ocenie kosztu i nakładu pracy Modele i miary wydajności ludzi Gromadzenie danych Modele i miary jakości Modele niezawodności Ocena i modelowanie wydajności oprogramowania Miary struktury i złożoności Ocena dojrzałości technologicznej Zarządzanie z wykorzystaniem metryk Ocena metod i narzędzi
Personel ZJO powinien ustalić, czy... (2) Certyfikacja systemów przed skierowaniem do produkcji Wymuszanie standardów gromadzenia i przetwarzania danych Recenzowanie i certyfikacja wytwarzania i dokumentacji Opracowanie standardów dotyczących architektury systemu i praktyk programowania Recenzowanie projektu systemu pod względem kompletności Testowanie nowego lub zmodyfikowanego oprogramowania Opracowanie standardów zarządzania Szkolenie Pomiary odgrywają istotną rolę, jednakże są one postrzegane jako jedno z wielu specjalistycznych działań, a nie podstawa całego procesu zapewnienia jakości.
Normy ISO 9000 ISO - International Organization for Standardization. Normy z serii ISO 9000 dotyczą zapewnienia jakości we wszelakich obszarach działalności. Zapewnienie jakości oznacza działanie według odpowiednich procedur
Być zgodnym z ISO 9000 Aby być zgodnym z ISO należy wykazać się posiadaniem zestawów procedur regulujących działanie organizacji oraz wykazać, że procedury te są w rzeczywistości stosowane. Zgodność z ISO 9000 jest sprawdzana procedurą certyfikacji przeprowadzaną przez audytora trzeciej strony.
ISO 9000 w IT – ISO 9001-3 ISO 9001-3 jest modelem dla zapewnienia jakości w projektowaniu, rozwoju, produkcji, instalowaniu i serwisie oprogramowania. Idea jaka stoi za ISO 9001 jest taka, że firmy kładą nacisk na jakość i przestrzegają udokumentowanych praktyk, produkując systemy o wyższej jakości. Zgodność z ISO 9001 nie gwarantuje jakości, zwiększa tylko poziom zaufania, ze produkty będą wysokiej jakości
Norma ISO 9000:2000 Norma ISO 9001:2000 opiera się o 8 głównych zasad zarządzania jakością, które powinny być wykorzystane przez zarząd organizacji do poprawy jej funkcjonowania. Odpowiadają one praktycznym wymogom szybko zmieniającego się rynku, proponując proces ciągłego doskonalenia, a także kładąc szczególny nacisk na potrzeby i wymagana klienta w celu pozyskania jego satysfakcji z dostarczonego produktu.
8 zasad normy ISO 9000:2000 Koncentracja na kliencie Przywództwo Zaangażowanie ludzi Podejście procesowe Podejście systemowe do zarządzania Ciągłe doskonalenie Podejmowanie decyzji na podstawie faktów Wzajemnie korzystne powiązania z dostawcami
1. Koncentracja na kliencie Zrozumienie aktualnych i przyszłych potrzeb klienta. Wyjście naprzeciw jego wymaganiom Przewidywanie i wyprzedzenie oczekiwań jakie klient może wyrazić. „Trzeba umieć się domyśleć czego chce klient, gdyż on na ogół nie wie czego chce”
2. Przywództwo Przywódcy ustalają jedność celu i kierunku działania organizacji. Zaleca się, aby tworzyli oni i utrzymywali środowisko wewnętrzne, w którym ludzie mogą w pełni zaangażować się w osiąganie celów organizacji.
3. Zaangażowanie ludzi Ludzie na wszystkich szczeblach są istotą organizacji i ich całkowite zaangażowanie pozwala na wykorzystanie ich zdolności dla dobra organizacji
4. Podejście procesowe Pożądany wynik osiąga się z większą efektywnością wówczas, gdy działania i związane z nimi zasoby są zarządzane jako proces. planuj wykonaj sprawdź koryguj.
5. Podejście systemowe do zarządzania Zidentyfikowanie, zrozumienie i zarządzanie wzajemnie powiązanymi procesami jako systemem przyczynia się do zwiększenia skuteczności i efektywności organizacji w osiąganiu celów.
6. Ciągłe doskonalenie Zaleca się, aby ciągłe doskonalenie funkcjonowania całej organizacji stanowiło stały cel organizacji.
7. Podejmowanie decyzji na podstawie faktów Opieranie się na faktach w podejmowaniu decyzji. Skuteczne decyzje opierają się na logicznej analizie posiadanych danych i informacji.
powiązania z dostawcami 8. Wzajemnie korzystne powiązania z dostawcami Ustanowienie wzajemnie korzystnych powiązań między organizacją i jej dostawcami podnosi zdolność do generowania zysków.
Podejście procesowe i ciągłe doskonalenie systemu Autorzy normy wyraźnie akcentują podejście procesowe, polegające na przekształceniu danych wejściowych (wkład) na wyjściowe (rezultat).
Podstawowe elementy ISO 9001:2000 Doskonalenie systemu i procesów jest w normie ISO 9001:2000 działaniem ciągłym i podstawową miarą wartości systemu zarządzania w organizacji. Proces doskonalenia polega na ciągłej analizie i ocenie przebiegu procesów oraz realizacji ustalonych celów, z wykorzystaniem wszelkich źródeł jak: pomiary satysfakcji klientów, audity wewnętrzne, działania korygujące i zapobiegawcze, przeglądy kierownictwa, reklamacje klientów itd. Umożliwia to podejmowanie decyzji usprawniających przebieg procesów takich jak: redukcja kosztów, poprawa jakości pracy, wzrost jakości wyrobów i usług, umocnienie pozycji na rynku.
Podstawowe elementy ISO 9001:2000 Podstawowym wyznacznikiem skuteczności funkcjonowania systemu jest spełnienie oczekiwań klienta. Poprzez badanie satysfakcji klienta ocenia się na ile jego wymagania zostały spełnione, co umożliwia tym samym stałe doskonalenie i zapobieganie powstawaniu niezgodności. Podstawą systemu zarządzania jakością jest orientacja na procesy. Aby wdrożyć efektywnie system zarządzania, należy posiadać wiedzę dotyczącą podstawowych procesów biznesowych w organizacji.
Podstawowe elementy ISO 9001:2000 Przy podejściu procesowym obowiązują następujące zasady: podstawowe procesy organizacji są udokumentowane i poddane analizie powiązania wewnątrz procesów analizowane są przez pryzmat potrzeb klientów powtarzalność i jakość rezultatów procesów zapewniają udokumentowane procedury podstawą określania celów i oceny rezultatów procesów jest pomiar działań zarządzanie procesami opiera się na ich ciągłym doskonaleniu zarządzanie procesami związane jest ze zmianą kultury organizacji
Treść normy ISO 9001:2000 Wprowadzenie 1. Zakres normy 2. Normy związane 3. Terminologia i definicje 4. System zarządzania jakością 5. Odpowiedzialność kierownictwa 6. Zarządzanie zasobami 7. Realizowanie wyrobu 8. Pomiary, analizy i doskonalenie
Treść normy ISO 9001:2000 4. System zarządzania jakością 4.1. Postanowienia ogólne 4.2. Wymagania dla dokumentacji 4.2.1. Postanowienia ogólne 4.2.2. Księga jakości 4.2.3. Nadzorowanie dokumentów 4.2.4. Nadzorowanie zapisów dotyczących jakości
Treść normy ISO 9001:2000 5. Odpowiedzialność kierownictwa 5.1. Zobowiązanie kierownictwa 5.2. Ukierunkowanie na klienta 5.3. Polityka jakości 5.4. Planowanie 5.4.1. Cele jakości 5.4.2. Planowanie systemu zarządzania jakością 5.5. Odpowiedzialność, uprawnienia i komunikowanie 5.5.1. Odpowiedzialność i uprawnienia 5.5.2. Przedstawiciel kierownictwa 5.5.3. Wewnętrzne komunikowanie się 5.6. Przegląd dokonywany przez kierownictwo 5.6.1. Postanowienia ogólne 5.6.2 Dane wejściowe dla przeglądu 5.6.3. Dane wyjściowe dla przeglądu
Treść normy ISO 9001:2000 6. Zarządzanie zasobami 6.1 Zabezpieczenie zasobów 6.2 Zasoby ludzkie 6.2.1 Postanowienia ogólne 6.2.2. Kompetencje, świadomość i szkolenie 6.3 Infrastruktura 6.4 Środowisko pracy
Treść normy ISO 9001:2000 7. Realizowanie wyrobu 7.1 Planowanie realizowania wyrobów 7.2 Procesy związane z klientem 7.2.1 Określenie wymagań związanych z wyrobem 7.2.2 Przegląd wymagań odnoszących się do wyrobu. 7.2.3 Komunikowanie się z klientem 7.3 Projektowanie i rozwój 7.3.1 Planowanie projektowania i rozwoju 7.3.2 Dane wejściowe do projektowania i rozwoju 7.3.3 Dane wyjściowe z projektowania i rozwoju 7.3.4 Przegląd projektowania i rozwoju 7.3.5 Weryfikacja projektowania i rozwoju 7.3.6 Walidacja projektowania i/lub rozwoju 7.3.7 Nadzorowanie zmian w projektowaniu i rozwoju
Treść normy ISO 9001:2000 7. Realizowanie wyrobu (cd) 7.4 Zakupy 7.4.1 Proces zakupów 7.4.2 Informacje dotyczące zakupów 7.4.3 Weryfikacja zakupionego wyrobu 7.5 Produkcja i zabezpieczenie usługi 7.5.1 Nadzorowanie produkcji i zabezpieczenia usługi 7.5.2 Walidacja procesów dla produkcji i zabezpieczenia usługi 7.5.3 Identyfikacja i identyfikowalność 7.5.4 Własność klienta 7.5.5 Zabezpieczenie wyrobu 7.6 Nadzorowanie urządzeń do monitorowania i pomiarów
Treść normy ISO 9001:2000 8. Pomiary, analizy i doskonalenie 8.1 Postanowienia ogólne. 8.2 Monitorowanie i pomiary 8.2.1 zadowolenie klienta 8.2.2 Audit wewnętrzny 8.2.3 Monitorowanie i pomiary procesów 8.2.4 Monitorowanie i pomiary wyrobu 8.3 Nadzorowanie niezgodnego wyrobu 8.4 Analizowanie danych 8.5 Doskonalenie 8.5.1 Ciągłe doskonalenie 8.5.2 Działania korygujące 8.5.3 Działania zapobiegawcze
Certyfikacja systemu zarządzania jakością Certyfikacja systemów jakości ma dla wszystkich organizacji szczególne znaczenie. Duża konkurencja oraz stawianie wymogu posiadania wdrożonego certyfikowanego systemu zarządzania jakością stwarza nowe wyzwanie dla różnego rodzaju firm. Proces certyfikacji rozpoczął się w Polsce 1 stycznia 1994 roku z chwilą powstania Polskiego Centrum Badań i Certyfikacji (PCBC) Pomimo, że w kraju certyfikaty wydają również inne jednostki certyfikujące, np. BSI, PRS, RW TÜV, KEMA itp., PCBC jako jednostka krajowa ma nie mniejszą rangę.
Jak uzyskać certyfikat PCBC?
Capability Maturity Model (CMM) - model dojrzałości procesu wytwórczego Pod koniec lat 80 powołano Instytut Inżynierii Oprogramowania (SEI), który był odpowiedzialny za wypracowanie metod zwiększających skuteczność realizacji projektów, zmniejszających straty i poprawiających jakość Firmy dojrzewają do jakości i produktywności zgodnie z pewnym powtarzalnym procesem Model CMM umożliwia ulokowanie procesów firmy na określonym poziomie dojrzałości
Niedojrzałość i dojrzałość procesów wytwórczych Niedojrzałość Improwizacja podczas procesu wytwórczego Proces jest wyspecyfikowany, ale specyfikacja nie jest stosowana Doraźne reagowanie w sytuacji kryzysów Harmonogram i budżet są przekraczane Funkcjonalność jest stopniowo okrajana Jakość produktu jest niska Brak obiektywnych kryteriów oceny Dojrzałość Zdolność do budowy oprogramowania jest cechą organizacji a nie personelu Proces jest zdefiniowany, znany i wykorzystywany Proces jest obserwowany i ulepszany Prace są planowane i monitorowane Role i odpowiedzialności są zdefiniowane Obiektywna, ilościowa ocena
Capability Maturity Model (CMM) Wskazuje kierunek zmian w organizacji w celu osiągnięcia większej skuteczności Zawiera zasady i ustalone praktyki postępowania określające stopień dojrzałości procesów software’owych Może pomóc organizacjom wytwarzającym oprogramowanie w zaplanowaniu ewolucyjnej ścieżki rozwoju
Wartość marketingowa certyfikatu CMM dostawcy rozwiązań informatycznych dla dużych i bogatych. wewnętrzne działy produkcyjne w dużych korporacjach (poprawa wizerunku w oczach klientów) organizacje rządowe i prywatne (narzędzie do prześwietlania potencjalnych dostawców i podwykonawców)
Założenia autorów CMM Ulepszanie procesu planowania, produkcji i pielęgnacji oprogramowania, Ocena procesu produkcji oprogramowania we własnej firmie, Ocena zdolności ewentualnych kontrahentów do wywiązywania się ze zobowiązań kontraktowych w zakresie zleceń software’owych.
Struktura modelu CMM
Poziomy dojrzałości CMM Model pozwala zaklasyfikować organizację w jednym z pięciu poziomów:
Model dojrzałości oprogramowania CMM 1 Początkowy Procesy są słabo zdefiniowane i są wykonywane chaotycznie. Organizacja operuje bez formalnych procedur, szacowania kosztów lub planów. Nie ma kontroli zmian. Szczebel zarządzający nie ma wglądu do procesu produkcji oprogramowania. Sukces projektu zależy od wysiłku jednostek (nie organizacji) i nie jest powtarzalny. Odejście z organizacji jednej lub kilku osób, może uniemożliwić pielęgnację oprogramowania. 2 Powtarzalny Podstawowe procesy, na szczeblu projektu, są planowane, dokumentowane, monitorowane oraz kontrolowane. Pozwalają one oszacować koszt i harmonogram prac oraz wspomagają zarządzanie wymaganiami. Śledzone są wymagania, koszt i plan wykonania Jest zapewnienie jakości i kontrola zmian. 3 Zdefiniowany Procesy zarządzania projektem oraz wytwarzania oprogramowania są zdefiniowane, ustandaryzowane, zintegrowane i pielęgnowane w obrębie organizacji. Utworzony jest dział w firmie odpowiedzialny za wdrażanie polityki jakości i informowanie kierownictwa. 4 Zarządzany Przeprowadzane są pomiary procesu i jakości produktu. Procesy kontrolowane są na podstawie pomiarów, przy wykorzystaniu metod statystycznych. Kryteria zarządzania procesami wyraża się w sposób ilościowy. Analizie podlegają zarówno sytuacje wyjątkowe, jak też wariancja wybranych atrybutów procesów. Tam, gdzie to możliwe, dokonuje się poprawy procesów na podstawie zebranych danych pomiarowych. 5 Optymalizowany Na podstawie wyników pomiarów przeprowadzane są kontrolowane zmiany w procesach celem poprawienia wskaźników.
1. Poziom początkowy (dojrzałości CMM) Brak stabilnego środowiska projektowania i produkcji oprogramowania, brak dobrych organizatorów Proces wytwarzania oprogramowania - nieustalony Powodzenie projektu zależy od indywidualnego wysiłku i talentu poszczególnych projektantów Jakość – przypadkowa Proces produkcji oprogramowania - czarna skrzynka, ryzyko związane z realizacją projektów jest bardzo duże
2. Poziom powtarzalny (dojrzałości CMM) Planowanie i zarządzanie projektami - oparte na poprzednich doświadczeniach Mechanizmy zarządzania projektami - wdrożone Ustanowione i przestrzegane standardy dotyczące oprogramowania. Nadal silna zależność sukcesu projektu od umiejętności jednostek Proces wytwarzania - kilka mniejszych czarnych skrzynek
2. Poziom powtarzalny (procesy) Zarządzanie wymaganiami, Planowanie projektów software’owych, Kontrola i nadzór nad projektami, Zarządzanie poddostawcami, Zarządzanie jakością, Zarządzanie konfiguracją.
3. Poziom zdefiniowany (dojrzałości CMM) Procesy - dokumentowane, standaryzowane i integrowane w standardowe procesy sprawdzone, dopasowane standardy do projektowania i pielęgnacji oprogramowania (wszystkie projekty) szkolenia i treningi mniejsza zależność powodzenia projektów od jednostek struktura czarnych skrzynek zdefiniowana stan projektu w każdym momencie - określony
4. Poziom zdefiniowany (dojrzałości CMM) Podstawowa sprawa - jakość produktu dokładne metody pomiaru procesów proces produkcji oprogramowania jak i sam produkt - opisane pod względem jakości, dają się sterować obiektywne, ilościowe metody podejmowania decyzji i oceny procesu oraz produktu Zasadnicze procesy poziomu zarządzanego to: Ilościowe zarządzanie produkcją Zarządzanie jakością oprogramowania
5. Poziom optymalizujący (dojrzałości CMM) Ciągłe doskonalenie procesów Metody mierzenia procesów - pozwalają na doskonalenie procesów istniejących, a także badanie opłacalności wprowadzania nowych technologii do organizacji. Procesy na tym poziomie to: Zapobieganie błędom Zarządzanie zmianami technologii Zarządzanie zmianami procesów
Użyteczność modelu CMM Oprogramowanie staje się coraz bardziej złożone i coraz ważniejsze staje się jego niezawodne działanie Model CMM dostarczając spójną bazę , na której gruncie można ocenić procesy software’owe, pozwala na porównywanie możliwości jednej organizacji z inną Model CMM może być użyty do opracowania strategii firmy
Jak zagadnienia normy ISO odpowiadają procesom z SEI-CMM
Podobieństwa jakość dostarczanych produktów podlega sprawdzeniu wymóg gromadzenia danych, które poprzez analizę służą do późniejszego użycia w trakcie realizacji procesów, jak i ich usprawnienia podejście procesowe Koncentracja na tych samych zagadnieniach: jakość i zarządzanie procesami ISO 9001 określa minimalne wymagania dla systemu kontroli jakości podczas gdy model CMM podkreśla konieczność ciągłego doskonalenia procesów.
Różnice Niektóre kwestie zawarte w ISO 9001 nie mają swego odzwierciedlenia w CMM (i odwrotnie) Poziom abstrakcji opisów ISO 9001 ma zastosowanie do szerokiego grona organizacji, a CMM jest przeznaczony dla placówek wytwarzających oprogramowanie ISO 9001 akcentuje znaczenie klienta (sukces funkcjonowania systemu zarządzania jakością = satysfakcja klienta) CMM skupia się na produkcie (projekcie) i procesie jego wytwarzania
Kluczowe pytania Na jakim poziomie CMM znajduje się organizacja, która posiada certyfikat ISO 9001? Czy organizacja będąca na 2 (lub 3) poziomie CMM może być traktowana jako posiadacz certyfikatu ISO 900 1 ? Czy zarządzanie jakością software'u i doskonalenie procesów oprzeć na ISO 9001 czy na CMM?
Odpowiedzi Organizacja posiadająca certyfikat ISO 9001 powinna spełniać większość celów z poziomu 2 i wiele z poziomu 3. I w drugą stronę organizacja znajdująca się na poziomie 1 może starać się o certyfikat ISO. Organizacja z poziomu 2 (lub 3) prawdopodobnie będzie spełniała wymagania ISO ale nawet będąc na 3 poziomie musi zwrócić uwagę na pewne procesy (np. dostaw i instalacji oprogramowania). Najpewniej firma będzie chciała (musiała) zastosować obydwa rozwiązania: jedno wymuszone przez rynek (standardy ISO) i drugie z powodu praktycznej użyteczności.
Dlaczego firmy chcą mieć certyfikat? możliwość wykorzystania takiego symbolu jakości jako środka promocji produktu warunek dostateczny przystąpienia firmy do przetargu (potwierdzenia jakości dla zleceniodawcy)
Struktura wiedzy wg SWEBOK
Struktura wiedzy wg PMI
Zarządzanie jakością (ZJ) ZJ to wszelkie działania związane z całym procesem kierowania, ustalające politykę jakości, cele oraz zakres odpowiedzialności, które realizowane są w ramach systemu jakości, za pomocą takich środków jak planowanie jakości, zapewnienie jakości, kontrola i poprawa jakości. Planowanie jakości – określa jakie standardy jakościowe należy zachować w trakcie realizacji projektu i w jaki sposób je osiągnąć Zapewnienie jakości – oznacza dostosowanie wszystkich elementów procesu projektowego do stawianych wymagań Kontrola jakości – to kontrolowanie i nadzorowanie działań w celu zapewnienia założonej jakości oraz eliminowanie czynników mogących obniżyć jej poziom
Analiza zysków/kosztów Analizy eksperymentalne Planowanie jakości Proces planowania Wejścia Wyjścia Analiza zysków/kosztów Analiza porównawcza Analiza przebiegu Analizy eksperymentalne Polityka jakości Cele projektu Opis produktu Normy i przepisy prawne Wpływ innych procesów Plan zarządzania jakością Operacyjne definicje Listy kontrolne Wejścia do in. procesów
Plan zarządzania jakością Zapewnianie jakości Proces zapewnienia Wejścia Wyjścia Narzędzia i metody planowania jakości Audyty jakości Plan zarządzania jakością Wyniki pomiarów kontroli jakości Definicje operacyjne Poprawa jakości
Próbkowanie statystyczne Kontrola jakości Proces kontroli Wejścia Wyjścia Inspekcje Wykresy kontroli Diagramy Pareto Próbkowanie statystyczne Analiza przebiegu Analiza trendów Wyniki pracy Plan zarządzania jakością Definicje operacyjne Listy kontrolne Poprawa jakości Decyzje akceptacyjne Ponowne wykonanie Wypełnione listy kontrolne Korekcja procesu
Plan zapewnienia jakości oprogramowania (PZJO) PZJO powinien być sporządzany i modyfikowany przez cały okres życia oprogramowania. Pierwsze jego wydanie powinno pojawić się na końcu fazy wymagań użytkownika. PZJO powinien ustalać i opisywać wszelkie działania związane z zapewnieniem jakości dla całego projektu. Odpowiednie sekcje planu jakości powinny dotyczyć wszystkich ustalonych w danym modelu rozwoju oprogramowania faz cyklu życia oprogramowania. Rozmiar i zawartość PZJO powinny odpowiadać skali i złożoności projektu. Podany na następnych slajdach spis treści PZJO może i niekiedy powinien być uzupełniony o punkty specyficzne dla konkretnego projektu.
Plan zapewnienia jakości oprogramowania (PZJO) Styl: PZJO powinien być zrozumiały, lakoniczny, jasny spójny i modyfikowalny. Odpowiedzialność: PZJO powinien być opracowany przez komórkę jakości, zespołu realizującego projekt. PZJO powinien być przejrzany i zrecenzowany przez ciało, któremu podlega dana komórka jakości. Medium: Zwykle PZJO jest dokumentem papierowym. Może być także rozpowszechniony w formie elektronicznej. Zawartość: PZJO powinien być podzielony na 4 rozdziały, każdy dla następujących faz rozwoju oprogramowania: PZJO dla fazy wymagań użytkownika i analizy; PZJO dla fazy projektu architektury; PZJO dla fazy projektowania i konstrukcji; PZJO dla fazy budowy, testowania i instalacji oprogramowania. Ewolucja: PZJO powinien być tworzony dla następnej fazy po zakończeniu fazy poprzedniej.
Plan zapewnienia jakości oprogramowania (PZJO) Styl: PZJO powinien być zrozumiały, lakoniczny, jasny spójny i modyfikowalny. Odpowiedzialność: PZJO powinien być opracowany przez komórkę jakości, zespołu realizującego projekt. PZJO powinien być przejrzany i zrecenzowany przez ciało, któremu podlega dana komórka jakości. Medium: Zwykle PZJO jest dokumentem papierowym. Może być także rozpowszechniony w formie elektronicznej. Zawartość: PZJO powinien być podzielony na 4 rozdziały, każdy dla następujących faz rozwoju oprogramowania: PZJO dla fazy wymagań użytkownika i analizy; PZJO dla fazy projektu architektury; PZJO dla fazy projektowania i konstrukcji; PZJO dla fazy budowy, testowania i instalacji oprogramowania. Ewolucja: PZJO powinien być tworzony dla następnej fazy po zakończeniu fazy poprzedniej.
Spis treści PZJO (1) a - Streszczenie (maksymalnie 200 słów) b - Spis treści c - Status dokumentu (autorzy, firmy, daty, podpisy, itd.) d - Zmiany w stosunku do wersji poprzedniej Informacje organizacyjne 1. Cel 2. Referencje, odsyłacze do innych dokumentów 3. Zarządzanie 4. Dokumentacja 5. Standardy, praktyki konwencje i metryki 5.1. Standardy dokumentacyjne 5.2. Standardy projektowe 5.3. Standardy kodowania 5.4. Standardy komentowania 5.5. Standardy i praktyki testowania 5.6. Wybrane metryki ZJO 5.7. Ustalenia dotyczące sposobu monitorowania zgodności z planem Zasadnicza zawartość dokumentu
Spis treści PZJO (2) 6. Przeglądy i audyty 7. Testowanie 8. Raportowanie problemów i akcje korygujące 9. Narzędzia, techniki i metody 10. Kontrola kodu 11. Kontrola mediów 12. Kontrola dostawców 13. Zbieranie, pielęgnacja i utrzymanie zapisów 14. Szkolenie 15. Zarządzanie ryzykiem 16. Przegląd pozostałej części projektu Dodatek A: Słownik pojęć i akronimów Zasadnicza zawartość dokumentu Numeracja punktów nie powinna być zmieniana. Jeżeli pewien punkt nie ma treści, powinna tam znajdować się informacja „Nie dotyczy”. Informacje nie mieszczące się w tym spisie treści powinny być zawarte w dodatkach. Punkty 3-15 powinny określać jak plany techniczne i zarządzania będą sprawdzane.
Plan zapewnienia jakości oprogramowania (PZJO) Cel: Sekcja ta powinna krótko określać: cel PZJO, rodzaj odbiorcy, produkty programistyczne podlegające PZJO, zamierzone użycie oprogramowania, fazę cyklu życiowego, do którego PZJO się odnosi. Zarządzanie: Sekcja powinna opisywać organizację zarządzania jakością i związane z nią odpowiedzialności i role, bez określania przypisania ludzi do ról i bez określania pracochłonności i harmonogramu. Zalecana jest następująca struktura tego rozdziału: Organizacja: identyfikacja ról w organizacji (kierownik projektu, prowadzący zespołu, inżynierowie oprogramowania, bibliotekarze oprogramowania, prowadzący weryfikację i walidację , inżynier ZJO), opis związków pomiędzy rolami, opis interfejsu z organizacją użytkownika. Zadania: Opisuje zadania ZJO, które będą wykonywane w tej fazie. Odpowiedzialności: Opisuje odpowiedzialność poszczególnych ról za poszczególne zadania oraz ustala kolejność wybranych zadań.
Plan zapewnienia jakości oprogramowania (PZJO) Dokumentacja: Identyfikuje wszystkie dokumenty, które będą wyprodukowane w tej fazie. Sekcja powinna ustalać jak te dokumenty będą sprawdzane na zgodność ze standardami. Standardy, konwencje metryki. Opisuje je detalicznie lub zawiera odsyłacze do innych dokumentów. Przeglądy i audyty. Identyfikuje techniczne przeglądy, przejścia, inspekcje, audyty mające zastosowanie w tej fazie, oraz cel każdego z nich. Opisuje sposoby monitorowania zgodności tych procedur z planem oraz rolę personelu ZJO w tych procedurach. Testy. Opisuje w jaki sposób czynności weryfikacji i walidacji oprogramowania będą monitorowane i w jaki sposób będą sprawdzane testy akceptacyjne . Raportowanie problemów i akcje korygujące. Identyfikuje procedury zgłaszania problemów oraz podejmowania akcji mających na celu usunięcie problemów. Może opisywać metryki stosowane do procedur zgłaszania problemów mające wpływ na jakość oprogramowania.
Plan zapewnienia jakości oprogramowania (PZJO) Kontrola kodu. Procedury stosowane do pielęgnacji, przechowywania, zabezpieczania i dokumentowania kodu oprogramowania. Kontrola mediów. J.w., ale dotyczy mediów, na których oprogramowanie i dokumentacja będą przechowywane. Kontrola dostawców. Procedury stosowane do kontroli zewnętrznych organizacji lub osób, które rozwijają lub dostarczają oprogramowanie niezbędne dla projektu. Procedury powinny określać standardy, które mają być stosowane przez dostawców, oraz powinny określać sposoby kontroli przestrzegania tych standardów. Zbieranie, pielęgnacja i utrzymanie zapisów. Identyfikuje procedury stosowane do przechowywania informacji zebranych ze wszelkich aktywności, takich jak spotkania, przeglądy, przejścia, audyty, notatek, korespondencji. Powinny określać gdzie te informacje/dokumenty są przechowywane i jak długo, oraz określać sposób dostępu do tych informacji.
Literatura Sommerville I.: Inżynieria oprogramowania. WNT 2003 Pressman R.S.: Praktyczne podejście do inżynierii oprogramowania. WNT 2004 Wykłady prof. Kazimierza Subiety
Dziękuję za uwagę