LEKKIE METODOLOGIE WYTWARZANIA OPROGRAMOWANIA
|
|
- Czesław Kowal
- 8 lat temu
- Przeglądów:
Transkrypt
1 LEKKIE METODOLOGIE WYTWARZANIA OPROGRAMOWANIA Wykład 12 Przegląd zwinnych metodologii programowania - ciąg dalszy Jacek Dajda <dajda@agh.edu.pl> Kraków, 17 stycznia 2008
2 Plan wykładu Przegląd metodyk Podsumowanie Strona: 2
3 Adaptive Software Development
4 A daptive S oftware Development 1995, Jim HighSmith, Następna RADidal Software Development Celem metodyki jest wspieranie dużych i skomplikowanych projektów poprzez organizację pracy pozwalającą na łatwiejsze dostosowanie się do zmieniającego środowiska ASD kładzie nacisk na kulturę i filozofię pracy niż na konkretne praktyki, rozwiązania, narzędzia Podobnie jak Scrum, ASD może być traktowane jako tzw. Wrapper dla innych metodologii Chyba jedna z najmniej konkretnych zwinnych metodologii Źrodło: Strona: 4
5 Adaptacyjny model wytwarzania oprogramowania Model kaskadowy Model ewolucyjny Model adaptacyjny Źrodło: Strona: 5
6 Źrodło: Agile S oftware D evelopment Methods. R eview And Analysis Strona: 6
7 Role w zespole Brak ścisłego zarysowania struktury, pojawia się Executive Sponsor W ramach spotkań planistycznych tzw. sesji Joint Application Development (JAD) pojawiają się następujące role: Facilitator Scribe Project manager Customers Developers Strona: 7
8 Feature Driven Development
9 Feature Driven Development Pierwsze prace , projekt dla dużego banku w Singapurze, 15 miesięcy, 50-osobowy Twórcy: Jeff Luca, Peter Coad, Stephen Palmer Dziedziną FDD jest projektowanie aplikacji i organizacja projektu Może współpracować z innymi metodologiami Charakterystyka: duże zespoły, nawet do 500 programistów nadaje się do prowadzenia dużych krytycznych projektów umożliwia większy udział programistów niższego stopnia nadaje się do środowisk wymagających modelu formalnego (kaskadowego) jest to podejście łączące filozofię i lekkość XP z tradycyjnym modelem produktu Strona: 9
10 2 główne etapy procesu Specyfikacja (odkrywanie) listy funckjonalności (wyjście to diagramy UML, Color UML) Źrodło: celem jest pozyskanie jak największej ilości wymagań i zaproponowanie model niekiedy mówi się, że w przypadku FDD pozyskany zakres funckjonalności na tym etapie powinien wynosić 70-80% (dla porównania: model kaskadowy 98%-100%, XP - 60%) Strona: 10
11 2 główne etapy procesu (2) Implementacja rozpoczyna się od podziału funkcjonalności na pakiety, każdy pakiet ma być ukończony w ciągu 1 iteracji (1-3 tygodni) pakiet oznacza działajacą funkcjonalność, użyteczną dla klienta programiści dzielą sie na zespoły dla każdego pakietu (zespoły mogą ulegać zmianie, w zależności od dostępności programistów), za pakiet odpowiada szef danego zespołu każda implementacja pakietu zaczyna się od modelowania (UML) w obrębie zespołu, przygotowywane jest kilka modeli (3 osobowe zespoły), a następnie wybrany najlepszy/najlepsze potem następuje właściwy development (testy jednostkowe, code reviews) Strona: 11
12 Proces Strona: 12
13 Cykl życia projektu Strona: 13
14 Role w zespole Project Manager - odpowiedzialny za administrację i finanse, chroni zespoł Chief Architect - odpowiedzialny za całą architekturę, organizuje sesje projektowe Development Manager - prowadzi implementację, rozstrzyga konflikty Chief Programmer - doświadczony programista, bierze udział w planowaniu i projektowaniu Class Owner - członek Feature Teams, odpowiedzialny za implementację wskazanych klas Domain Expert - klient, użytkownik, sponsor. Odpowiedzialny za przekazywanie wiedzy w danej dziedzinie Domain Manager - zarządza ekspertami, rozstrzyga konflikty Release Manager - śledzi postęp, organizuje krotkie spotkania z głownymi programistami Language Guru - ekspert w danej technologii lub języka Build Engineer - odpowiedzialny za proces integracji Toolsmith - wykonuje drobne aplikacje (np. konwersja formatow) przydatne dla zespołu System Administrator - odpowiedzialny za działanie serwerow Tester - odpowiedzialny za zgodność produktu z wymaganami użytkownika Deployer - przygotowuje system do działania, np. konwertuje potrzebne dane Technical Writer - pisze dokumentacje Strona: 14
15 Praktyki FDD Domain Object Modelling - eksploracja postawionego problemu Developing by Feature - śledzenie postępu projektu na podstawie drobnych funkcjonalności Individual (Class) Code Ownership - każda klasa ma tylko jednego właściela Feature Teams - małe zespoły właścieli klas, organizowane na potrzeby chwili Inspection - stosowanie najlepszych znanych mechanizmow wykrywania błędow Regular Builds - częste i regularna integracja systemu Configuration Management - śledzenie zmian projektu Progress Reporting - raportowanie postępow projektu (od programisty do managera) Źrodło: Strona: 15
16 Parking Lot - przykład Źrodło: Strona: 16
17 Lean Software Development
18 Powstanie Taiichi Ohno ojciec systemu produkcji w Toyota Lata 50, Zrewolucjonizował proces produkcji, Lean Manufacturing, podstawa to: Budować tylko to co jest w tej chwili potrzebne (Just In Time JIT) Eliminować straty wynikające z: Koszty przechowywania Nadprodukcja Oczekiwanie Zbędny ruch Defekty Nieodpowiednie wykorzystanie umiejętności pracowników Przejrzystość środowiska pracy i dobra komunikacja źrodło: Strona: 18
19 Lean w inżynierii oprogramowania Mary and Tom Poppendieck: Lean Software Development: An Agile Toolkit Standardowa produkcja Magazyn Dodatkowe przetwarzanie Nadprodukcja Transport Oczekiwanie Ruch Defekty Inżyniera oprogramowania Częściowe wykonanie pracy Papierkowa praca Ekstra funkcjonalności Produkt nie spełnia wymagań klienta Oczekiwanie na informacje Przełączanie się pomiędzy zadaniami Defekty Strona: 19
20 7 praw i 22 narzędzi 1. ELIMINATE WASTE 1. Seeing waste 2. Value Strip Mapping 2. AMPLIFY LEARNING 3. Feedback 4. Iterations 5. Synchronization 6. Set-Based development 3. DECIDE AS LATE AS POSSIBLE 7. Options thinking 8. The last responsible moment 9. Decision making 4. DELIVER AS FAST AS POSSIBLE 10. Pull systems 11. Queuing theory 12. Cost of delay 5. EMPOWER THE TEAM 13. Self determination 14. Motivation 15. Leadership 16. Expertise 6. BUILD INTEGRITY IN 17. Perceived integrity 18. Conceptual integrity 19. Refactoring 20. Testing 7. SEE THE WHOLE 21. Measurements 22. Contracts Strona: 20
21 Dynamic System Development Method
22 DSDM - wprowadzenie Początek 1994 w Wielkiej Brytanii, na bazie RAD Właściciel: DSDM Consortium Obecnie wersja 4.2 Framework for Business Centered Development (marzec 2003) Od czerwca ogolnie dostępna w ograniczeniem sprzedaży Strona: 22
23 Podstawowe prawa Zaagnażowanie klienta Zwiększenie roli zespółu programistów, większa niezależność Częste dostarczanie nowych funkcjonalnościes. Dostarczane funkcjonalności powinny być oceniane wg ich przydatności dla obecnych celów biznesowych (lepiej skupić się na krytycznych funkcjonalnościach) Iteracyjny model produkcji oprogramowania Wszystkie zmiany można cofnąć Ogólny zakres funckjonalności ustalony przed rozpoczęciem projektu Testowanie w każdym momencie cyklu projektu (TDD) Komunikacja i koraboracja pomiędzy wszystkimi członkami projektu Strona: 23
24 Proces Strona: 24
25 Role w zespole DSDM wyrożnia 15 ról. Najbardziej znaczące to: Developers i Senior Developers - od analizy do testowania. Starsi programiści wyznaczani są na podstawie doświadczenia w danej dziedzinie lub technologi Technical coordinator - odpowiedzialny za architekturę i jakość produktu. Zarządza zmianami w projekcie Ambassador User i Adviser User - przedstawiciele użytkownikow systemu, Ambasador odpowiedzialny jest za całokształt projektu, doradcy specjalizują się w pewnych dziedzinach projektu Visionary - nadaje projektowi kierunek rozwoju, często pomysłodawca systemu Executive Sponsor - daje pieniądze i może podejmować wszystkie decyzje :-) Strona: 25
26 Wybrane techniki Timeboxing - realizacja produktu w umiejętnie rozdzielonych etapach (zasada 80% w 20%) MoSCoW MUST have - funkjonalność niezbędna dla produktu SHOULD have - funkjonalność potrzebna ale nie krytyczna COULD have - funkcjonalność potrzebna jeśli nie wpływa negatywnie na pozostałe i efektywność systemu WOULD have - funkcjonalność ktorą fajnie by było mieć kiedyś Prototyping - tworzenie prototypow fragmentow systemu we wczesnych fazach projektu Testing - DSDM zakłada wysoką jakość, testowanie ciągłe w ramach iteracji Workshop - spotkania (rożnych) przedstawicieli klienta z zespołem w celu ustalenia wymagań, funkcjonalności Strona: 26
27 Podsumowanie
28 Dużo podobieństw Role w zespole Wspólne: klient, programista, coach/faciilator/scrum master, tracker/skryba, sponsor etc. Szczególne: toolsmith, doomsayer Cykl życia projektu Iteracyjność, krótkie wydania Podejście do udziału klienta w projekcie Zaangażowanie i decydowanie o zakresie projektu Planowanie i estymacja Plan zgrubny i zmienny Oparte na optymalizowanych estymatach zespołu Automatyzacje i narzedziowe wsparcie zespołu Ciągła integracja Automatyzacja testów (jednostkowych, integracyjnych, akceptacyjnych) Timeboxing, optymalizacja kosztów Unikanie zbędnych funkcjonalności Efektywna praca w bez nadgodzin Strona: 28
29 Lęki klienta Jego wyobrażenie o problemie jest niekompletne, a to co proponuje jest złe lub niepotrzebne Każda decyzja jest wiążąca i nie da się jej odkręcić Jego przyszłość zależy od pracy innych ludzi (programistow) Płaci za dużo za zbyt mało Nie będzie znał postępow prac Projekt się przedłuży i pochłonie większy budżet Gotowy produkt nie będzie spełniał jego potrzeb Programiści przygotują szajs, ktorego nie będzie się dało używać Programiści będą go chcieli oszukać, nikt nie powie mu prawdy Strona: 29
30 Lęki programisty Nie będzie miał jasno określonych wymagań lub będą one zmienne Klient będzie wymagał zbyt dużo za zbyt małe pieniądze Postawiony problem będzie przerastał jego możliwości lub zajmie mu zbyt dużo czasu Problem zawiera ukryte miny Nikt mu nie pomoże, gdy napotka trudny problem Klient nie doceni jego wysiłku a jedynym wyznacznikiem pracy będą terminy Na nim spoczywa odpowiedzialność za wszystkie niepowodzenia projektu Strona: 30
31 Karta praw klienta Klient ma prawo do długofalowego planowania z uwzględnieniem kosztów i wariantów Klient ma prawo do cotygodniowego wyznaczania priorytetow projektu Klient ma prawo do wglądu w postępy projektu oraz dostępu do działającej wersji aplikacji, ktora zawiera nowe funkcjonalności z każdym tygodniem pracy Klient ma prawo do zmiany terminarza i sposobu redukcji zadań, a także do rezygnacji z projektu w każdej jego fazie Klient ma prawo do zmiany zdania (założeń projektu) bez konieczności płacenia wygorowanych kosztow Strona: 31
32 Karta praw programisty Programista ma prawo do przedstawiania własnych estymat zadań projektowych, a także do ich zmiany Programista ma prawo do produkowania wysokiej jakości kodu niezależnie od okoliczności Programista ma prawo do wiedzy o tym, które zadania są najważniejsze i powinny zostać zrealizowane w najbliższym czasie Programista ma prawo do otrzymywania pomocy ze strony klienta, szefów oraz członków zespołu Programista ma prawo do uczciwego raportowania postepów projektu Strona: 32
33 Metodyki tradycyjne a metodologie zwinne Zakres (wymagania) Zasoby Czas Ryzyko Tradycyjne metodyki Dobrze określony, dobrze zrozumiany, niezmienny Zatwierdzone i dostępne, budżet jest wystarczający, ludzie znają zadania, technologie i narzędzia Ściśle określony, dobrze sprecyzowane cele (milestone'y) Dobrze rozumiane, średnie znaczenie Metodologie zwinne Nie do końca określone, nieznane lub niepewne, podatne na zmiany Nie w pełni dostępne lub zaakceptowane, potrzeba proof of concept, budżget niepewny albo nie pozostawiający pola manewru, potrzeba nowych umiejętności Nie do końca określony (otwarty), cele niesprecyzowane, podatne na zmianę Nowe technologie, nieznane, duże znaczenie Strona: 33
34 Jak wyglądąć będą metodologie wytwarzania oprogramowania za 20 lat? Formalizm/złożoność metodologii Duże skomplikowane projekty Złożone zarządania projektem Trudne panowanie nad projektem? Programowanie strukturalne Szybkie prototypowanie Małe projekty Asembler, C Złoty środek? Być może metody zwinne... Czas Strona: 34
35 Bibliografia Adaptive Software Development Jim Highsmith, Adaptive Software Development: A Collaborative Approach to Managing Complex Systems Jim Highsmith, Agile Project Management: Creating Innovative Products Feature-Driven Development Stephen R. Palmer, John M. Felsing: A Practical Guide to Feature-Driven Development Lean Software Development Mary Poppendieck and Tom Poppendieck: Lean Software Development: An Agile Toolkit Mary Poppendieck and Tom Poppendieck: Implementing Lean Software Development: From Concept to Cash Dynamic System Development Method DSDM Consortium, Jennifer Stapleton: DSDM: Business Focused Development, Second Edition Strona: 35
Lekkie metodyki. tworzenia oprogramowania
Lekkie metodyki tworzenia oprogramowania Programowanie zwinne ( Agile software development) grupa metodyk wytwarzania oprogramowania opartego o programowanie iteracyjne (model przyrostowy). Wymagania oraz
Bardziej szczegółowoSYSTEMY INFORMATYCZNE ćwiczenia praktyczne
SYSTEMY INFORMATYCZNE ćwiczenia praktyczne 12.03.2019 Piotr Łukasik p. 373 email: plukasik@agh.edu.pl / lukasik.pio@gmail.com www.lukasikpiotr.com Zakres tematyczny implementacji projektu informatycznego
Bardziej szczegółowoFeature Driven Development
Feature Driven Development lekka metodyka tworzenia oprogramowania Kasprzyk Andrzej IS II Wstęp Feature Driven Development (FDD) to metodyka tworzenia oprogramowania, która wspomaga zarządzanie fazami
Bardziej szczegółowoKANBAN SCRUM-BAN. Agile PM Zarys AUP
Anna Kulig KANBAN SCRUM-BAN Agile PM Zarys AUP Kanban - jedna z podstaw systemów produkcyjnych Toyoty (Toyota Production System) i pochodnych, opartych o zasadę pull. System pull (w odróżnieniu od systemów
Bardziej szczegółowoAgile vs PRINCE2. 2014/2015 I rok st. magisterskie Informatyka
Agile vs PRINCE2 Ewa Solecka - specjalność ogólna- 1117627 Przemysław Mrozowski specjalność ogólna- 1121130 Michał Roztoczyński specjalność ogólna - 1118910 2014/2015 I rok st. magisterskie Informatyka
Bardziej szczegółowoAgile Project Management
Charles G. Cobb, pmp Zrozumieć Agile Project Management Równowaga kontroli i elastyczności przekład: Witold Sikorski APN Promise Warszawa 2012 Spis treści Wstęp...vii Kto powinien przeczytać tę książkę?...
Bardziej szczegółowoProgramowanie zespołowe
Programowanie zespołowe Laboratorium 4 - modele tworzenia oprogramowania, manifest Agile i wstęp do Scruma mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 14 marca 2017 1 / 21 mgr inż. Krzysztof
Bardziej szczegółowoLeszno 14.03.2013. Jakie są i będą oczekiwania biznesu wobec IT?
Leszno 14.03.2013 Jakie są i będą oczekiwania biznesu wobec IT? Banki stoją w obliczu zmian Uwarunkowania ekonomiczne Regulacje prawne Trendy społeczne Nowe technologie Dzisiaj otoczenie oczekuje innego
Bardziej szczegółowoAkademia ADB Wykład I Praca w grupie i jakość kodu
Akademia ADB Wykład I Praca w grupie i jakość kodu Ale zanim zaczniemy... https://www.adbglobal.com/adb-tech-talk/ Wtorek, 24 X 2017, 18:00 w Filharmonii Zielonogórskiej Kto pracuje nad projektem? Nad
Bardziej szczegółowoZarządzanie projektami. Wykład 2 Zarządzanie projektem
Zarządzanie projektami Wykład 2 Zarządzanie projektem Plan wykładu Definicja zarzadzania projektami Typy podejść do zarządzania projektami Cykl życia projektu/cykl zarządzania projektem Grupy procesów
Bardziej szczegółowoJarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming
Jarosław Kuchta Wymagania jakości w Agile Programming Wady klasycznych metod zapewnienia jakości Duży narzut na dokumentowanie Późne uzyskiwanie konkretnych rezultatów Trudność w odpowiednio wczesnym definiowaniu
Bardziej szczegółowoDobry Product Backlog Oferta szkolenia dla Product Ownerów
Dobry Product Backlog Oferta szkolenia dla Product Ownerów Spis treści Dobry Product Backlog w 1 dzień... 1 Dobry Product Backlog w 2 dni... 3 Informacje o prowadzącej... 5 Dobry Product Backlog w 1 dzień
Bardziej szczegółowoAcceptance Test Driven Development wspierane przez narzędzie ROBOT Framework. Edyta Tomalik Grzegorz Ziemiecki
Acceptance Test Driven Development wspierane przez narzędzie ROBOT Framework Edyta Tomalik Grzegorz Ziemiecki 1 Nokia Siemens Networks 2013 Tradycyjne podejście analityk programista tester implementacja
Bardziej szczegółowoZagadnienia. Inżynieria Oprogramowania
Zagadnienia Co to jest extreme Programming (XP) Czym charakteryzują się tzw. lekkie metodyki zarządzania procesem produkcji oprogramowania Reguły i praktyki XP Dlaczego i kiedy można a w jakich przypadkach
Bardziej szczegółowoWykład VII. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład VII - semestr III Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Wytwarzanie oprogramowania Model tworzenia oprogramowania
Bardziej szczegółowoZarządzanie projektami. Porównanie podstawowych metodyk
Zarządzanie projektami Porównanie podstawowych metodyk Porównanie podstawowych metodyk w zarządzaniu projektami PRINCE 2 PMBOK TENSTEP AGILE METODYKA PRINCE 2 Istota metodyki PRINCE 2 Project IN Controlled
Bardziej szczegółowoTworzenie gier na urządzenia mobilne
Katedra Inżynierii Wiedzy Wykład 3 O czym dzisiaj? Metodyki tworzenia oprogramowania; Praca w zespole; Zarządzanie projektem; Narzędzia wspomagające i dobre praktyki; Zabezpieczenie kodu. Jaki model wybrać?
Bardziej szczegółowoProgramowanie Zespołowe
Programowanie Zespołowe Dobre Praktyki dr Rafał Skinderowicz mgr inż. Michał Maliszewski Parafrazując klasyka: Jeśli piszesz w Javie pisz w Javie - Rafał Ciepiela Principal Software Developer Cadence Design
Bardziej szczegółowoAgile Project Management WHITEPAPER
1 Wstęp... 2 Historia... 2 DSDM ATERN... 3 Agile w zarządzaniu projektami... 4 Szkolenia i certyfikacja... 6 Certyfikaty Agile Project Management Foundation i Practitioner... 6 Szkolenie Agile Project
Bardziej szczegółowoScaling Scrum with SAFe. Małgorzata Czerwińska
Scaling Scrum with SAFe Małgorzata Czerwińska Agenda 1. Wstęp 2. Współpraca zespołów scrumowych 3. Zarządzanie Programem 4. Podsumowanie Wstęp Skuteczność zespołów developerskich, realizujących projekty
Bardziej szczegółowoTestowanie oprogramowania
Testowanie oprogramowania 1/17 Testowanie oprogramowania Wykład 01 dr inż. Grzegorz Michalski 13 października 2015 Testowanie oprogramowania 2/17 Dane kontaktowe: Kontakt dr inż. Grzegorz Michalski pokój
Bardziej szczegółowoOpis metodyki i procesu produkcji oprogramowania
Opis metodyki i procesu produkcji oprogramowania Rational Unified Process Rational Unified Process (RUP) to iteracyjny proces wytwarzania oprogramowania opracowany przez firmę Rational Software, a obecnie
Bardziej szczegółowoBłędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)
Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation) Zarządzanie wymaganiami Ad hoc (najczęściej brak zarządzania nimi) Niejednoznaczna, nieprecyzyjna komunikacja Architektura
Bardziej szczegółowoGłówne założenia XP. Prostota (Simplicity) Komunikacja (Communication) Sprzężenie zwrotne (Feedback) Odwaga (Agressiveness)
Extreme programming Główne założenia XP Prostota (Simplicity) Komunikacja (Communication) Sprzężenie zwrotne (Feedback) Odwaga (Agressiveness) Praktyki Planowanie: Planowanie releasu Planowanie iteracji
Bardziej szczegółowoProgramowanie zwinne - wprowadzenie. Programowanie ekstremalne. Wstęp Reguły i praktyki SCRUM. Wprowadzenie Role Zdarzenia Artefakty
Anna Kulig Programowanie zwinne - wprowadzenie Programowanie ekstremalne Wstęp Reguły i praktyki SCRUM Wprowadzenie Role Zdarzenia Artefakty Agile Manifesto 2001 rok, Snowbird w stanie Utah w USA Najważniejsi
Bardziej szczegółowoModele cyklu życia oprogramowania
Anna Kulig Modele cyklu życia oprogramowania Programowanie zwinne Przyczyny powstania Wprowadzenie Programowanie ekstremalne Wstęp Reguły i praktyki AUP krótki opis metodologii Model cyklu życia systemu
Bardziej szczegółowoZwinna współpraca programistów i testerów z wykorzystaniem BDD i. by Example (JBehave/Spock/SpecFlow)
Program szkolenia: Zwinna współpraca programistów i testerów z wykorzystaniem BDD i Spec Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Zwinna współpraca programistów i testerów
Bardziej szczegółowoLEKKIE METODOLOGIE WYTWARZANIA OPROGRAMOWANIA
LEKKIE METODOLOGIE WYTWARZANIA OPROGRAMOWANIA Wykład 11 Przegląd zwinnych metodologii programowania Jacek Dajda Kraków, 10 stycznia 2008 Plan wykładu Przypomnienie manifestu. informatycznego
Bardziej szczegółowoProgram szkolenia: Wprowadzenie do Domain Driven Design dla biznesu (część 0)
Program szkolenia: Wprowadzenie do Domain Driven Design dla biznesu (część 0) Informacje: Nazwa: Wprowadzenie do Domain Driven Design dla biznesu (część 0) Kod: Kategoria: Grupa docelowa: Czas trwania:
Bardziej szczegółowoProgramowanie Zespołowe
Programowanie Zespołowe Programowanie zwinne dr Rafał Skinderowicz mgr inż. Michał Maliszewski Programowanie zwinne Grupa metodyk wytwarzania oprogramowania oparta na modelu iteracyjno-obiektowym Powstała
Bardziej szczegółowoMetody wytwarzania oprogramowania. Metody wytwarzania oprogramowania 1/31
Metody wytwarzania oprogramowania Metody wytwarzania oprogramowania 1/31 Metody wytwarzania oprogramowania 2/31 Wprowadzenie Syndrom LOOP Late Późno Over budget Przekroczono budżet Overtime nadgodziny
Bardziej szczegółowoScrum i nie tylko : teoria i praktyka w metodach Agile / Krystian Kaczor. Wyd. 2. Warszawa, Spis treści
Scrum i nie tylko : teoria i praktyka w metodach Agile / Krystian Kaczor. Wyd. 2. Warszawa, 2016 Spis treści Przedmowa 12 Wstęp 13 Podziękowania 17 Jak czytać tę książkę? 19 Rozdział 1. W tym szaleństwie
Bardziej szczegółowoUSPRAWNIANIE, DORADZTWO, KONSULTING
USPRAWNIANIE, DORADZTWO, KONSULTING LEAN MANAGEMENT All we are doing is looking at a time line from the moment the customer gives us an order to the point when we collect the cash. And we are reducing
Bardziej szczegółowoProjektowanie oprogramowania. Termin zajęć: poniedziałek, 18.00-19.45. a podstawie materiału ze strony. http://gromit.iiar.pwr.wroc.
Projektowanie oprogramowania Termin zajęć: poniedziałek, 18.00-19.45 a podstawie materiału ze strony http://gromit.iiar.pwr.wroc.pl/p_inf/ Przebieg realizacji projektu (tabela 1) Nr tygo dnia Spotkanie
Bardziej szczegółowoAnaliza biznesowa a metody agile owe
Analiza biznesowa a metody agile owe P6S_WG01 ma wiedzę w zakresie metodyk zwinnych P6S_WG02 ma wiedzę w zakresie zwinnego gromadzenia i zarządzania wymaganiami P6S_WG03 zna i rozumie proces wytwarzania
Bardziej szczegółowoAgile Software Development Perspektywa Członka Zespołu
Agile Software Development Perspektywa Członka Zespołu Bartosz Kiepuszewski, PhD Cutter Consortium we współpracy z Jim Highsmith Director, Agile Project Management Practice Fellow, Cutter Business Technology
Bardziej szczegółowoZarządzanie testowaniem wspierane narzędziem HP Quality Center
Zarządzanie testowaniem wspierane narzędziem HP Quality Center studium przypadku Mirek Piotr Szydłowski Ślęzak Warszawa, 17.05.2011 2008.09.25 WWW.CORRSE.COM Firma CORRSE Nasze zainteresowania zawodowe
Bardziej szczegółowoSCRUM niełatwe wdrażanie metodyki w praktyce. Adam Krosny
SCRUM niełatwe wdrażanie metodyki w praktyce Adam Krosny 1 Czym się zajmujemy Realizujemy projekty informatyczne średniej wielkości Ilość osób w projekcie 10-50 Architektura SOA, EBA Wiele komponentów
Bardziej szczegółowoMetodyki programowania. Tomasz Kaszuba 2015 kaszubat@pjwstk.edu.pl
Metodyki programowania Tomasz Kaszuba 2015 kaszubat@pjwstk.edu.pl Wybrane metodyki zwinne TRADYCYJNE: RUP (Rational Unified Process) spiralny, rozbudowany PRINCE2 (Projects In Controlled Environments)
Bardziej szczegółowoCałościowe podejście do testowania automatycznego dla programistów. (TDD, BDD, Spec. by Example, wzorce, narzędzia)
Program szkolenia: Całościowe podejście do testowania automatycznego dla programistów Ruby (TDD, BDD, Spec. by Example, wzorce, narzędzia) Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania:
Bardziej szczegółowoTematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz
Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, 2004 Zofia Kruczkiewicz 1. Przedstaw znaczenie oprogramowania we współczesnym świecie x 1 2. Jaki wpływ na ludzi, komunikację
Bardziej szczegółowoZagadnienia. Inżynieria Oprogramowania
Zagadnienia Co to jest extreme Programming (XP) Czym charakteryzują się tzw. lekkie metodyki zarządzania procesem produkcji oprogramowania Reguły i praktyki XP Dlaczego i kiedy można a w jakich przypadkach
Bardziej szczegółowoPROJEKTOWANIE ZORIENTOWANE NA UŻYTKOWNIKA W METODYCE SCRUM. Hubert Wawrzyniak Grupa Allegro
PROJEKTOWANIE ZORIENTOWANE NA UŻYTKOWNIKA W METODYCE SCRUM Hubert Wawrzyniak Grupa Allegro PLAN PREZENTACJI 1. Projektowanie zorientowane na użytkownika 2. Model kaskadowy 3. Metodyka scrum 4. UCD w scrumie
Bardziej szczegółowoProjektowanie systemów informatycznych. wykład 6
Projektowanie systemów informatycznych wykład 6 Iteracyjno-przyrostowy proces projektowania systemów Metodyka (ang. methodology) tworzenia systemów informatycznych (TSI) stanowi spójny, logicznie uporządkowany
Bardziej szczegółowoTemat: Zwinne Zarządzanie Projektami IT (Agile / Scrum) Data: 06-07 marca 2014 r. (2 dni, czwartek-piątek), godz. 9-16
Temat: Zwinne Zarządzanie Projektami IT (Agile / Scrum) Data: 06-07 marca 2014 r. (2 dni, czwartek-piątek), godz. 9-16 Miejsce: Eureka Technology Park, Innowatorów 8 Cena: 980 zł netto (1 osoba / 2 dni
Bardziej szczegółowoSzybkość w biznesie. Zwinne testowanie oprogramowania (Agile) Mateusz Morawski (mateusz.morawski@hp.com) 14 kwietnia 2015
Szybkość w biznesie Zwinne testowanie oprogramowania (Agile) Mateusz Morawski (mateusz.morawski@hp.com) 14 kwietnia 2015 Klient Wykonawca...wprowadzamy nowy typ przelewów do aplikacji internetowej. Dodam
Bardziej szczegółowoszkolenia pod drzewem Wybrane Techniki XP bnd 2008 Tomasz Włodarek. Materiał udostępniany na podstawie licencji Creative Commons (by-nc-nd) 1.00.
szkolenia pod drzewem Wybrane Techniki XP 1.00.00 bnd Wybrane techniki XP współwłasność kodu źródłowego (collective code ownership) częsta/ciągła integracja (continuous integration) programowanie w parach
Bardziej szczegółowoOferta szkoleń firmy Code Sprinters
Oferta szkoleń firmy Code Sprinters Code Sprinters sp z o.o. Królewska 2/2 Kraków Telefon +48 12 379 34 14 Fax +48 12 379 34 11 info@codesprinters.com www.codesprinters.com Jako liderzy na rynku szkoleń
Bardziej szczegółowoTematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz
Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, 2004 Zofia Kruczkiewicz 1. Przedstaw znaczenie oprogramowania we współczesnym świecie. x 3 2. Jaki wpływ na ludzi, komunikację
Bardziej szczegółowoZarządzanie projektami. Wykład 2 Czym jest zarządzanie projektami?
Zarządzanie projektami Wykład 2 Czym jest zarządzanie projektami? Plan Czym jest zarządzanie projektami? Jakie są rodzaje podejść do zarządzania projektami? Jakie są grupy procesów w ramach zarządzania
Bardziej szczegółowoWykaz osób w postępowaniu o udzielenie zamówienia publicznego nr 32-CPI-WZP-2244/13. Podstawa do dysponowania osobą
Załącznik nr 8 do SIWZ Wykaz osób w postępowaniu o udzielenie zamówienia publicznego nr 3-CPI-WZP-44/13 Lp. Zakres wykonywanych czynności Liczba osób Imiona i nazwiska osób, którymi dysponuje wykonawca
Bardziej szczegółowoSkuteczność => Efekty => Sukces
O HBC Współczesne otoczenie biznesowe jest wyjątkowo nieprzewidywalne. Stała w nim jest tylko nieustająca zmiana. Ciągłe doskonalenie się poprzez reorganizację procesów to podstawy współczesnego zarządzania.
Bardziej szczegółowoTestowanie aplikacji mobilnych na platformie Android - architektura, wzorce, praktyki i narzędzia
Program szkolenia: Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Testowanie aplikacji mobilnych na
Bardziej szczegółowoEtapy życia oprogramowania
Modele cyklu życia projektu informatycznego Organizacja i Zarządzanie Projektem Informatycznym Jarosław Francik marzec 23 w prezentacji wykorzystano również materiały przygotowane przez Michała Kolano
Bardziej szczegółowoInżynieria oprogramowania (Software Engineering)
Inżynieria oprogramowania (Software Engineering) Wykład 2 Proces produkcji oprogramowania Proces produkcji oprogramowania (Software Process) Podstawowe założenia: Dobre procesy prowadzą do dobrego oprogramowania
Bardziej szczegółowoRozdział 5: Zarządzanie testowaniem. Pytanie 1
Pytanie 1 Dlaczego niezależne testowanie jest ważne: A) Niezależne testowanie jest w zasadzie tańsze niż testowanie własnej pracy B) Niezależne testowanie jest bardziej efektywne w znajdywaniu defektów
Bardziej szczegółowoPlanowanie i realizacja zadań w zespole Scrum
MetaPack IT Academy Uniwersytet Zielonogórski Planowanie i realizacja zadań w zespole Scrum Paweł Przybyła Professional Scrum Master (www.scrum.org) Planowanie i realizacja zadań w zespole Scrum Agenda:
Bardziej szczegółowoOpisy szkoleń dla certyfikatów Agile Scrum. www.cts.com.pl
Opisy szkoleń dla certyfikatów Agile Scrum www.cts.com.pl SPIS TREŚCI Opisy szkoleń dla certyfikatów Agile Scrum...2 Istniejące certyfikacje agile...2 Szkolenia oferowane przez CTS...3 Agile Tester (zgodne
Bardziej szczegółowoOpis realizacji dla czterech zespołów (4 przypadki użycia)
Projektowanie oprogramowania Termin zajęć: czwartek, sala L2.6, C16 7.30-9.00, 9.15-10.45 Na podstawie materiału ze strony http://gromit.iiar.pwr.wroc.pl/p_inf/ Przebieg realizacji projektu (tabela 1)
Bardziej szczegółowoOferta Szkoleniowa.
Oferta Szkoleniowa Organizujemy szkolenia oraz egzaminy umożliwiające certyfikację ISTQB. Jest to najbardziej rozpoznawalny międzynarodowy certyfikat z zakresu testowania oprogramowania. Organizujemy szkolenia
Bardziej szczegółowoZarządzanie Projektami zgodnie z PRINCE2
Zarządzanie Projektami zgodnie z PRINCE2 Opis Metodyka PRINCE2 powstała na bazie doświadczeń z wielu lat dobrych praktyk zarządzania projektami. Metodyka ta oferuje elastyczne i łatwe do adaptacji podejście
Bardziej szczegółowoTechniki komputerowe w robotyce
Techniki komputerowe w robotyce Wykład V Adaptacyjne zarządzanie projektami Robert Muszyński KCiR, W4, PWr Skład FoilTEX c R. Muszyński 2009-2015 Metodologie prowadzenia projektu Dążenie do opracowania
Bardziej szczegółowoWstęp do zarządzania projektami
Wstęp do zarządzania projektami Definicja projektu Projekt to tymczasowe przedsięwzięcie podejmowane w celu wytworzenia unikalnego wyrobu, dostarczenia unikalnej usługi lub uzyskania unikalnego rezultatu.
Bardziej szczegółowoPodstawy programowania III WYKŁAD 4
Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1 Podstawy UML-a 2 UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy.
Bardziej szczegółowoWsparcie narzędziowe zarządzania ryzykiem w projektach
Wsparcie narzędziowe zarządzania ryzykiem w projektach Spotkanie 1 Zbigniew Misiak (BOC IT Consulting) Podyplomowe Studia Menedżerskie Zarządzanie projektami informatycznymi Czym się będziemy zajmować?
Bardziej szczegółowoProgramowanie Zespołowe
Programowanie Zespołowe Scrum+ dr Rafał Skinderowicz mgr inż. Michał Maliszewski Przeznaczenie metodyk Agile Metodyki zwinne Pomagają w projektach osadzonych w dynamicznym środowisku Kiedy konkurencja
Bardziej szczegółowoEwolucyjna architektura
Ewolucyjna architektura www.sxc.hu/photo/850368 Na początek Michał Bartyzel konsultant, trener BNS IT procesy zwinne i nie tylko architektura czysty kod software crafstmanship strategie skutecznych programistów
Bardziej szczegółowoPodejście tradycyjne. plan wykonanie sekwencyjna natura wykonywanych zadań
Metodyka Scrum Podejście tradycyjne plan wykonanie sekwencyjna natura wykonywanych zadań analiza i definiowanie wymagań projektowanie rozwiązań kodowanie rozwiązań testowanie odstępstwo od planu jest kosztowne
Bardziej szczegółowoEtapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania
Etapy życia oprogramowania Modele cyklu życia projektu informatycznego Organizacja i Zarządzanie Projektem Informatycznym Jarosław Francik marzec 23 Określenie wymagań Testowanie Pielęgnacja Faza strategiczna
Bardziej szczegółowomint software Business Solutions Development Team
mint software Business Solutions Development Team kim jesteśmy Tworzymy wyspecjalizowane oprogramowanie dla branży finansowej oraz e-commerce W każdym projekcie nasz zespół jest skupiony na realizacji
Bardziej szczegółowoPlan studiów stacjonarnych drugiego stopnia 2019/2021 Kierunek: Zarządzanie kreatywne B. Moduły kierunkowe obligatoryjne
2019/2021 B. Moduły kierunkowe obligatoryjne 1 Spotkanie z opiekunem roku 1 1 2 2 2 Spotkanie z opiekunem roku 2 2 2 2 3 Spotkanie z opiekunem roku 3 3 2 2 4 Spotkanie z opiekunem roku 4 4 2 2 Zarządzanie
Bardziej szczegółowoAnalityk i współczesna analiza
Analityk i współczesna analiza 1. Motywacje 2. Analitycy w IBM RUP 3. Kompetencje analityka według IIBA BABOK Materiały pomocnicze do wykładu z Modelowania i Analizy Systemów na Wydziale ETI PG. Ich lektura
Bardziej szczegółowoMichał Olejnik. 22 grudnia 2009
Continuous TDD Politechnika Wrocławska Informatyka 22 grudnia 2009 Agenda Wprowadzenie 1 Wprowadzenie 2 3 4 5 Agenda Wprowadzenie 1 Wprowadzenie 2 3 4 5 Agenda Wprowadzenie 1 Wprowadzenie 2 3 4 5 Agenda
Bardziej szczegółowoMODELE CYKLU ŻYCIA OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś
OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś (często stosowany w praktyce do projektów o niewielkiej złożoności) wymagania specyfikowanie kodowanie
Bardziej szczegółowoAGILE PROJECT MANAGEMENT
AGILE PROJECT MANAGEMENT Agile Project Management oparte jest o metodę DSDM Atern (Dynamic Systems Development Method) najstarsze (1995r.) z usystematyzowanych podejść typu Agile na świecie. 1 CTPartners
Bardziej szczegółowoWPROWADZENIE DO UML-a
WPROWADZENIE DO UML-a Maciej Patan Instytut Sterowania i Systemów Informatycznych Dlaczego modelujemy... tworzenie metodologii rozwiązywania problemów, eksploracja różnorakich rozwiązań na drodze eksperymentalnej,
Bardziej szczegółowoTestowanie oprogramowania w środowisku IBM Rational Software Architect
Testowanie oprogramowania w środowisku IBM Rational Software Architect Software Development 2008 Michał Wolski m.wolski@modesto.pl szkolenia: inżynierii oprogramowania zarządzania projektami usługi doradcze
Bardziej szczegółowoProjekt Kompetencyjny - założenia
Projekt Kompetencyjny - założenia sem. V 2013 kgrudzi.kis.p.lodz.pl projekt kompetencyjny 1 System informatyczny zbiór powiązanych ze sobą elementów, którego funkcją jest przetwarzanie danych przy użyciu
Bardziej szczegółowoWstęp do zarządzania projektami
Wstęp do zarządzania projektami Definicja projektu Projekt to tymczasowe przedsięwzięcie podejmowane w celu wytworzenia unikalnego wyrobu, dostarczenia unikalnej usługi lub uzyskania unikalnego rezultatu.
Bardziej szczegółowoZaawansowane programowanie w języku C++
Kod szkolenia: Tytuł szkolenia: C/ADV Zaawansowane programowanie w języku C++ Dni: 3 Opis: Uczestnicy szkolenia zapoznają się z metodami wytwarzania oprogramowania z użyciem zaawansowanych mechanizmów
Bardziej szczegółowoMSF. Microsoft Solution Framework
MSF Microsoft Solution Framework MSF a PMI PMI - metodyka podobna dla każdego rodzaju projektów MSF metodyka przeznaczona dla projektów informatycznych mająca cechy PMI MSF metodyka utworzona na podstawie
Bardziej szczegółowoOceny z prezentacji INKU011S. Zofia Kruczkiewicz
Oceny z prezentacji INKU011S Zofia Kruczkiewicz Data Student Oceny Uwagi 22.10.2017 231085 3.0 Przedstaw idealne środowisko do stosowania inżynierii oprogramowania- opisz elementy tego środowiska (sprzęt
Bardziej szczegółowoData: 06-07 marzec 2014 r. (2 dni, czwartek-piątek), godz. 9-16. Miejsce: Eureka Technology Park, Innowatorów 8
Szkolenie Scrum w projektach IT (Agile) METRYCZKA: Szkolenie Scrum Data: 06-07 marzec 2014 r. (2 dni, czwartek-piątek), godz. 9-16 Miejsce: Eureka Technology Park, Innowatorów 8 Temat: Zwinne Zarządzanie
Bardziej szczegółowoCykle życia systemu informatycznego
Cykle życia systemu informatycznego Cykl życia systemu informatycznego - obejmuję on okres od zgłoszenia przez użytkownika potrzeby istnienia systemu aż do wycofania go z eksploatacji. Składa się z etapów
Bardziej szczegółowoNarzędzia CASE dla.net. Łukasz Popiel
Narzędzia CASE dla.net Autor: Łukasz Popiel 2 Czym jest CASE? - definicja CASE (ang. Computer-Aided Software/Systems Engineering) g) oprogramowanie używane do komputerowego wspomagania projektowania oprogramowania
Bardziej szczegółowoMetodyki zwinne wytwarzania oprogramowania
Metodyki zwinne wytwarzania oprogramowania Wykład 1 Marcin Młotkowski 7 października 2014 Plan wykładu Sprawy organizacyjne Organizacja pracowni 1 Sprawy organizacyjne Organizacja pracowni 2 3 Marcin Młotkowski
Bardziej szczegółowoZakres wykładu. Podstawy InŜynierii Oprogramowania
Zakres wykładu Pojęcia podstawowe InŜynierii Oprogramowania Proces wytwarzania oprogramowania Artefakty procesu wytwarzania i ich modele Jakość oprogramowania Literatura: [1] Sacha K., InŜynieria oprogramowania,
Bardziej szczegółowoTematy prac magisterskich Rok akademicki 2013/2014
Dr hab. inż. Jan Werewka, prof. n. AGH Wydział EAIiIB AGH E-mail: werewka@agh.edu.pl www: http://home.agh.edu.pl/werewka Tematy prac magisterskich Rok akademicki 2013/2014 Temat 1 Architektura przedsięwzięcia
Bardziej szczegółowoZARZĄDZANIE PROCESEM TESTOWYM (SQAM Test Manager) 7-8 luty 2008, Warszawa Zdobądź z nami certyfikat SQAM Test Manager.
ZARZĄDZANIE PROCESEM TESTOWYM (SQAM Test Manager) 7-8 luty 2008, Warszawa Zdobądź z nami certyfikat SQAM Test Manager. Na szkolenie zapraszamy: testerów kierowników działów testowych analityków systemowych
Bardziej szczegółowoOrganizacja procesu projektowania, rozwoju i serwisowania systemu wspomagającego zarzadzanie uczelnią
Organizacja procesu projektowania, rozwoju i serwisowania systemu wspomagającego zarzadzanie uczelnią Marek Bieniasz Sławomir Umpirowicz Piotr Miszewski Kraków, 10 13 września 2012 Plan prezentacji Informacje
Bardziej szczegółowoZarządzanie i realizacja projektów systemu Microsoft SharePoint 2010
Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010 Geoff Evelyn Przekład: Natalia Chounlamany APN Promise Warszawa 2011 Spis treści Podziękowania......................................................
Bardziej szczegółowoProgramowanie zwinne
Programowanie zwinne Wykład 1 Marcin Młotkowski 10 października 2012 Plan wykładu Sprawy organizacyjne Organizacja pracowni 1 Sprawy organizacyjne Organizacja pracowni 2 3 Marcin Młotkowski Programowanie
Bardziej szczegółowoKurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017
Wykład 12 7 czerwca 2017 Czym jest UML? UML składa się z dwóch podstawowych elementów: notacja: elementy graficzne, składnia języka modelowania, metamodel: definicje pojęć języka i powiazania pomiędzy
Bardziej szczegółowoText. Atlassian User Group Lower Silesia Praktyczne wykorzystanie narzędzi Atlasisan w skalowaniu i zarządzaniu projektami. Best practices.
Text Atlassian User Group Lower Silesia Praktyczne wykorzystanie narzędzi Atlasisan w skalowaniu i zarządzaniu projektami. Best practices. O Mnie: Consultant w zakresie zarządzania rozwojem oprogramowania
Bardziej szczegółowoWprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego
Etapy Ŝycia systemu informacyjnego Wprowadzenie do metodologii modelowania systemów informacyjnych 1. Strategia 2. Analiza 3. Projektowanie 4. Implementowanie, testowanie i dokumentowanie 5. WdroŜenie
Bardziej szczegółowoTestujemy dedykowanymi zasobami (ang. agile testers)
Testujemy dedykowanymi zasobami (ang. agile testers) - wspólne standupy; - ten sam manager; - duży przepływ informacji; - po pewnym czasie zanika asertywność; - pojawia się tendencja do nie zgłaszania
Bardziej szczegółowoAN EVOLUTION PROCESS FOR SERVICE- ORIENTED SYSTEMS
AN EVOLUTION PROCESS FOR SERVICE- ORIENTED SYSTEMS Andrzej Zalewski, Marcin Szlenk, Szymon Kijas a.zalewski@elka.pw.edu.pl s.kijas@elka.pw.edu.pl Praca naukowa finansowana ze środków budżetowych na naukę
Bardziej szczegółowoudokumentowanych poprzez publikacje naukowe lub raporty, z zakresu baz danych
Rola architektury systemów IT Wymagania udokumentowanych poprzez publikacje naukowe lub raporty, z zakresu metod modelowania architektury systemów IT - UML, systemów zorientowanych na usługi, systemów
Bardziej szczegółowo