Agile i testowanie: stare błędy w nowej odsłonie?



Podobne dokumenty
Opisy szkoleń dla certyfikatów Agile Scrum.

Zarządzanie projektami na podstawie ryzyka Stowarzyszenie Inżynierii Wymagań wymagania.org.pl

Acceptance Test Driven Development wspierane przez narzędzie ROBOT Framework. Edyta Tomalik Grzegorz Ziemiecki

Akademia testera oprogramowania i systemów IT Poziom I specjalista testowania (56 h) kurs dzienny

PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK

Wskazówki projektowe. Programowanie Obiektowe Mateusz Cicheński

Asystent/ka IT nowe kompetencje zawodowe (56 h) kurs weekendowy

Szkolenia zgodne z sylabusem ISTQB.

Testowanie według modelu (MBT) Stowarzyszenie Inżynierii Wymagań wymagania.org.pl

Zarządzanie testowaniem wspierane narzędziem HP Quality Center

Programowanie zespołowe

Dobry Product Backlog Oferta szkolenia dla Product Ownerów

Źródła dumy zawodowej testera oprogramowania

Międzynarodowa Rada Inżynierii Wymagań. The International Requirements Engineering Board (IREB e.v.) Szkolenia IREB w CTS.

Agile vs PRINCE /2015 I rok st. magisterskie Informatyka

SYSTEMY INFORMATYCZNE ćwiczenia praktyczne

Wsparcie narzędziowe zarządzania ryzykiem w projektach

blogomocja.blogspot.com wymagania.org.pl

Scrum. Zwinna metodyka prowadzenia projektów

Katalog szkoleń certyfikowanych Testowanie Oprogramowania

Studia podyplomowe PROGRAM NAUCZANIA PLAN STUDIÓW

Zarządzanie projektami w NGO

Etapy życia oprogramowania

Piotr Ślęzak. Gdzie się podziała jakość

Wszystkie problemy leżą w testach. ForProgress spółka z ograniczoną odpowiedzialnością sp.k.

Oferta szkoleń firmy Code Sprinters

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

Agile Project Management

SCRUM niełatwe wdrażanie metodyki w praktyce. Adam Krosny

Podejście tradycyjne. plan wykonanie sekwencyjna natura wykonywanych zadań

Główne założenia XP. Prostota (Simplicity) Komunikacja (Communication) Sprzężenie zwrotne (Feedback) Odwaga (Agressiveness)

SCRUM Product Owner - wstęp do zarządzania produktami

Zwinna współpraca programistów i testerów z wykorzystaniem BDD i. by Example (JBehave/Spock/SpecFlow)

Oszacowanie kosztów i korzyści metod zwinnych. WARSZTAT III 24 września 2014 Bogdan victo.eu

Umowy w branży IT. Jak je konstuować, żeby uniknąć późniejszych nieporozumień. Tomasz Wiese Łukasz Marszał

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Konkurs inżynierii wymagań RE-Challenge 15 maja 2015

Estimation and planing. Marek Majchrzak, Andrzej Bednarz Wroclaw,

Planowanie i realizacja zadań w zespole Scrum

KILKA SŁÓW O ROLI PRODUCT MANAGERA

Programowanie obiektowe

Szkoła Project Managerów Kurs przygotowujący do certyfikacji IPMA na poziomie D 176 godzin

Wprowadzenie do metodyki SCRUM. mgr inż. Remigiusz Samborski Instytut Informatyki Politechnika Wrocławska

Programowanie Zespołowe

lub na

Zarządzanie projektami IT metodyką SCRUM. Cezary Kamiński

Wsparcie narzędziowe zarządzania ryzykiem w projektach. Spotkanie 3 Zbigniew Misiak (BOC IT Consulting)

Rola testów. łatwiej czy trudniej? Wydział MiNI Politechnika Warszawska

Katalog szkoleń certyfikowanych Testowanie oprogramowania

Zarządzanie projektami. Zarządzanie ryzykiem projektu

Jak być agile w projekcie utrzymaniowym? JOANNA SIEMIŃSKA

