środa, 17 sierpnia 2016

Przyszłość testowania oprogramowania

Wkrótce w czasopiśmie "Professional Tester" ukaże się artykuł Bogdana Berezy pod tytułem "The Futurology of Software Testing".

Prenumerata jest darmowa, więc warto mieć dostęp do tego najstarszego w Europie pisma dotyczącego testowania oprogramowania.

A jaka to będzie przyszłość, zdaniem autora artykułu?

The Futurology of Software Testing [fragmenty]

[...]
So, let the show begin! I have chosen four crystal balls, each looking into a different possible future.

[...]
It happens to me that I teach an [...] ISTQB course  from Monday to Wednesday, and a BPM or BPMN course on Thursday and Friday. Then an abyss of realisation opens in front of me – why, for God’s sake, neither ISTQB nor PRINCE 2, nor PMI, nor ITIL, uses BPMN diagrams to describe their “fundamental(istic) processeses”, but relies on logorrhea instead? [...]

[...]

Testing has developed and grown very, very much indeed during the last 20 years, but alas the development has gone in the direction of what I called test hacking rather than in the direction of quality thinking on all levels. Testing as profession has become the domain of nimble-fingered test execution tools’ programmers, with really great ability to automate anything. However, testing as a general approach, [...] has not developed at all. On business analysis level, and on requirements engineering level, testing is still in its infancy, with naïve, stone age gut-feeling approach dominant.

[...]
Sometimes, while explaining the intricacies of 2-switch coverage in state transition testing to some poor victims of HR departments’ ISTQB obsession, I get a very good question: “how does the choice between 1-switch and 2-switch coverage translate into customer satisfaction?”.
Needless to say, my answer is “it depends”
[...].

[...]
When everything changes, nothing changes

In the summer of 1628, the captain responsible for supervising construction of the ship, Söfring Hansson, arranged for the ship's stability to be demonstrated […]. Thirty men ran back and forth across the upper deck to start the ship rolling, but the admiral stopped the test after they had made only three trips, as he feared the ship would capsize. […] Fleming remarked that he wished the king – who had been sending a steady stream of letters insisting that the ship put to sea as soon as possible - were at home.

 

wtorek, 16 sierpnia 2016

Newsletter 2/2016

Link do Newsletter'a
Zapisy na semestr jesienny wrzesień - grudzień 2016 już ruszyły.
   
W polskiej branży IT nagminnie mylone są ze sobą zawody i zadania informatyka, programisty, technika instalatorainżyniera oprogramowania, projektanta systemów, a nawet specjalisty w dziedzinie, dla której tworzone jest dane oprogramowanie. To jakby mieszać kompetencje sprzedawcy samochodów z umiejętnościami budowniczego, który zbudował sklep z samochodami >> więcej

Według The Standish Group Chaos Report 2015, główną przyczyną niepowodzeń projektów IT są niedostatki analizy biznesowej, inżynierii wymagań oraz organizacji i współpracy.

Od wielu lat, w Szwecji funkcjonuje system yrkeshögskolor, czyli "zawodowych szkół wyższych". Programy nauczania w yrkeshögskolor tworzone są w ścisłej współpracy z przedstawicielami gospodarki, zgodnie z rzeczywistymi potrzebami firm, na czym korzystają oczywiście firmy, ale najbardziej absolwenci, których ponad 85% otrzymuje pracę zaraz po ukończeniu szkoły.
>> więcej


Czy wobec tego trzeba koniecznie zatrudniać nowych pracowników? Jak wiadomo, koszty rekrutacji, a zwłaszcza koszty nieudanej rekrutacji, są ogromne... >> więcej

Jesteśmy dla Ciebie, jeśli albo pracujesz już od wielu lat, albo właśnie skończyłeś studia, albo szkołę średnią... i dowiedziałeś się, że w Twojej dziedzinie nie ma pracy. >> więcej

niedziela, 14 sierpnia 2016

Potrzebni są technicy i administratorzy

