LEKKIE METODOLOGIE WYTWARZANIA OPROGRAMOWANIA



Podobne dokumenty
The Agile Way Thomson Reuters case study. Małgorzata Kusyk, PMP Managing Partner, AgilePMO Senior Project Manager, Thomson Reuters

LEKKIE METODOLOGIE WYTWARZANIA OPROGRAMOWANIA

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

INICJATYWA STUDENCKA. Gdańsk,

Marcin Kucięba Agile Development

SYSTEMY INFORMATYCZNE ćwiczenia praktyczne

Metodyka dla projektu SYRIUSZ

INICJATYWA STUDENCKA. Gdańsk,

INŻYNIERIA OPROGRAMOWANIA LAB 1

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

Lekkie metodyki. tworzenia oprogramowania

Scrum. Zwinna metodyka prowadzenia projektów

Zwinne podejście do projektu i produktu Kto? Co? i Jak? Małgorzata Kusyk, PMP, PRINCE2P

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

Planowanie i realizacja zadań w zespole Scrum

Dobry Product Backlog Oferta szkolenia dla Product Ownerów

Estimation and planing. Marek Majchrzak, Andrzej Bednarz Wroclaw,

NOWE METODYKI PROWADZENIA PROJEKTU

Zarządzanie projektami. Porównanie podstawowych metodyk

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

SCRUM. Wprowadzenie Role Zdarzenia Artefakty KANBAN SCRUM-BAN

Modele cyklu życia oprogramowania

EXIN Agile Scrum Foundation. Przewodnik egzaminacyjny

Programowanie Zespołowe

Scrum w praktyce. Michał Piórek

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

AN EVOLUTION PROCESS FOR SERVICE- ORIENTED SYSTEMS

Akademia ADB Wykład I Praca w grupie i jakość kodu

Podejście zwinne do zarządzania projektami

Zarządzanie projektami. Porównanie podstawowych metodyk

Agile Software Development. Zastosowanie metod Scrum i Kanban.

Oferta szkoleń firmy Code Sprinters

Scrum i nie tylko : teoria i praktyka w metodach Agile / Krystian Kaczor. Wyd. 2. Warszawa, Spis treści

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

AGILE SOFTWARE HOUSE SCRUM PRAKTYCZNIE SCRUM BOOK

Metodyki zwinne wytwarzania oprogramowania

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

Przewodnik egzaminacyjny. EXIN Agile Scrum. Wydanie

Programowanie zwinne

SCRUM - FRAMEWORK DO ZWINNEGO PROWADZENIA PROJEKTÓW. Ilona Ławniczak-Tomczak

Techniki komputerowe w robotyce

LEKKIE METODOLOGIE WYTWARZANIA OPROGRAMOWANIA

Scaling Scrum with SAFe. Małgorzata Czerwińska

Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)

Metodyki programowania. Tomasz Kaszuba 2015

Modele cyklu życia systemu cd Zasady programowania zwinnego Wykład 3

PROJEKT ZESPOŁOWY WYDZIAŁ MATEMATYKI I INFORMATYKI UŁ

Agile, approach Scrum in IT projects Katarzyna Terlecka, Filip Sajdak & Jerzy Wachala

Projektowanie zwinne

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

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

Praca dyplomowa - magisterska

Agile Software Development Perspektywa Członka Zespołu

SCRUM DLA OPORNYCH. porady, tricki i dobre praktyki

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

SCRUM. jak pracować wydajniej i scalić zespół

e R gulamin Kuźni Talentów

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

84 RODZINA METOD AGILE

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

Programowanie zespołowe

Opis realizacji dla czterech zespołów (4 przypadki użycia)

szkolenia pod drzewem Wybrane Techniki XP bnd 2008 Tomasz Włodarek. Materiał udostępniany na podstawie licencji Creative Commons (by-nc-nd) 1.00.

Prowadzenie projektu programistycznego. Modele tworzenia oprogramowania. Programowanie kaskadowe i zwinne. Wykład 9

Programowanie zespołowe

Analiza biznesowa a metody agile owe

Leszno Jakie są i będą oczekiwania biznesu wobec IT?

Temat: Zwinne Zarządzanie Projektami IT (Agile / Scrum) Data: marca 2014 r. (2 dni, czwartek-piątek), godz. 9-16