Przewodnik egzaminacyjny. EXIN Agile Scrum. Wydanie

certyfikacji IREB Warsztaty on-line 12 listopada 2015 blogomotion.com/download/prakt-ireb.pdf

AGILE PRODUCT MANAGEMENT. Szkolenie uczące, jak tworzyć i zarządzać produktami w dynamicznie zmieniającym się otoczeniu.

Optymalizacja Automatycznych Testów Regresywnych

INŻYNIERIA OPROGRAMOWANIA

kompetencji zawodowych Professional Scrum Master I, Certified Scrum Master I Mirosław Dąbrowski zespół Indeed wprowadzenie Scruma

Testowanie w procesie Scrum

Część I - Załącznik nr 7 do SIWZ. Warszawa. 2011r. (dane Wykonawcy) WYKAZ OSÓB, KTÓRYMI BĘDZIE DYSPONOWAŁ WYKONAWCA DO REALIZACJI ZAMÓWIENIA

Plan studiów niestacjonarnych I stopnia (inżynierskich) 2015/16

Szybkość w biznesie. Zwinne testowanie oprogramowania (Agile) Mateusz Morawski (mateusz.morawski@hp.com) 14 kwietnia 2015

Application Security Verification Standard. Wojciech Dworakowski, SecuRing

Projektowanie oprogramowania. Termin zajęć: poniedziałek, a podstawie materiału ze strony.

Testujemy dedykowanymi zasobami (ang. agile testers)

Zarządzanie Projektami IT. - Nowoczesny Project Manager Nowość

Certyfikowane szkolenia testerzy.pl to uznana ścieżka szkoleniowa ISTQB dla testerów.

Inżynieria oprogramowania - opis przedmiotu

Wykaz osób w postępowaniu o udzielenie zamówienia publicznego nr 32-CPI-WZP-2244/13. Podstawa do dysponowania osobą

Szkolenie: Dobry Kierownik Testów


Oferta szkoleniowa. ISTQB Poziom Podstawowy (Foundation Level) Opis szkolenia:

Metody wytwarzania oprogramowania. Metody wytwarzania oprogramowania 1/31

Dni: 3. Opis: Adresaci szkolenia

Zarządzanie ryzykiem w projektach informatycznych. Marcin Krysiński marcin@krysinski.eu

Egzamin / zaliczenie na ocenę*

Usługa: Audyt kodu źródłowego

Przypadki bez przypadków. Jak dobierać scenariusze testowe.

Analiza biznesowa a metody agile owe

Tester oprogramowania

Zarządzanie projektami. Wykład 2 Zarządzanie projektem

Wsparcie narzędziowe zarządzania ryzykiem w projektach

Wymagania: umiejętność modelowania systemów informatycznych z wykorzystaniem UML. umiejętność definiowania i kreatywnego rozwiązywania problemów

Narzędzia CASE dla.net. Łukasz Popiel

Jak patrzymy na testy czyli Jak punkt widzenia zależy od punktu siedzenia. Click Piotr Kałuski to edit Master subtitle style

Skuteczne zarządzanie zespołem. Scrum

Projekty są wszędzie rola stowarzyszenia IPMA Polska we wspieraniu działalności firm i organizacji

ZARZĄDZANIE PROJEKTEM EUROPEJSKIM + praktyczne informacje dotyczące pozyskiwania środków z funduszy unijnych

Zaawansowane programowanie w języku C++

Programowanie zwinne - wprowadzenie. Programowanie ekstremalne. Wstęp Reguły i praktyki SCRUM. Wprowadzenie Role Zdarzenia Artefakty

Zarządzanie projektami. Porównanie podstawowych metodyk

SCRUM. Metodyka prowadzenia projektów. Na podstawie prezentacji B. Kuka i W. Sidora

Metody testowania oprogramowania w cyklu wytwarzania aplikacji. Milena Sobolewska. Rule Financial - Software Test Engineer

Lista przykładowych pytań do egzaminu z przedmiotu Inżynieria Oprogramowania

Behavior Driven Development (BDD)

Lekkie metodyki. tworzenia oprogramowania

