Firmy zajmujące się tworzeniem oprogramowania, poza potrzebą optymalizowania kosztów produkcji, prowadzenia zakrojonych na szeroką skalę kampanii marketingowych i nieustannego dopasowywania profilu działalności do oczekiwań klientów szczególną wagę przywiązują do jakości oferowanych produktów. Nikt chyba nie ma dziś wątpliwości, że w warunkach gospodarki rynkowej to właśnie jakość oferowanego produktu ma kluczowe znaczenie w procesie zdobywania przewagi konkurencyjnej.
W różnych firmach owe „zorientowanie na jakość” rozumiane i realizowane jest w różny sposób. W jednym przedsiębiorstwie hołduje się doktrynie „Good Enough Quality”, nie do końca rozumiejąc jej zasady, używając jej raczej jako zwrotu-wytrycha umożliwiającego releasowanie kolejnych wersji. W innym znowu, co prawda do jakości przykłada się odpowiednią miarę, ale zamiast poprawiać procesy od najwcześniejszego etapu budowy systemu począwszy, w nieskończoność testuje się i poprawia, testuje i poprawia i znowu testuje… a klienci w tym czasie – kupują produkt firmy konkurencyjnej.
Są również firmy, które terminu „jakość” używają – owszem, ale w kontekście „jakoś to będzie…” :).
Zarządzanie jakością w procesie budowy systemu informatycznego nie jest sprawą ani prostą, ani intuicyjną. Software Quality Assurance, to w dużym uproszczeniu szereg rozłożonych w czasie i skoordynowanych działań, polegających na ciągłym lokalizowaniu i ulepszeniu niedoskonałych procesów oraz kontroli ich realizowania w celu osiągnięcia poprawy jakości produktu. Są to praktyki i metody zorientowane bardziej na likwidację przyczyn niż na naprawę szkód.
No tak. Mamy już ciągłe zmiany w szeroko rozumianym otoczeniu firmy, teraz doszły ciągłe zmiany procesów w samym przedsiębiorstwie a do tego jeszcze ta permanentna kontrola ! Jak zapanować nad tym chaosem? Odpowiedź jest prosta i krótka : Agile. Zwinne metodyki prowadzenia projektów informatycznych nieprzypadkowo wdarły się przebojem do większości światowych koncernów produkujących oprogramowanie i rynek polski nie jest tutaj wyjątkiem. Dopiero połączenie sił umiejętnie stosowanych praktyk związanych z „Software Quality Assurance” oraz zwinnych, agilowych metod prowadzenia projektów, np. Scrum‘a, daje firmie optymalne warunki do zdobywania przewagi konkurencyjnej na niełatwym rynku oprogramowania komputerowego.
Do takiego właśnie rozwiązania, chciałbym Państwa gorąco na tym blogu namawiać, opisując poszczególne praktyki, metody i narzędzia z obszaru Zarządzania Jakością Oprogramowania oraz metodyk Agile.