W polskiej branży IT nagminnie mylone są ze sobą zawody i zadania informatyka, programisty, technika instalatorainżyniera oprogramowania, projektanta systemów, a nawet specjalisty w dziedzinie, dla której tworzone jest dane oprogramowanie. To jakby mieszać kompetencje sprzedawcy samochodów z umiejętnościami budowniczego, który zbudował sklep z samochodami, architekta samochodowych salonów sprzedaży, a nawet kierowcy – bo przecież wszyscy „mają coś wspólnego z motoryzacją”.


Skutki tych nieporozumień widać gołym okiem. W większości ogłoszeń o pracy dla informatyków wymaga się od kandydatów – zupełnie bez potrzeby – wyższego wykształcenia. Programista aplikacji mobilnych, znający język programowania Java oraz system operacyjny Android, ma z tytułu inżyniera albo magistra inżyniera tyle korzyści, ile murarz zbrojarz z dyplomu inżyniera budownictwa, czyli zero.

Nie potrzeba tytułu magistra, aby być administratorem systemów, budować witryny www czy wykonywać standardowe prace przy obsłudze i budowaniu systemów IT. Powierzanie osobom po cztero- lub pięcioletnich studiach zadań, do których wystarczy nauka roczna czy dwuletnia, to ogromne marnotrawstwo.

Wśród informatyków, którzy naprawdę mają ambicje pracy w charakterze informatyków inżynierów, a nie techników, rodzi to frustracje. „Czy po to uczyłem się przez cztery lata informatyki, żebym teraz miał pisać trochę kodu w Phytonie albo budować witryny w WordPress?” – narzekają absolwenci wyższych studiów.




Bardzo trafne spostrzeżenia. Większa rzesza pracodawców jak i układających plany edukacji w Polsce powinna się z tym artykułem zapoznać. Dzięki za ten artykuł!

Co powinni umieć fachowcy IT?

Pracodawcy nie bardzo wiedzą, czego naprawdę potrzebują, więc na wszelki wypadek domagają się od pracowników zarówno ogólnego, wyższego wykształcenia informatycznego, jak i szczegółowych, drobiazgowych umiejętności technicznych. To powoduje, że przedmioty informatyczne lub z zakresu inżynierii oprogramowania nie są wśród studentów zbyt popularne. Zgodnie z preferencjami pracodawców, cenione są bardziej kursy modnych i szeroko stosowanych technologii niż wiedza ogólna i teoretyczna.

Trzeba jednak pamiętać, że IT nie jest tym samym co informatyka. IT to przede wszystkim umiejętność zastosowania rozwiązań informatycznych w biznesie, dziedzina interdyscyplinarna.
Tak naprawdę fachowcom IT potrzebne są dwa rodzaje umiejętności: te czysto techniczne oraz szersze, obejmujące jak największy zakres inżynierii oprogramowania. Z punktu widzenia potrzeb przemysłu IT to są odmienne rodzaje wiedzy, inne umiejętności, tak jak w budownictwie potrzebni są architekci, projektanci, inżynierowie różnych typów, technicy, fachowi robotnicy.

Technicy IT nie potrzebują wyższych studiów – to przesąd z czasów, kiedy informatyka nie była jeszcze masowym przemysłem IT. Na razie nasi pracodawcy tego nie wiedzą i dlatego studenci muszą pozyskiwać te detaliczne, modne w danej chwili certyfikaty, „łapać” popularne technologie, bo inaczej nie dostaną pierwszej pracy.

Technicy IT zwiększają wydajność firm

Odczuwany i deklarowany przez branżę IT brak fachowców można znacznie złagodzić, zatrudniając do wielu prac techników IT, z jedno- dwuletnim wykształceniem policealnym, zamiast magistrów po cztero- pięcioletnich studiach. Pozwoliłoby to także uzyskać skok jakości i wydajności w wielu obszarach IT, bo inżynierowie oprogramowania, zamiast programować, konfigurować systemy albo robić kopie zapasowe, zajęliby się udoskonalaniem procedur, projektowaniem architektury, inżynierią wymagań czy najlepszymi sposobami zapewnienia jakości.

Skąd brać techników IT?