Zarządzanie Projektami Plan kursu

PRZEWODNIK PO PRZEDMIOCIE

KIERUNKOWE EFEKTY KSZTAŁCENIA KIERUNEK STUDIÓW INFORMATYCZNE TECHNIKI ZARZĄDZANIA

Transkrypt:

Agile i testowanie: stare błędy w nowej odsłonie? Jak się nauczyć ich unikać? Prezentacja dostępna: victo.eu/ptaq (nie ptaq!) Bogdan Bereza >>> bogdan.bereza@victo.eu

AUTOREKLAMA 1 hustef.hu youtube.com/watch?v=vszl94wgac8&feature=player_embedded

AUTOREKLAMA 2 youtube.com/watch?v=pj23xljbeai

AUTOREKLAMA 3 agileacademy.se

REKLAMA 1 computerworld.pl/konferencja/testyagile

REKLAMA 2 computerworld.pl/konferencja/testyeksplor

REKLAMA 3 computerworld.pl/konferencja/psychologia

REKLAMA 4 computerworld.pl/konferencja/inzynieria

Tylko moda? Proces jak wiele? Nowomowa? Awans społeczny? Konkret: Stare, dobre błędy: Jak ich unikać?

Przejściowa, histeryczna moda Tylko moda? Proces jak wiele? Nowomowa? Awans społeczny? Konkret: Stare, dobre błędy: Jak ich unikać?

Aristotle's Error or Agile Robert C. Martin Smagile Posted by rmartin on September 2, 2003 at 8:53 PM PDT Trafna obserwacja: przedmioty spadają Teoria: pierwiastki (ziemia, woda, powietrze, ogień i eter); przyciąganie pierwiastków powoduje spadanie Błędny wniosek: cięższe przedmioty spadają szybciej He determined a reasonable set of meta-rules for the universe and simply decided that they were true

Aristotle's Error or Agile Smagile Posted by rmartin on September 2, 2003 at 8:53 PM PDT Robert C. Martin Przykład z IT: Strukturalne języki programowania, Edsger Dijkstra (1960-1970) Cel: możność dowodzenia poprawności Błędny wniosek: strukturalne jest lepsze Zawłaszczona nazwa: Yourdon, Constantine, DeMarco: analiza strukturalna (= dekompozycja funkcjonalna) Rezultat: strukturalny oznaczał dobry, skuteczny i nowoczesny (1970)

Aristotle's Error or Agile Smagile Posted by rmartin on September 2, 2003 at 8:53 PM PDT Robert C. Martin Przykład: Programowanie obiektowe wymyślili Kristen Nygaard i Ole-Johan Dahl (w Algolu!), aby zmienne były dostępne z całego programu, a nie tylko lokalnie = zakładane na kopcu (heap), nie na stosie (stack). Dobry pomysł: Simula-67. Potem zawłaszczyli go inni, tworząc teorie o wyższej jakości (w tym psychologicznej) podejścia obiektowego

Aristotle's Error or Agile Smagile Posted by rmartin on September 2, 2003 at 8:53 PM PDT Robert C. Martin "Agile" and has begun to be used as a prefix that means "good" The word "agile" will [ ] be hijacked by marketers and consultants to mean whatever they want it to mean. It will be used in company names, and product names, and project names, and any other name in order to lend credibility to that name

https://weblogs.java.net/blog/rmartin /archive/2003/09/aristotles_erro.html

Tylko moda? Proces jak wiele? Genialny wynalazek Nowomowa? Awans społeczny? Konkret: Stare, dobre błędy: Jak ich unikać?

Agile to nie tylko proces projektowy, ale humanistyczna filozofia działania: Współpraca Elastyczność Poszukiwanie prawdziwych potrzeb Uznanie nieprzewidywalności tego świata Zbliżenie (na 100% trafne) marketingu / sprzedaży oraz inżynierii wymagań Agile jest też doskonałe do nowych (w porównaniu z latami 60-80) potrzeb IT: gry, apki, WWW, usługi webowe Ach, żebym kiedy dożył tej pociechy, aby te strofy trafiły pod strzechy : agile to STOSOWANA inżynieria oprogramowania Agile, to nie tylko jakiś tam proces (jeden w wielu), lecz proces, w który świadomie WBUDOWANO dobre praktyki inżynierii oprogramowania Dzięki temu, ucząc się zasad procesu, zarazem (na skróty) zdobywa się umiejętności, dawniej wymagające osobnych studiów