Projektowanie systemów informatycznych. wykład 6

Oferta usług coachingowych firmy Code Sprinters

Continuous Testing a nowa era w jakości oprogramowania. Grzegorz Leopold, Michał Błaszak

Wykład VII. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Zwinne metodyki - Scrum

Feature Driven Development

Zwinne tworzenie aplikacji internetowych typu RIA w środowisku Ruby on Rails

Modele implementacji oprogramowania. Michał Tomal

1. Planowanie systemu (w tym specyfikacja wymagań) 3. Projekt systemu (model poszczególnych struktur itp.)

Program szkolenia: Wprowadzenie do Domain Driven Design dla biznesu (część 0)

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

lub na

Agile Project Management

Analiza i projekt systemu pracy grupowej z zastosowaniem metodyki SCRUM w technologii SharePoint Karolina Konstantynowicz

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

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

Programowanie Zespołowe

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming

Techniki komputerowe w robotyce

KILKA SŁÓW O ROLI PRODUCT MANAGERA

Programowanie obiektowe

4. Wprowadzanie Scruma w ImmobilienScout Opis sytuacji

Zarządzanie testowaniem wspierane narzędziem HP Quality Center

Organizacja procesu projektowania, rozwoju i serwisowania systemu wspomagającego zarzadzanie uczelnią

Tworzenie rozwiązań informatycznych w oparciu o Customer Driven Development

Wskazówki projektowe. Programowanie Obiektowe Mateusz Cicheński

MSF. Microsoft Solution Framework

Program szkolenia: Fundamenty testowania

5.1. Pochodzenie i podstawowe mechanizmy

KANBAN SCRUM-BAN. Agile PM Zarys AUP

Transkrypt:

LEKKIE METODOLOGIE WYTWARZANIA OPROGRAMOWANIA Wykład 11 Przegląd zwinnych metodologii programowania Jacek Dajda <dajda@agh.edu.pl> Kraków, 10 stycznia 2008

Plan wykładu Przypomnienie manifestu. informatycznego Problem 3 zmiennych projektu Scrum i Crystal Strona: 2

Przypomnienie manifestu. Problem 3 zmiennych projektu informatycznego

Narodziny metodologii zwinnych Snowbird, Utah, Luty 2001 17 ludzi z branży: Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas http://agilemanifesto.org Agile Alliance, koniec 2001 http://www.agilealliance.org Źrodło: http://storymill.com/mu/jsk/item/tp50 Strona: 4

Manifest metodologii zwinnych Odnajdujemy lepsze sposoby wytwarzania oprogramowania poprzez jego tworzenie i pomaganie innym w tej działalności. W ramach tej pracy nauczyliśmy się bardziej cenić: Osoby i komunikację od procesow i narzędzi Działające oprogramowanie od kompleksowej dokumentacji Współpracę klienta od negocjacji kontraktow Reagowanie na zmianę od podążania za planem Rzeczy po prawej mają dla nas wartość, ale te po lewej cenimy znacznie bardziej. Strona: 5

Kalendarium metodologii zwinnych Dynamic Systems Development Method (1990) Scrum (1995) Adaptive Software Development (1995) Feature Driven Development (1995) extreme Programming (1996) Crystal methodologies (1996) Lean Software Development (1996) Daty należy traktować z pewnym przybliżeniem Strona: 6

Problem 4 zmiennych projektu informatycznego 4 zmienne projektu informatycznego: Zakres, Jakość, Czas, Zasoby Powiązane z sobą na zasadzie naczyń połączonych Scope Quality Increase Increase Time Decrease Resources Historia o królewskim obiedzie: http://www.xprogramming.com/xpmag/kings dinner.htm Strona: 7

Koncepcja rozwiązania problemu proponowana przez metodologie zwinne (The Iron Triangle) quality Balanced quality, savings and fast delivery Quality and fast delivery at all costs Low quality, balanced costs and delivery speed cost-savings fast delivery Strona: 8

Schemat cyklu projektu w metodologii zwinnej Start Release Planning Released product, full user feedback, updated requirements Stop Next release? Tasks grouped into iterations Release, up to 6 months Next iteration? Iteration Planning Insights and measurements from previous iterations Iteration, 1 to 4 weeks Reflective Workshops Strona: 9

Scrum