W Polsce, jeśli chodzi o kształcenie techników IT, oferta szkól policealnych jest uboga i mało konkretna. Zawód zwany przez wiele szkół policealnych obiecująco „technikiem informatykiem” daje wiedzę szeroką, ale zbyt powierzchowną. Poza tym jest trochę kursów z zakresu grafiki komputerowej i tworzenia witryn www, ale przecież to jedynie maleńka cząstka tego, co naprawdę potrzebne jest w przemyśle IT.

Brać przykład ze Szwecji

Obecnie gospodarka szwedzka jest bardziej intensywna technologicznie i bardziej zorientowana na eksport niż polska. Obserwując jej dzisiejsze potrzeby, można z dużym prawdopodobieństwem przewidzieć, jakie za kilka lat będą potrzeby naszej gospodarki.

Przełożenie potrzeb szwedzkiej gospodarki na funkcjonowanie systemu edukacji mogłem obserwować osobiście. Kilkakrotnie w latach 2011–2014 brałem udział w tworzeniu i realizowaniu programów dla szwedzkich szkół policealnych. W szkole „Nackademin” (nackademin.se ) współrealizowałem półtoraroczny kurs dla testerów oprogramowania oraz dwuletni kurs dla inżynierów wymagań (analityków). W Polsce ten ostatni kierunek uwzględnia program studiów magisterskich tylko jednej uczelni (!). 

 Dlatego u nas, z konieczności, wymaganiami zajmują się – lepiej lub gorzej (zwykle gorzej) – kierownicy projektów, analitycy biznesowi, programiści, a niekiedy nawet… testerzy. A w Szwecji – dwuletnie studia policealne! I trzeba dodać, ze w zeszłym roku 85% absolwentów tego kierunku znalazło zatrudnienie jeszcze w czasie trwania nauki. Czyli szwedzki przemysł IT czekał na nich z otwartymi ramionami.

Z kolei w nowo powstałej szkole „Agile Academy” (agileacademy.se), uczestniczyłem w tworzeniu pierwszego w Europie systemu rocznych kursów dla osób – nie programistów – mających w projektach prowadzonych metodykami agile pełnić role testerów, właścicieli produktów i scrum masterów.


O poziomie edukacji techników z zakresu IT w Szwecji można się przekonać, korzystając z wyszukiwarki kursów IT w szkołach policealnych (www.yhguiden.se). W samym tylko rejonie sztokholmskim znajdziemy 43 (tak, czterdzieści trzy!) specjalności. Dzięki temu młodzi ludzie znajdują pracę w IT, nie będąc zmuszani do inwestowania w kosztowne i długotrwałe studia magisterskie (mogą je wybrać później), a przemysł IT dostaje szybko pracowników, których potrzebuje. Wysokie wymagania jakościowe wobec szkół zmniejszają ryzyko, że takimi szkoleniami zajmą się osoby i firmy niekompetentne.

Na marginesie: IT tworzyli geniusze

W początkach IT – mam na myśli lata 40. i 50. zeszłego wieku – tworzenie programów było rodzajem rzemiosła, tyle że z powodu swego zawiłego i matematycznego charakteru oraz ekskluzywności branży rzemieślnikami byli wybitni matematycy, fizycy, inżynierowie. Inteligencja i wysokie kwalifikacje ogólne tych rzemieślników gwarantowały, że radzili sobie dobrze nawet wtedy, gdy brakowało im metod i procedur. Umieli je stwarzać sobie na bieżąco, w miarę potrzeby.
Informatyka zmieniła się od tego czasu z dyscypliny akademickiej oraz rozrywki nielicznych geniuszy matematycznych w powszechny przemysł informatyczny, którego wielomilionowa armia pracowników tworzy i współtworzy produkty wykorzystywane przez wielomiliardową populację mieszkańców Ziemi.

Tylu geniuszy nie ma na świecie, więc programy muszą pisać, konfigurować, utrzymywać i budować zwykli śmiertelnicy. Muszą, co jeszcze trudniejsze, robić to i szybko, i skutecznie, i niezawodnie. Nawet geniusze współczesnego IT nie są już geniuszami informatyki ani matematyki, lecz wzornictwa (np. Steve Jobs), świetnego marketingu niezbyt oryginalnych pomysłów (np. Zuckerberg) albo projektowania pod kątem potrzeb klienta (twórcy Google).