Tylko moda? Znacie PROPS? Proces jak wiele? Nowomowa? Awans społeczny? Konkret: Stare, dobre błędy: Jak ich unikać?

PROPS, to był kiedyś (1980-1999 mniej więcej) opisany i stosowany proces w koncernie Ericsson Sprawdzał się bardzo dobrze w tradycyjnych projektach telekomunikacyjnych (centrale, sieci) Takich procesów było na świecie tysiące Całkiem niezły zresztą Choć w praktyce, niekiedy wydawał się zbyt religijnie przestrzegany Gorzej sprawdzał się w mniejszych, mniej technicznych, bardziej programistycznousługowych projektach Różne procedury i artefakty miały w nim własne, trochę dziwne nazwy Niektórzy zrobili na jego znajomości karierę Agile, to taki PROPS, co przypadkiem zrobił karierę: przereklamowana wielkość

Tylko moda? Proces jak wiele? Nowomowa? Niezwykła skuteczność Awans społeczny? Konkret: Stare, dobre błędy: Jak ich unikać?

Dobrze stosowane metody agile rzeczywiście radzą sobie z problemami organizacyjnymi, których dawniej nie umiano rozwiązać Agile, to nowy sposób (jak kto woli, PARADYGMAT ) radzenia sobie z NIEPEWNOŚCIĄ: śmielszy, mniej neurotyczny, ŻYCZLIWY zmianom (embracing change) Podkreślam: dobrze stosowane. Inaczej to pic na wodę i fotomontaż, proces SKRUMOWATY (scrumish) FILM O MARZENIACH Z niezrozumiałych powodów, ludzie w projektach agile przestrzegają (niekiedy) zasady jakości, które sabotowali, ignorowali i omijali szerokim łukiem w projektach nie-agile. CZEMU? Nie wiem, nie jestem antropologiem kultury!

Tylko moda? Bełkot terminologiczny Proces jak wiele? Nowomowa? Awans społeczny? Konkret: Stare, dobre błędy: Jak ich unikać?

given when - then przypadek testowy DoD Kryterium akceptacyjne Kryteria zakończenia testów Przypadek testowy (akceptacyjny) FitNesse (albo Ogórek), platforma współpracy Takie narzędzie do realizacji automatycznych testów przy użyciu słów-kluczy Kwadranty testowe agile Rodzaje i cele testów Właściciel produktu Product backlog Kierownik projektu Specyfikacja wymagań dla produktu

Najgorsze jest nawet nie to, że stosuje się (bez potrzeby?) nieco odmienną terminologię to już znamy Pierwsza, dobrze opisana metodyka, bardzo podobna do agile, to EVO (Evolutionary Project Management) Toma Gilba z roku 1970 lecz zmasowane udawanie, że to dopiero agile odkryło zasady inżynierii oprogramowania, doskonale znane i opisywane od lat potem było ich wiele, tylko mało kto o tym wie, i można bezkarnie rżnąć wielkich nowatorów. Przypomina się komunistyczna propaganda, opowiadająca o II RP jako o koszmarnych czasach sanacji

Przykład nowomowy: koncepcja three amigos, głosząca, że dobrze jest, jeśli inżynier wymagań, programista i tester... współpracują http://www.scrumalliance.org/community/articles/2013/2013- april/introducing-the-three-amigos

Aufbau der Republik (NRD 1953) Three amigos 1953: Robotnik Boss partyjny Milicjant (Volkspolizei)

Tylko moda? Proces jak wiele? Nowomowa? Awans społeczny? Cenne odświeżenie Konkret: Stare, dobre błędy: Jak ich unikać?

