Czym jest inżynieria jakości? Ekspercki przewodnik

Discover how to deliver better software and systems in rapidly scaling environments. Join our Community

Inżynieria jakości zmienia sposób, w jaki organizacje podchodzą do tworzenia produktów, integrując kontrole jakości na każdym etapie i zapewniając proaktywne zapobieganie defektom zamiast reaktywnego ich usuwania.

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.

Aspekty 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? 

Get Free Access
Get regular tech leadership wisdom for delivering better software and systems.
Get Free Access

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.

Cykl życia inżynierii jakości.

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

Edwards Deming, guru zarządzania jakością, pomógł japońskim procesom produkcyjnym stać się światowej klasy potęgą w latach 80. i 90.

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…

Zdjęcie archiwalne ciężko pracującej pracownicy miesiąca, A. Aardvark.

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!

Harold Fernandes
Harold Fernandes is a multipotentialite and has worked on the product side and engineering side of multiple startups. He has led software, testing, and UX teams for over 20 years. He is also an international award-winning author and speaker, a certified mindfulness coach, a musician, and a bibliophile. He is at his happiest doing something new!

You may also like