Plan Szkolenia
Software Engineering 5 dni
Dzień 1: Projekt Management
- Zarządzanie projektami a zarządzanie liniowe oraz konserwacja i wsparcie
- Definicja projektu i formularze projektu
- Management – zasady ogólne i zarządzanie projektami
- Management style
- Co jest specjalnego w projektach IT?
- Podstawowy proces projektowy
- Iteracyjny, przyrostowy, kaskadowy, zwinny i odchudzony proces projektu
- Fazy projektu
- Role projektowe
- Dokumentacja projektowa i inne artefakty
- Czynniki miękkie i dobro ludzkie
- PRINCE 2, PMBOK, PMI, IPMA i inne standardy projektowe
Dzień 2: Business Analiza i Requirements Engineering Podstawy
- Definiowanie celów biznesowych
- Business analiza, zarządzanie procesami biznesowymi, doskonalenie procesów biznesowych
- Granica pomiędzy analizą biznesową i systemową
- Interesariusze systemu, użytkownicy systemu, kontekst systemu i granice systemu
- Dlaczego wymagania są konieczne?
- Co nas inżynieria wymagań
- Granica pomiędzy inżynierią wymagań a projektowaniem architektonicznym
- Gdzie często kryje się inżynieria wymagań?
- Inżynieria wymagań w iteracyjnym, odchudzonym i zwinnym rozwoju oraz w ciągłej integracji – FDD, DDD, BDD, TDD
- Podstawowy proces inżynierii wymagań, role i artefakty
- Normy i certyfikaty: BABOK, ISO/IEEE 29148, IREB, BCS, IIBA
Dzień 3: Podstawy architektury i rozwoju
- Programming języki – paradygmaty strukturalne i obiektowe
- Rozwój obiektowy – ile jest historią, ile przyszłością
- Modułowość, przenośność, łatwość konserwacji i skalowalność architektur
- Definicja i rodzaje architektur oprogramowania
- Architektura korporacyjna i architektura systemu
- Programming style
- Programming środowiska
- Programming błędy oraz sposoby ich unikania i zapobiegania
- Modelowanie architektury i komponentów
- SOA, Web Services i mikrousługi
- Automatyczna kompilacja i ciągła integracja
- Ile projektu architektonicznego jest w projekcie?
- Programowanie ekstremalne, TDD i refaktoring
Dzień 4: Zapewnianie jakości i podstawy testowania
- Jakość produktu: co to jest? ISO 25010, FURPS itp.
- Jakość produktu, doświadczenie użytkownika, Model Kano, zarządzanie doświadczeniem klienta i integralna jakość
- Projektowanie zorientowane na użytkownika, persony i inne sposoby na nadanie jakości indywidualnej
- Wystarczająca jakość
- Zapewnienie jakości i kontrola jakości
- Strategie ryzyka w kontroli jakości
- Elementy zapewnienia jakości: wymagania, kontrola procesu, zarządzanie konfiguracją i zmianami, weryfikacja, walidacja, testowanie, testy statyczne i analiza statyczna
- Zapewnienie jakości w oparciu o ryzyko
- Testowanie oparte na ryzyku
- Rozwój oparty na ryzyku
- Krzywa Boehma w zapewnianiu jakości i testowaniu
- Cztery szkoły testowania – która odpowiada Twoim potrzebom?
Dzień 5: Rodzaje procesów, dojrzałość i doskonalenie procesów
- Ewolucja procesu IT: od Alana Turinga, przez Big Blue, po Lean Startup
- Organizacja procesowa i zorientowana na proces
- Historia procesów w rzemiośle i przemyśle
- Modelowanie procesów: UML, BPMN i więcej
- Zarządzanie procesami, optymalizacja procesów, reengineering procesów i systemy zarządzania procesami
- Innowacyjne podejścia procesowe: Deming, Juran, TPS, Kaizen
- Czy jakość (procesu) jest bezpłatna? (Philip Crosby)
- Potrzeba i historia doskonalenia dojrzałości: CMMI, SPICE i inne skale dojrzałości
- Specjalne typy dojrzałości: TMM, TPI (do testowania), Requirements Engineering Dojrzałość (Gorschek)
- Dojrzałość procesu a dojrzałość produktu: jakaś korelacja? Jakiś związek przyczynowy?
- Dojrzałość procesowa a sukces biznesowy: jakaś korelacja? jakiś związek przyczynowy?
- Porzucona lekcja: automatyczne zapobieganie defektom i kolejny krok w Productivity
- Próby: TQM, SixSigma, retrospektywy zwinne, frameworki procesowe
Requirements Engineering - 2 dni
Dzień 1: Pozyskiwanie wymagań, negocjacje, konsolidacja i Management
- Znajdowanie wymagań: co, kiedy i przez kogo
- Klasyfikacja interesariuszy
- Zapomniani interesariusze
- Definiowanie kontekstu systemu – definiowanie źródeł wymagań
- Metody i techniki wzbudzania
- Prototypowanie, persony i pozyskiwanie wymagań poprzez testowanie (eksploracyjne i inne)
- Marketing i pozyskiwanie wymagań – MDRA („Market-Driven Requirements Engineering”)
- Priorytetyzacja wymagań: MoSCoW, Karl Wiegers i inne techniki (w tym zwinny MMF)
- Doprecyzowanie wymagań – zwinna „specyfikacja na przykładzie”
- Negocjowanie wymagań: rodzaje konfliktów, metody rozwiązywania konfliktów
- Rozwiązywanie wewnętrznych niezgodności pomiędzy niektórymi typami wymagań (np. bezpieczeństwo a łatwość użycia)
- Śledzenie wymagań – dlaczego i jak
- Zmiany stanu wymagań
- Wymagania CCM, wersjonowanie i linie bazowe
- Widok produktu i widok projektu na wymagania
- Zarządzanie produktami i zarządzanie wymaganiami w projektach
Dzień 2: Analiza wymagań, modelowanie, specyfikacja, weryfikacja i walidacja
- Analiza to myślenie i ponowne przemyślenie, które dokonujesz pomiędzy wywołaniem a specyfikacją
- Proces wymagań jest zawsze iteracyjny, nawet w projektach sekwencyjnych
- Opisywanie wymagań w języku naturalnym: ryzyko i korzyści
- Modelowanie wymagań: korzyści i koszty
- Zasady stosowania języka naturalnego do specyfikacji wymagań
- Słowniczek definiowania i zarządzania wymaganiami
- UML, BPMN i inne formalne i półformalne zapisy modelowania wymagań
- Używanie szablonów dokumentów i zdań do opisu wymagań
- Weryfikacja wymagań – cele, poziomy i metody
- Walidacja – obejmująca prototypowanie, przeglądy i inspekcje oraz testowanie
- Walidacja wymagań i walidacja systemu
Testowanie - 2 dni
Dzień 1: Projektowanie testów, wykonanie testów i testowanie eksploracyjne
- Projekt testu: po przetestowaniu opartym na ryzyku wybór optymalnego sposobu wykorzystania dostępnego czasu i zasobów
- Projekt testu „od nieskończoności do tego miejsca” – wyczerpujące testowanie nie jest możliwe
- Przypadki testowe i scenariusze testowe
- Projektowanie testów na różnych poziomach testów (od poziomu testów jednostkowych po poziom testów systemowych)
- Projektowanie testów do testów statycznych i dynamicznych
- Projekt testów zorientowany na Business i technikę („czarna skrzynka” i „biała skrzynka”)
- Próba złamania systemu („testy negatywne”) i wspieranie programistów (testy akceptacyjne)
- Projektowanie testów w celu osiągnięcia pokrycia testami – różne miary pokrycia testów
- Projektowanie testów oparte na doświadczeniu
- Projektowanie przypadków testowych na podstawie wymagań i modeli systemów
- Heurystyka projektowania testów i testowanie eksploracyjne
- Kiedy projektować przypadki testowe? – podejście tradycyjne i eksploracyjne
- Opisywanie przypadków testowych – ile szczegółów?
- Wykonanie testu – aspekty psychologiczne
- Wykonanie testów – logowanie i raportowanie
- Projektowanie testów na potrzeby testów „niefunkcjonalnych”.
- Automatyczne projektowanie testów i MBT (testowanie oparte na modelu)
Dzień 2: Organizacja testów, Management i automatyzacja
- Poziomy testów (lub fazy)
- Kto i kiedy przeprowadza badania? – różne rozwiązania
- Środowiska testowe: koszt, administracja, dostęp, odpowiedzialność
- Symulatory, emulatory i wirtualne środowisko testowe
- Testowanie w zwinnym scrumie
- Organizacja i rola zespołu testowego
- Proces testowy
- Automatyzacja testów – co można zautomatyzować?
- Automatyzacja wykonywania testów – podejścia i narzędzia
Opinie uczestników (5)
Metoda nauczania
Negritu - OMNIASIG VIENNA INSURANCE GROUP S.A.
Szkolenie - SoapUI for API Testing
Przetłumaczone przez sztuczną inteligencję
Wszystko mi się podobało, ponieważ jest to dla mnie nowość i widzę wartość dodaną, jaką może wnieść do mojej pracy.
Zareef - BMW South Africa
Szkolenie - Tosca: Model-Based Testing for Complex Systems
Przetłumaczone przez sztuczną inteligencję
Bardzo szeroki omówienie tematu, który obejmował wszystkie wymagane przedwiedzy w sposób odpowiedni do poznawanych w kursie zagadnień.
James Hurburgh - Queensland Police Service
Szkolenie - SpecFlow: Implementing BDD for .NET
Przetłumaczone przez sztuczną inteligencję
Było łatwe do zrozumienia i zaimplementowania.
Thomas Young - Canadian Food Inspection Agency
Szkolenie - Robot Framework: Keyword Driven Acceptance Testing
Przetłumaczone przez sztuczną inteligencję
Ilość ćwiczeń praktycznych.
Jakub Wasikowski - riskmethods sp. z o.o
Szkolenie - API Testing with Postman
Przetłumaczone przez sztuczną inteligencję