IT cierpi od lat na syndrom swoich matematycznych korzeni, udając, że jest informatyką (computer science) W przeciętnym projekcie IT informatyków jest może 10%. Reszta, to biznes, inżynieria wymagań (dziedzina, wg definicji, interdyscyplinarna), testowanie, grafika komputerowa, HMI, trochę techniki (nie nauki, nie inżynierii) informatycznej typu programowanie, sieci, narzędzia Stąd zasady inżynierii oprogramowania wyrażano językiem nudnym, trudnym, niezrozumiałym, niepraktycznym znacie ISTQB? Terminologia agile ten język odświeża, upraktycznia, czyni przyjaznym i zrozumiałym Ponadto, pewna religijność rytuałów agile zabezpiecza skutecznie przed pokusą powrotu do starych, niedobrych praktyk i to jest może najważniejsze. Agile, to bardzo skuteczna, ale trochę niemoralna INŻYNIERIA DUSZ

Dobry agile owiec kaczor.info ostatnio zainteresowany NLP http://www.psychologia-spoleczna.pl/aktualnosci-czytelnia-58/851-tomasz-witkowksi.html

Wniosek: zachowajmy dyscyplinę metody i jej skuteczność, odrzućmy niemoralne manipulacje: Terminologiczne Zgrywanie się na guru Udawanie, że to jakaś zupełnie nowa informatyka / inżynieria oprogramowania

Tylko moda? Proces jak wiele? Zrobić kasę za wszelką cenę Nowomowa? Awans społeczny? Konkret: Stare, dobre błędy: Jak ich unikać?

www.scrumalliance.org

pmi.org/certification/new-pmi-agile-certification.aspx PMI Agile Certified Practitioner (PMI-ACP)

http://www.agile-tester.org/

https://www.scrum.org/ PSF - Professional Scrum Foundations PSM - Professional Scrum Master PSD - Professional Scrum Developer PSPO - Professional Scrum Product Owner

Tylko moda? Proces jak wiele? Nowomowa? Awans społeczny? Konkret: Skuteczne nauczanie Stare, dobre błędy: Jak ich unikać?

Wszelkie kursy mające w nazwie agile usiłują upiec dwie pieczenie przy jednym ogniu: Nauczanie metody projektowej agile Nauczanie na skróty jakiegoś obszaru inżynierii oprogramowania Scrum master po trochu wszystkiego plus wątpliwej pseudo-psychologii Product owner pół na pół zarządzania projektami oraz inżynierii wymagań (podobny pod tym względem do PRINCE 2) Developer no, nie uczą przecież programowania Dla testerów, oczywiście, nie ma NIC

Tylko moda? Proces jak wiele? Nowomowa? Inżynieria wymagań w agile Awans społeczny? Konkret: Stare, dobre błędy: Jak ich unikać?

Przyrostowo oraz iteracyjnie Podział i hierarchizacja wymagań, zapewnienie jakości, walidacja: zasady MMR, INVEST, DEEP Pozyskiwanie wymagań: prototypowanie, warsztaty wymagań Detailed Estimated Emergent Prioritized Independent Negotiable Valuable Estimable Small Testable Szacowanie pracochłonności na podstawie wymagań: poker

Tylko moda? Proces jak wiele? Nowomowa? Awans społeczny? Konkret: Stare, dobre błędy: Testowanie w agile Jak ich unikać?

Nie istnieje żadna specjalna metoda testowania agile! Natomiast, oczywiście, w projektach agile trzeba testować, a proces testowy w nich trzeba dostosować do specyfiki procesu projektowego tak agile, jak i każdego innego Czyli wiedza, jak testować, zdobyta poza agile, jest w 100% potrzebna także w agile, pod warunkiem, że jest to wiedza ogólna, a nie zdobyta w jednej firmie, specyficzna dla procesu w tej firmie stosowanego Pod tym względem muszę, choć nie lubię, stanąć po stronie ISTQB

