Inżynieria jakości
Inżynieria jakości to dyscyplina inżynierii związana z zasadami i praktyką zapewniania i kontroli jakości produktów i usług. W rozwoju oprogramowania jest to zarządzanie, rozwój, obsługa i konserwacja systemów informatycznych i architektur korporacyjnych o wysokim standardzie jakości.
Opis
Inżynieria jakości to dyscyplina inżynierii, która tworzy i wdraża strategie zapewnienia jakości w rozwoju i produkcji produktów, a także rozwoju oprogramowania.
Inżynierowie Jakości skupiają się na optymalizacji jakości produktu, którą W. Edwards Deming zdefiniował jako:
Zasób wiedzy z zakresu inżynierii jakości obejmuje:
- Zarządzanie i przywództwo
- System jakości
- Elementy systemu jakości
- Projektowanie produktu i procesu
- Klasyfikacja cech jakościowych
- Projektowanie danych wejściowych i przegląd
- Weryfikacja projektu
- Niezawodność i łatwość konserwacji
- Kontrola produktu i procesu
- Ciągłe doskonalenie
- Narzędzia kontroli jakości
- Narzędzia zarządzania jakością i planowania
- Techniki ciągłego doskonalenia
- Działania naprawcze
- Akcja prewencyjna
- Statystyczna kontrola procesu (SPC)
- Zarządzanie ryzykiem
Role
Audytor : Inżynierowie ds. jakości mogą być odpowiedzialni za audytowanie własnych firm lub ich dostawców pod kątem zgodności z międzynarodowymi standardami jakości, takimi jak ISO9000 i AS9100 . Mogą być także niezależnymi audytorami podlegającymi organowi audytowemu.
Jakość procesu : Inżynierom ds. jakości można powierzyć zadanie mapowania strumienia wartości i statystycznej kontroli procesu w celu ustalenia, czy istnieje prawdopodobieństwo, że w procesie powstanie wadliwy produkt. Mogą tworzyć plany i kryteria inspekcji, aby zapewnić wykrycie wadliwych części przed ukończeniem.
Jakość dostawcy : Inżynierowie ds. jakości mogą być odpowiedzialni za audyt dostawców lub przeprowadzanie pierwotnych przyczyn i działań naprawczych w ich zakładzie lub nadzorowanie takich działań, aby zapobiec dostawie wadliwego produktu.
Oprogramowanie
Usługi IT są w coraz większym stopniu powiązane w przepływach pracy przekraczających granice platform, urządzeń i organizacji, na przykład w systemach cyberfizycznych, przepływach pracy między przedsiębiorstwami lub podczas korzystania z usług w chmurze. W takich kontekstach inżynieria jakości ułatwia niezbędne, wszechstronne uwzględnienie atrybutów jakości.
W takich kontekstach niezbędne jest całościowe spojrzenie na jakość, od zarządzania po działalność. Inżynieria jakości integruje metody i narzędzia z architekturą korporacyjną , zarządzania produktem oprogramowania , zarządzania usługami IT , inżynierią oprogramowania i inżynierią systemów , a także z zarządzania jakością oprogramowania i zarządzania bezpieczeństwem informacji . Oznacza to, że inżynieria jakości wykracza poza klasyczne dyscypliny inżynierii oprogramowania, zarządzania bezpieczeństwem informacji czy zarządzania produktem oprogramowania, ponieważ integruje zagadnienia związane z zarządzaniem (takie jak strategia biznesowa i IT, zarządzanie ryzykiem, widoki procesów biznesowych, zarządzanie wiedzą i informacjami, zarządzanie wydajnością operacyjną). , względy projektowe (w tym proces tworzenia oprogramowania , analiza wymagań , testowanie oprogramowania ) i względy operacyjne (takie jak konfiguracja, monitorowanie, zarządzanie usługami IT ). W wielu dziedzinach, w których jest stosowana, inżynieria jakości jest ściśle powiązana ze zgodnością z wymogami prawnymi i biznesowymi, zobowiązaniami umownymi i standardami. Jeśli chodzi o atrybuty jakości, dominującą rolę odgrywa niezawodność, bezpieczeństwo i ochrona usług IT.
W inżynierii jakości cele jakościowe są realizowane w procesie współpracy. Proces ten wymaga interakcji w dużej mierze niezależnych aktorów, których wiedza opiera się na różnych źródłach informacji.
Cele dotyczące jakości
Cele jakościowe opisują podstawowe wymagania dotyczące jakości oprogramowania . W inżynierii jakości często zajmują się atrybutami jakości, takimi jak dostępność, bezpieczeństwo, niezawodność i wydajność. Za pomocą modeli jakości, takich jak ISO/IEC 25000 i metod, takich jak metryki pytania o cel, możliwe jest przypisanie metryk do celów jakościowych. Pozwala to zmierzyć stopień osiągnięcia celów jakościowych. Jest to kluczowy element procesu inżynierii jakości, a jednocześnie warunek jego ciągłego monitorowania i kontroli. Aby zapewnić skuteczny i wydajny pomiar celów jakościowych, integracja kluczowych liczb, które zostały zidentyfikowane ręcznie (np. na podstawie szacunków ekspertów lub przeglądów) i automatycznie zidentyfikowanych wskaźników (np. poprzez analizę statystyczną kodów źródłowych lub automatyczne testy regresji) jako podstawa decyzji -robienie jest korzystne.
Aktorzy
Kompleksowe podejście do zarządzania jakością w inżynierii jakości wymaga wielu aktorów o różnych obowiązkach i zadaniach, różnej wiedzy specjalistycznej i zaangażowania w organizacji.
Różne role zaangażowane w inżynierię jakości:
- Architekt biznesowy,
- architekt IT,
- Ochroniarz,
- Inżynier wymagań,
- Menedżer jakości oprogramowania,
- kierownik testów,
- Menadżer projektu,
- Menedżer produktu i
- Architekt bezpieczeństwa.
Zazwyczaj role te są rozproszone ponad granicami geograficznymi i organizacyjnymi. Dlatego należy podjąć odpowiednie środki w celu koordynowania heterogenicznych zadań różnych ról w inżynierii jakości oraz konsolidacji i synchronizacji danych i informacji niezbędnych do realizacji zadań, a także udostępnienia ich każdemu aktorowi w odpowiedniej formie.
Zarządzanie wiedzą
Zarządzanie wiedzą odgrywa ważną rolę w inżynierii jakości. Baza wiedzy inżynierii jakości obejmuje różnorodne ustrukturyzowane i nieustrukturyzowane dane , począwszy od repozytoriów kodu, poprzez specyfikacje wymagań, standardy, raporty z testów, modele architektury korporacyjnej, aż po konfiguracje systemów i dzienniki wykonawcze. Modele oprogramowania i systemów odgrywają ważną rolę w mapowaniu tej wiedzy. Dane z bazy wiedzy o inżynierii jakości są generowane, przetwarzane i udostępniane zarówno ręcznie, jak i za pomocą narzędzi, w kontekście rozproszonym geograficznie, organizacyjnie i technicznie. Najważniejsze jest skupienie się na związane z zapewnianiem jakości , wczesne rozpoznawanie zagrożeń i odpowiednie wsparcie współpracy aktorów.
Skutkuje to następującymi wymaganiami dotyczącymi bazy wiedzy z zakresu inżynierii jakości:
- Wiedza jest dostępna w wymaganej jakości. Do ważnych kryteriów jakości należy spójność i aktualność wiedzy, a także kompletność i adekwatność pod względem szczegółowości w odniesieniu do zadań odpowiednich podmiotów.
- Wiedza jest ze sobą powiązana i identyfikowalna, aby wspierać interakcję między podmiotami i ułatwiać analizę danych. Taka identyfikowalność dotyczy nie tylko wzajemnych powiązań danych na różnych poziomach abstrakcji (np. powiązanie wymagań z realizującymi je usługami), ale także ich identyfikowalności w okresach czasu, co jest możliwe tylko wtedy, gdy istnieją odpowiednie koncepcje wersjonowania. Dane mogą być łączone zarówno ręcznie, jak i (pół)automatycznie.
- Informacje muszą być dostępne w formie zgodnej z wiedzą dziedzinową odpowiednich podmiotów. Dlatego baza wiedzy musi zapewniać odpowiednie mechanizmy transformacji informacji (np. agregacji) i wizualizacji. Koncepcja RACI jest przykładem odpowiedniego modelu przypisywania aktorów do informacji znajdujących się w bazie wiedzy inżynierii jakości.
- W kontekstach, w których podmioty z różnych organizacji lub poziomów współdziałają ze sobą, baza wiedzy na temat inżynierii jakości musi zapewniać mechanizmy zapewniające poufność i integralność.
- Bazy wiedzy inżynierii jakości oferują cały szereg możliwości analizy i wyszukiwania informacji w celu wsparcia zadań podmiotów zajmujących się kontrolą jakości.
Procesy współpracy
Proces inżynierii jakości obejmuje wszystkie zadania realizowane ręcznie i w sposób (pół)automatyczny, których celem jest identyfikacja, spełnienie i pomiar dowolnych cech jakościowych w wybranym kontekście. Proces ten wymaga wysoce współpracy w tym sensie, że wymaga interakcji aktorów, działających w dużej mierze niezależnie od siebie.
Proces inżynierii jakości musi integrować wszelkie istniejące podprocesy, które mogą obejmować procesy o dużej strukturze, takie jak zarządzanie usługami IT , oraz procesy o ograniczonej strukturze, takie jak zwinne tworzenie oprogramowania . Innym ważnym aspektem jest procedura oparta na zmianie, w której zdarzenia związane ze zmianą, takie jak zmienione wymagania, rozpatrywane są w lokalnym kontekście informacji i podmiotów, na które taka zmiana ma wpływ. Warunkiem tego są metody i narzędzia, które wspierają propagację zmian i obsługę zmian.
Celem efektywnego procesu inżynierii jakości jest koordynacja zautomatyzowanych i ręcznych zadań zapewnienia jakości . Przegląd kodu lub wyznaczanie celów jakościowych to przykłady zadań wykonywanych ręcznie, natomiast testy regresyjne i zbieranie metryk kodu to przykłady zadań wykonywanych automatycznie. Proces inżynierii jakości (lub jego podprocesy) można wspomóc takimi narzędziami jak systemy biletowe czy narzędzia do zarządzania bezpieczeństwem.
Zobacz też
- Siedem podstawowych narzędzi jakości
- Zarządzanie inżynieryjne
- Inżynieria produkcji
- Zapewnienie misji
- Inżynieria systemowa
- W. Edwardsa Deminga
Wspomnienia
Linki zewnętrzne
- Txture to narzędzie do tekstowej dokumentacji i analizy architektury IT.
- mbeddr to zestaw zintegrowanych i rozszerzalnych języków do inżynierii oprogramowania wbudowanego oraz zintegrowane środowisko programistyczne (IDE).
- qeunit.com to blog poświęcony kwestiom związanym z QE