Każda organizacja na świecie zajmuje się inżynierią jakości, niezależnie od tego, czy zdaje sobie z tego sprawę. Sam fakt tworzenia produktu lub usługi wiąże się z koniecznością sprostania wyzwaniu, jakim jest zapewnienie wysokiej jakości. Ignorowanie jakości niemal zawsze prowadziło do katastrofalnych skutków.
W samych Stanach Zjednoczonych koszt oprogramowania niskiej jakości w 2018 roku wyniósł 2,8 biliona dolarów.
Wszyscy poszukują świętego Graala produktów i usług wysokiej jakości: większej liczby klientów i wzrostu, niższych kosztów oraz wyższych marż zysku. Dyscyplina inżynierii jakości wynika z tych poszukiwań, które bynajmniej nie dobiegły końca.
Inżynieria jakości to zestaw metodologii, procesów i zasad, które pomagają organizacji usprawniać procesy biznesowe w celu osiągnięcia określonego poziomu jakości produktów lub usług. Jako bystry specjalista ds. zapewniania jakości z pewnością zauważysz definicję kołową zawierającą słowo jakość, co prowadzi nas do kolejnego pytania:
Czym jest jakość? Jakie są aspekty jakości?
Jakość nie jest łatwa do zdefiniowania, ponieważ ma kilka subiektywnych aspektów. W rzeczywistości filozof i pisarz Robert Pirsig napisał książkę o jakości: „Zen i sztuka konserwacji motocykla”, w której przedstawił swoją metafizykę jakości.
Co ciekawe, jego książka została odrzucona przez 121 wydawców, którzy uznali ją za niskiej jakości. Pirsig jednak nie ustępował, a wydawca numer 122 stwierdził: „Ta książka jest niewiarygodnie błyskotliwa, prawdopodobnie jest dziełem geniusza…” i ją opublikował, po czym sprzedano ponad 5 milionów egzemplarzy.
Pirsig mógł mieć rację, mówiąc, że jakość trudno zdefiniować, ale wszyscy rozumiemy ją intuicyjnie. Jednak jako inżynierowie nie możemy i nie chcemy pozostawić tej kwestii bez dalszego wyjaśnienia, dlatego spróbujemy przedstawić listę aspektów jakości.

Na całym świecie przemysł produkcyjny wykorzystuje różne standardy i podejścia do jakości, aby lepiej ją ustandaryzować, takie jak ISO 9001, Six Sigma i kompleksowe zarządzanie jakością.
Inżynieria jakości w oprogramowaniu
Branża oprogramowania zdała sobie sprawę, że podejście korygujące zalecane przez zapewnianie jakości i kontrolę jakości – znajdowanie i naprawianie błędów po fakcie – osiągnęło granice swoich możliwości.
Inżynieria jakości oferuje rozwiązanie na przyszłość dzięki proaktywnemu i zapobiegawczemu podejściu do wdrażania systemów jakości, które rozwiązują problem jakości dotyczący ogólnie tworzenia oprogramowania, a w szczególności tworzenia produktów.
Pomijając filozofię „jakość zależy od obserwatora”, inżynieria jakości w oprogramowaniu obejmuje dwa aspekty zapewniania wysokiej jakości:
Jakość funkcjonalna, która dotyczy funkcjonalnych aspektów produktu lub rozwiązania programistycznego: Czy wykonuje ono to, czego się od niego oczekuje? Czy jest zgodne ze specyfikacją projektu?
Jakość strukturalna, która dotyczy niefunkcjonalnych aspektów oprogramowania: Czy jest ono niezawodne? Bezpieczne? Wysoce dostępne? Łatwe w utrzymaniu?
Have an account? Log In
Ewolucja i cykl życia inżynierii jakości w oprogramowaniu
Inżynieria jakości oprogramowania przeżywa renesans, a organizacje dokładają wszelkich starań, aby zapobiegać defektom lub wykrywać je tak wcześnie, jak to możliwe.
Doprowadziło to do powstania szeregu nowych narzędzi QE i metod, w tym automatyzacji testów, testowania przesuniętego w lewo, DevOps, DevSecOps, ciągłej integracji i ciągłego wdrażania (CI/CD), SDET, wytwarzania sterowanego testami (TDD) i wytwarzania sterowanego zachowaniem (BDD), zarządzania ryzykiem oraz sztucznej inteligencji.
Wszystkie te elementy razem tworzą nowe podejście do inżynierii jakości.

Rola danych i wskaźników w inżynierii jakości

Powszechnie wiadomo, że dane i wskaźniki mają znaczenie dla jakości. W rzeczywistości są one jednym z głównych sposobów określania, czy inicjatywa z zakresu inżynierii jakości zapuszcza korzenie i działa. Ale o jakich wskaźnikach mówimy?
Wykorzystywanie wskaźników do wprowadzania zmian jest złożonym procesem.
Dziś można uzyskać znacznie więcej danych, niż wiemy, co z nimi zrobić, i łatwo utonąć w tym prawdziwym oceanie. Dlatego ważne jest ustalenie, jakie dane i pomiary są istotne. Parafrazując Rumsfelda: „Strzeżcie się nieznanych niewiadomych!”
Zaryzykuję stwierdzenie, że najbardziej wymowne ze wszystkich są wskaźniki mierzące ostateczne wyniki i rezultaty. W końcu inicjatywy z zakresu inżynierii jakości muszą prowadzić do powstania silniejszej i lepszej firmy. Obejmuje to takie wskaźniki jak:
- Wolumen sprzedaży produktu
- Zadowolenie klientów – a konkretnie rekomendacje klientów kierowane do innych osób
- Liczba i rodzaj zgłoszeń do działu wsparcia
Jednak osiągnięcie tych wskaźników może zająć od kilku miesięcy do nawet kilku lat od wdrożenia, a nikt nie ma aż tyle czasu!