W oficjalnej teorii agile testowanie prawie nie istnieje: W praktyce: jak najbardziej scrum.org/portals/0/documents/scrum%20guides/2013/scrum-guide-pl.pdf Przewodnik po Scrumie: Reguły Gry infoq.com/minibooks/scrum-xp-from-the-trenches victo.eu/scrum_z_okopow (strona od 1 grudnia 2013) Scrum oraz XP z okopów (polskie tłumaczenie VI 2014)

80% procent po prostu o TESTOWANIU 20% o testowaniu w metodach agile

To jest w agile dobre: Nacisk na testy jednostkowe oraz na TDD (a przy okazji, udoskonalenie kodu, więc i analiza statyczna) oraz środowiska do automatycznych testów jednostkowych (unit test framework) O ile to się naprawdę realizuje

To jest w agile znakomite: Projektowanie testów akceptacyjnych jako części wymagań (opowieści użytkowników) Zalecenie automatycznych testów akceptacyjnych Koncepcja ATDD FitNesse, Cucumber: testy na podstawie słówkluczy o ile się to robi

Agile a testowanie eksploracyjne Zalecane przez agile, ale nie zawsze dobrze robione: Czy naprawdę kontekstowe? Jak z całą lewą stroną kwadrantów? Nie znalazłem informacji o SBTM Wg wielu zwolenników testów eksploracyjnych, agile nie jest dostatecznie pro-eksploracyjne

Czego brakuje w definicji testów agile? Związek testów podczas przebiegu (sprint) z testami akceptacyjnymi całości Gdzie wykonywać testy regresji po zmianach i naprawach już o zakończeniu przebiegu? Koordynacja testów między przebiegami, które odbywają się równolegle oraz:

Jak dodać zarządzanie ryzykiem do agile? Tradycyjna ocena ryzyka (identyfikacja, analiza) www.erikvanveenendaal.nl PRISMA: Product Risk Assessment for Agile projects

Prawdopodobieństwo (ryzyko techniczne i organizacyjne) Przydzielenie do obszaru ryzyka: Konsekwencje (ryzyko biznesowe)

Jak to wpisać w planowanie przebiegu? I to naprawdę działa User story Story points poker Risk poker Plan testów na kartce A4 Story points poker

Tylko moda? Proces jak wiele? Nowomowa? Awans społeczny? W inżynierii wymagań Konkret: Stare, dobre błędy: Jak ich unikać?

Cała najzupełniej tradycyjna lista błędów: Niejednoznaczne Zbyt ogólnikowe, lub zbyt szczegółowe Brak reprezentacji którejś grupy interesariuszy Zapominanie wymagań Agile ogranicza ryzyko popełniania tych i innych błędów, ale go nie likwiduje!

Tylko moda? Proces jak wiele? Nowomowa? Awans społeczny? Konkret: Stare, dobre błędy: W testowaniu Jak ich unikać?

Czuję się o 30 lat młodszy Testowanie tajemniczo znika z planowania Niejasna rola testerów (zwłaszcza tych nie będących programistami) Brak wskazówek, jak starannie testować, i jak to odnieść do wymagań: Niezawodności Trafności oszacowań różnych atrybutów jakości

Tylko moda? Proces jak wiele? Nowomowa? Awans społeczny? Konkret: W inżynierii wymagań Stare, dobre błędy: Jak ich unikać?

Tylko moda? Proces jak wiele? Nowomowa? Awans społeczny? Konkret: Stare, dobre błędy: Jak ich unikać? W zarządzaniu

Nie wstydzimy się zwykłej psychologii! ale i nie chodzimy też na kursy rozwoju osobistego i inne takie Wybaczcie, zapraszam na:

Tylko moda? Proces jak wiele? Nowomowa? Awans społeczny? Konkret: Stare, dobre błędy: Jak ich unikać? W testowaniu

Stare, dobre: Tom Gilb: karta praw testera w: Hans Schaefer O czym tester powinien pamiętać, nawet o północy (requirementsjournal.com/pl/wiedza/co_tester_wiedziec_powinien.pdf)

Agile i testowanie: stare błędy i nowe możliwości Już wiemy, jak ich unikać! Prezentacja dostępna: victo.eu/ptaq Bogdan Bereza >>> bogdan.bereza@victo.eu