Inspiracja 1986, Ikujiro Nonaka, Hirotaka Takeuchi, The New New Product Development Game 1995, Ikujiro Nonaka, Hirotaka Takeuchi The Knowledge-Creating Company Doświadczenia japońskich firm w zarządzaniu dużymi przedsiębiorstwami (m.in. Honda, Canon, NEC and Sharp) Wprowadzone pojęcie: Knowledge-creating company celem firmy jest ciągła innowacja (ang. continuous innovation) Podział wiedzy na: jawną i niejawną 4 możliwe schematy przekazywania wiedzy: Jawna jawna Niejawna niejawna Jawna niejawna Niejawna jawna Interesujące są 2 ostatnie: spirala wiedzy Źrodło: http://gseweb.harvard.edu Obserwacja menadżerów: sukces odnoszą Ci, którzy potrafią łączyć punkty widzenia kierownictwa i pracowników (model middle-up-down) Strona: 11

Powstanie Scrum 1993, Jeff Sutherland, John Scumniotales, and Jeff McKenna, Easel Corporation 1995, Ken Schwaber, www.controlchaos.com Metodologia zwinna dla zarządzania projektem (niekoniecznie informatycznym) Metoda empiryczna: wynik wieloletnich doświadczeń dużych japońskich firm (m.in. Toyota, Honda) Zajmuje się organizowaniem pracy w organizacji, a nie sposobem tworzeniem oprogramowania Niezależna od oprogramowania metodologii tworzenia Pozwala na skalowanie znanych metod, stanowi zewnętrzną warstwę (wrapper) Proces tworzenia oprogramowania zależy od wielu czynnikow. Ważne by być przygotowanym na zmiany i dostarczać użyteczny software www.scrumalliance.org Strona: 12

Znaczenie nazwy Źrodło: http://www.agilealliance.org/system/article/file/1369/file.pdf Strona: 13

Cykl życia projektu Źrodło: Agile Software Development Methods. Review And Analysis Strona: 14

Role w projekcie Podział na: świnie i kurczaki Świnie : Scrum Master - jedna z najistotniejszych ról, opiekun zespołu, pośrednik między zespołem i zarządem, robi wszystko by umożliwić pracę zespołowi zgodnie z regułami Scrum, usuwa przeszkody Product Owner - odpowiedzialny za Product Backlog. Wybierany przez Scrum Mastera, klienta i kierownictwo, podejmuje ostateczne decyzje odnośnie zadań dotyczących Backlogu Scrum Team - samoorganizujący się zespoł odpowiedzialny za realizację zadań w Sprincie. Bierze udział w estymacie zadań, tworzeniu z Backlogu i modyfikacji jego zawartości Kurczaki : Customer - bierze udział przy ustalaniu Backlogu Management - podejmuje dycyzje personalne (Product Owner), dba o przetrzeganie standardów. Bierze udział przy ustalaniu celow i priorytetow projektu Eksperci wymagani w niektórych sprintach, czasami stają się świniami w ramach pracy z zespołem Strona: 15

Praktyki w Scrum Product Backlog lista, która powinna zawierać zadania bieżące (z estymatami), przyszłe (z priorytetami) oraz idee może zawierać wszystkie zadania związane z projektem (biznesowe i techniczne) za estymaty i priorytety odpowiedzialny Product Owner na podstawie pomiarow Effort estimation - pomiary czasu pracy nad każdą pozycją z Backlogu. Wyznaczane przez Scrum Team i Ownera Sprint - 30 dni pracy zespołu programistycznego nad kolejną działającą wersją systemu. W ich trakcie wykorzystuje się poniższe praktyki Sprint planning meeting - 30 dni pracy zespołu programistycznego nad kolejną działającą wersją systemu. Time boxing ustalanie sztywnych ram czasowych dla pewnych czynności np. sprinty, spotkania planistyczne Strona: 16

Product Backlog Źrodło: http://www.mountaingoatsoftware.com/scrum/productbacklog.php Strona: 17

Praktyki w Scrum (2) Sprint Backlog - ustalany przez zespoł, mistrza i właściela na podstawie aktualnego Product Backlog podczas Sprint planning meeting. Sprint Backlog jest stały na czas trwania sprintu. Daily Scrum meeting - zwołuje Scrum Master, 15 minutowe spotkanie, monitorowanie aktualnego postępu prac, uczestnicy aktywni i obserwatorzy Sprint review meeting - podczas ostatniego dnia sprintu, prezentacja kolejnego inkrementu z udziałem wszystkich, na jego podstawie decyzje odnośnie dalszego rozwoju Źrodło: Scrum and XP from the Trenches Strona: 18