Aby śledzić poprawę jakości w miarę jej zachodzenia, korzystamy ze wskaźników takich jak:
- Koszt jakości
- Wskaźniki defektów
- Pokrycie
- Wskaźniki wydajności i wydań
- Wskaźniki produktywności, sprawności i skuteczności.
Ostatecznie wszystkie dane i wskaźniki powinny pomagać liderom inżynierii jakości z wyprzedzeniem identyfikować ryzyko, minimalizować defekty i dług techniczny, a także zwiększać elastyczność i skracać czas wprowadzenia produktu na rynek.
Dlaczego inżynieria jakości ma znaczenie
PRAWDZIWA HISTORIA: Na początku swojej kariery zarządzałem zespołem programistycznym dostarczającym rozwiązania dla klientów. Pewnego pięknego dnia wybrałem się na rozmowę przedsprzedażową z potencjalnym klientem – nazwijmy go „Frustrated Financial Consultants Inc.” – który chciał internetowej aplikacji do rozliczania czasu pracy i wydatków. Firma Frustrated zatrudniała ponad 1000 konsultantów pracujących dla różnych klientów.
Spotkałem się z ich CTO, który wyjaśnił, że mieli już dość istniejącego, dedykowanego rozwiązania do prowadzenia ewidencji czasu pracy (którego opracowanie zajęło komuś dziewięć miesięcy) i zaczęli przejawiać dość osobliwe zachowanie. Za każdym razem, gdy którykolwiek pracownik klikał łącze służące do wypełnienia wpisu w ewidencji czasu pracy, wyświetlał mu się formularz wyglądający tak:

Jako bystry inżynier QA z pewnością zauważyłeś problem w tym formularzu, wielki jak Wielki Kanion.
Dlaczego, na litość boską, użytkownik miałby wybierać własne imię z listy pracowników!?
Wielu użytkowników, mając ważniejsze rzeczy do zrobienia, zapominało wybrać z listy własne imię, pozostawiając domyślnie wybraną Amy Adams, która miała pecha być pierwszym imieniem na posortowanej liście.
Ale to jeszcze nie wszystko. Biedna Amy Adams była bardzo niezadowolona z tej sytuacji, więc rozwiązano problem, tworząc fikcyjną pracownicę o imieniu A. Aardvark! Nie żartuję!
Od tej pory co tydzień kierownik ds. rozliczeń odkrywał, że A. Aardvark znalazła się na szczycie listy produktywności z nie mniej niż 300–500 dziwnymi godzinami rozliczonymi! Biedna kobieta musiała co tydzień poświęcać pół dnia ze swojego cennego czasu na odnajdywanie osób, które popełniły ten błąd, doprowadzanie do ich kontaktu i nakłanianie ich do jego naprawienia.
I tak A. Aardvark przez kilka miesięcy z rzędu zostawała najbardziej zapracowaną pracownicą miesiąca, osiągając produktywność na poziomie od 6 do 10 razy większym niż zwykle! Przysięgam, że gdybym chciał, nie wymyśliłbym czegoś takiego…

W każdym razie historia ma szczęśliwe zakończenie dla pracowników firmy Frustrated. W ciągu kilku miesięcy opracowaliśmy najnowocześniejszą aplikację do ewidencji czasu pracy, która nie wymagała od pracowników wybierania własnych imion z listy, i wszyscy żyli długo i szczęśliwie!
I oto właśnie, drodzy czytelnicy — dlatego inżynieria jakości ma znaczenie.
More Articles
Czym zajmuje się inżynier jakości?
Inżynierowie jakości oprogramowania stanowią integralną część zespołu zajmującego się projektowaniem i jakością oprogramowania. Nadzorują proces tworzenia oprogramowania — od opracowania koncepcji po realizację — aby zapewnić zgodność oprogramowania z wcześniej ustalonymi standardami jakości.
Certyfikowani inżynierowie jakości wykorzystują techniki ciągłego doskonalenia i różnorodne narzędzia kontroli jakości, aby zapewnić jakość. Działania takie jak działania korygujące i zapobiegawcze służą eliminowaniu wszelkich luk w zakresie jakości.
Aby sprostać zróżnicowanym i wymagającym potrzebom współczesnych organizacji zajmujących się oprogramowaniem, inżynierowie jakości oprogramowania pełnią różnorodne funkcje, w tym związane z projektowaniem, SDET, testowaniem i nie tylko. Zazwyczaj jest to wymagająca rola, która wymaga wielu umiejętności, aby dobrze ją wykonywać, w tym rozwiązywania problemów, usuwania usterek, statystycznego sterowania procesem, testowania oprogramowania, automatyzacji i kontroli jakości.
Amerykańskie Towarzystwo Jakości (ASQ) oferuje inżynierom jakości certyfikat certyfikowanego inżyniera jakości oprogramowania.
Dołącz, aby uzyskać więcej informacji
Przejście od kontroli jakości i zapewniania jakości do inżynierii jakości jest już w pełni zaawansowane. Inżynieria jakości zmieniła sposób tworzenia oprogramowania i nadal ewoluuje.
Zwiększ rozwój swojej firmy SaaS i umiejętności przywódcze. Zapisz się do naszego biuletynu, aby otrzymywać najnowsze informacje dla dyrektorów ds. technologii i aspirujących liderów technologicznych. Pomożemy Ci skalować działalność w mądrzejszy sposób i skuteczniej przewodzić, korzystając z przewodników, zasobów i strategii przygotowanych przez czołowych ekspertów!