Przebieg sprintu Źrodło: Agile S oftware D evelopment Methods. R eview And Analysis Strona: 19

Skalowanie Scrum Źrodło: www.netobjectives.com Strona: 20

Skalowanie Scrum (2) Źrodło: www.netobjectives.com Strona: 21

Skalowanie Scrum (3) Źrodło: www.netobjectives.com Strona: 22

XP@Scrum Obie metodologie mają wiele podobieństw. Wynika to z tego, że XP zaczerpnęło kilka elementów właśnie ze Scruma O ile Scrum jest ogólnym frameworkiem dla prowadzenia projektów, XP skupia się bardziej na metodzie pracy zespołu programistycznego XP przeznaczone jest dla małych zespołów, Scrum można skalować Źrodło: http://www.controlchaos.com Strona: 23

Crystal

Crystal Methodologies lata 90, Alistair Cockburn (http://alistair.cockburn.us) zatrudniony przez IBM Consulting Group w celu skonstruowania nowej metodologii Cockburn przesłuchuje zespoły i stwierdza istotną zależność pomiędzy sposobem komunikacji a końcowym sukcesem projektu Źrodło: Agile S oftware D evelopment Methods. R eview And Analysis Strona: 25

Crystal Methodologies (2) Najlepiej jest kiedy komunikacja odbywa się w sposob bezpośredni Niestety każdy człowiek ma swoje ograczenia (nawet 10 najlepszych programistow nie wykona dużego projektu w b. krótkim czasie) Dlatego potrzeba większej ilości programistow - niestety komplikuje to komunikację Źrodło: Agile S oftware D evelopment Methods. R eview And Analysis Strona: 26

Powstanie rodziny metodologii Crystal Cockburn dochodzi do wniosku, iż w zależności od rozmiarow zespołu potrzebne są nieco inne pratyki - stąd pomysł całej rodziny kilku podobnych metodologii Idea tworzenia metodologii dla konkretnego projektu Źrodło: Agile S oftware D evelopment Methods. R eview And Analysis Strona: 27

Rodzina metodologii C rystal Im ciemniejszy kolor tym cięższa metodologia Straty: C (Comfort), D (Discretionary Money), E (Essential Money), L (Life) Jak na razie 2 opracowane i przetestowane metodologie: Crystal Clear i Crystal Orange Crystal Clear - D6 (może do E8, D10), ludzie pracują w tym samym pokoju, 23 miesięczne iteracje, istotna bezpośrednia komunikacja, aktywny udział klienta Crystal Orange - do 40 ludzi w jednym budynku, 1 do 2 lat trwania, istotny czas zakończenia, system średniego ryzyka, istotna komunikacja z przyszłymi członkami zespołu Strona: 28

Ludzie w zespole Crystal Clear Crystal Orange Sponsor Sponsor Senior Designer-Programmer Business expert Designer Programmer Usage expert User (min. poł etatu) Technical facilitator Business Analyst/Designer Project Manager Architect Design Mentor Lead Designer-Programmer Other Designer-Programmers UI Designer Writer Tester podzieleni na kilka zespołow np. planowanie, modelowanie, infrastruktura, testy etc. Strona: 29

Artefakty pracy Crystal Clear Release sequence Schedule deliveries of user viewings and Annotated use cases or feature descriptions Crystal Orange Requirements document Release sequence Schedule Status reports Design sketches & notes as needed UI design document Screen drafts Common object model A common object model Inter-team specs Running code User manual Test cases Source code User manual Test cases Migration code Strona: 30

7 własności projektów C rystal 1. Frequent Delivery 2. Reflective Improvement 3. Osmotic Communication 4. Personal Safety 5. Focus 6. Easy Access to Expert Users 7. Technical Environment with Automated Tests, Configuration Management, and Frequent Integration Crystal Clear wymaga pierwszych 3. Dobry zespoł używa jednak wszystkich 7. Własności mogą być zastosowane rownież w przypadku większych projektow, z wyjątkiem Osmotic Communication Strona: 31