SlideShare a Scribd company logo
1 of 98
Agile, ésszerűen
Székely Sipos Sándor Zolta
Elhangzott ebben a formában 2016. november 23-án a “Bit- és számtologatók”
előadássorozat keretén belül a kolozsvári Babeș-Bolyai Tudományegyetemen
Tartalom
• A szoftverfejlesztés aktuális kihívásai
• Vízesés modell
• V modell
• Agilis módszerek
• Scrum
• Dióhéjban
• Előnyök
• Hátrányok
• Alternatívák
• Következtetés
A Scrum népszerű
Kihívások
Kihívások
A felhasználó igényeinek megértése
A követelmények változnak
A határidők rövidek
Rendszerek egységbe rendezése
A becslés inkább művészet, mint tudomány
Projekten dolgozók motivációja és képességei
Műszaki adósság (Technical Debt)
Fiatal tudományág
Vízesés Modell
V Modell
A projekt management
vasháromszöge
Minőség
?
Határidő
(becsült)
Költség
(becsült)
Scope
(rögzített)
Műszaki adósság (Technical Debt)
“A kód első kiszállítása olyan, mint amikor kölcsönt veszünk
fel. Egy kis kölcsön mindaddig felgyorsítja a fejlesztést, amíg
gyorsan vissza is fizetik egy újra írás által… Az adósságot
vissza nem fizetni veszélyes. Minden perc, amit nem éppen
helyes kóddal töltünk kamatnak számít. Egész mérnöki
szervezetek állhatnak le egy meg nem szilárdított
megvalósítás adósságának terhei alatt…”
Ward Cunningham, 1992
Határidő Nyomás
Műszaki
adósság
Kód
minőség
Tesztek
Műszaki adósság (Technical Debt)
• Megjósolhatatlanul nő
• Ha észleljük, ne hallgassuk el, cselekedjünk gyorsan!
• Következmények:
 Növekszik a szoftver kiszállításának ideje
 Nő a hibák száma
 Csökkenő felhasználói elégedettség
 Termék “sorvadása”
 Nő a fejlesztési és fenntartási költség
 Alul teljesítés
 Frusztráció (fejlesztőcsapat)
Hogyan előzzük meg, illetve
harcoljunk ellene?
• Megelőzés
• A “Kész” szigorú definíciója (Definition of Done)
• Ami a kód minőségére is kiterjed
• Sonar
• Extrém Programozás
• TDD
• Pair Programming
• Kiscserkész szabály (Boy Scout Rule)
• Tiszta kód (Clean Code) ajánlások
Kiáltvány az agilis
szoftverfejlesztésért
Folyamatok és
eszközök
Egyének és
kölcsönhatások
Átfogó dokumentációMűködő szoftver
Szerződéses
megállapodás
Ügyféllel történő
együttműködés
Terv követése
Változás iránti
készség
Agilis szoftverfejlesztés 12
alapelve
Mielőbbi szállítás
Folyamatosszállítás
Szoros együttműködés
Működő szoftver
Önszerveződő csapat
Az elvégzetlen munkamennyiség maximalizálása
Mielőbbi szállítás
Folyamatosszállítás
Alkalmazkodás a változó körülményekhez
Motivált, megbízható egyének
Önszerveződő csapat
Változtatáskérésekfogadása
Változtatáskérésekfogadása
Szemtől-szembe való információc
Technikai kiválóságok és jó tervezés
Alkalmazkodás a változó körülményekhez
Egyszerűség
Egyszerűség
Szemtől-szembevalóinformációcsere
A projekt management
vasháromszöge
Minőség
(rögzített)
Határidő
(ütemezett)
Költség
(rögzített)
Scope
(finomhangolt)
Kihívások
Vízesés
Vmodell
Agile
A felhasználó igényeinek megértése
A követelmények változnak
A határidők rövidek
Rendszerek egységbe rendezése
A becslés inkább művészet, mint tudomány
Projekten dolgozók motivációja és képességei
Műszaki adósság (Technical Debt)
Fiatal tudományág
Összehasonlítás
A Scrum meghatározása
“Egy olyan keretrendszer, melynek segítségével emberek
komplex problémákat tudnak adaptív módon kezelni úgy,
hogy közben termelékenyen és kreatívan szállítják le a
lehető legértékesebb termékeket.”
A Scrum Útmutató, Ken Schwaber és Jeff Sutherland
Jellemzők:
 Egyszerű
 Könnyen érthető
 Rendkívül nehezen művelhető mesteri szinten
A Scrum keretrendszer
Szabályok
Iteráció
Inkrementum
Terméktulajdonos
Scrum Master
Fejlesztőcsapat
Szerepek
Sprint tervezés
Sprint áttekintés
Sprint visszatekintés
Napi Scrum
Események
A termék teendőlistája
A sprint teendőlistája
Napi kimutatás (diagramok)
Munkaanyagok
A Scrum dióhéjban
Funkcionalitás
Iteráció
FeladatokKövetelmények
Sprint – Iteráció
• Hossza 2-4 hét
• Célja van
• Scope –
fejlesztőcsapat dönt
 kötelezettséget
vállal!
 inkrementum
Készítette: Vullioud Pierre-André
Forrás: http://www.freeimages.com/
Sprint Tábla (Sprint Board)
Elvégzendő Folyamatban Elvégzett (KÉSZ)
Felhasználói
történet
PBI #1
PBI #2
PBI #3
Impl Impl Teszt
CRImpl
Impl CR Teszt
Impl Teszt Teszt
CRImpl
Felhasználói történet (User Story)
• Megrendelői igények
• Megrendelők/felhasználók írják
• Hétköznapi nyelvezet
• Terjedelme korlátozott
• Elfogadási kritériumok
• Méret
• Becslés
• Idő
• Pontok
• Munkamennyiség
• Komplexitás
Sprint Tábla (Sprint Board)
Elvégzendő Folyamatban Elvégzett (KÉSZ)
Felhasználói
történet
PBI #1
PBI #2
PBI #3
Impl Impl Teszt
CRImpl
Impl CR Teszt
Impl Teszt Teszt
CRImpl
Sprint – Iteráció
Elvégzendő Folyamatban Elvégzett (KÉSZ)
Felhasználói
történet
PBI #1
PBI #2
PBI #3
ImplImpl Teszt
CR Impl
ImplCR Teszt
Impl Teszt Teszt
CRImpl
Sprint – Iteráció
Elvégzendő Folyamatban Elvégzett (KÉSZ)
Felhasználói
történet
PBI #1
PBI #2
PBI #3
ImplImpl Teszt
CR Impl
ImplCR Teszt
Impl Teszt Teszt
CRImpl
Sprint – Iteráció
Elvégzendő Folyamatban Elvégzett (KÉSZ)
Felhasználói
történet
PBI #1
PBI #2
PBI #3
Impl Impl TesztCR
Impl
ImplCR Teszt
ImplTeszt Teszt
CRImpl
Sprint – Iteráció
Elvégzendő Folyamatban Elvégzett (KÉSZ)
Felhasználói
történet
PBI #1
PBI #2
PBI #3
Impl Impl Teszt
CRImpl
ImplCR Teszt
ImplTesztTeszt
CR Impl
Sprint – Iteráció
Elvégzendő Folyamatban Elvégzett (KÉSZ)
Felhasználói
történet
PBI #1 PBI #2
PBI #3
Impl Impl Teszt
CRImpl
Impl CRTeszt
Impl TesztTeszt
CR Impl
Sprint – Iteráció
Elvégzendő Folyamatban Elvégzett (KÉSZ)
Felhasználói
történet
PBI #1 PBI #2
PBI #3
Impl Impl Teszt
CRImpl
Impl CRTeszt
Impl Teszt Teszt
CRImpl
A “Kész” meghatározása
Nem
minden
kész,
ami
annak
látszik
…
Forrás: http://geek-and-poke.com/
Elfogadási kritérium
(Acceptance Criteria)
• Pontosság
• Finomítás
• Elfogadási kritériumok
• Kiegészítik a “Kész” fogalmát
• Hasonlóság a V Modellhez
• Felhasználói Elfogadási Tesztek (UAT)
• BDD (Behavior Driven Development)
Nem funkcionális követelmények
(Non-Functional Requirements – NFR)
• Rendszer szintű feltételek
• Javallott, hogy minél több NFR része legyen a “Kész”
definíciójának
Gyors visszajelzés
• Nem mindig lehetséges, nem mindig szükséges
 Új funkcionalitás
A Scrum keretrendszer
Szabályok
Iteráció
Inkrementum
Terméktulajdonos
Scrum Master
Fejlesztőcsapat
Szerepek
Sprint tervezés
Sprint áttekintés
Sprint visszatekintés
Napi Scrum
Események
A termék teendőlistája
A sprint teendőlistája
Napi kimutatás (diagramok)
Munkaanyagok
A Scrum csapat
Azon dolgozik, hogy minden egyes Sprint
végén leszállítható legyen a termék egy
“Kész”, azaz potenciálisan kibocsátható
Inkrementuma
• Csapattagok:
 Terméktulajdonos (Product Owner)
 Scrum Master
 Fejlesztőcsapat
Ideális létszám: 5 - 10 fő
Terméktulajdonos (Product
Owner)
• Felelős a termék értékének
maximalizálásáért
• Feladatai:
• Termék teendőlista
• Tételeinek
• Egyértelmű leírása
• Sorba rendezése
• Elérhető
• Könnyen áttekinthető
• Mindenki számára világos
Egyetlen személy!
Scrum Master
Scrum Master
Szolgáló - Vezető
• Felelős a Scrum
• Megértéséért
• Betartásáért
• Interakció
 Terméktulajdonos
 Fejlesztők
 Szervezet
Fejlesztőcsapat
 Önszerveződő
 Többfunkciójú (kereszt funkcionális)
 Nincsenek titulusok
Mindenki fejlesztő
 Nincsenek alcsoportok
 felelősség a vállalást illetően az
egész csapatra hárul
Szakemberek
A Scrum keretrendszer
Szabályok
Iteráció
Inkrementum
Terméktulajdonos
Scrum Master
Fejlesztőcsapat
Szerepek
Sprint tervezés
Sprint áttekintés
Sprint visszatekintés
Napi Scrum
Események
A termék teendőlistája
A sprint teendőlistája
Napi kimutatás (diagramok)
Munkaanyagok
Sprint Tervezés (Sprint Planning)
• Terméktulajdonos bemutatja a Sprint során elérendő
célt és azokat a termék backlog tételeket, amelyek
megvalósításával a Sprint eléri célját
• Mi fog elkészülni?
• Hogyan?
• Eredmény: Sprint teendő lista
• Két hetes sprint esetén 4 órára korlátozódik
Sprint Áttekintés (Sprint Review)
• Célja: inkrementum ellenőrzése
• A fejlesztőcsapat
• szemlélteti a “Kész” munkát
• válaszol az inkrementummal kapcsolatos
kérdésekre
• Informális
• Nyitott
• A Sprint végén
• Két hetes sprint esetén 2 órára korlátozódik
Sprint Visszatekintés
(Sprint Retrospective)
• Biztosítja a folyamatos fejlődést
• Azonosítják és sorba rendezik
• Jól működő elemek
• Lehetséges javítások
• Terv a Scrum csapat működésének javítására
• Mikor:
• Sprint Áttekintés után, a következő Sprint tervezés előtt
• Két hetes sprint esetén másfél órára korlátozódik
 Emberek
 Kapcsolatok
 Folyamatok
 Eszközök
Napi Scrum
• Célja:
• Lendület fenntartása
• Akadályok,
problémák
felismerése
• Csapat
kommunikációjának
elősegítése
• Módja:
• Ugyanabban az
időben
• Ugyanazon a helyen
• Max 15 perc
Mit sikerült elvégeznem tegnap?
1
Mit fogok tenni ma?
Látok-e akadályozó tényezőt?
2
3
A Scrum keretrendszer
Szabályok
Iteráció
Inkrementum
Terméktulajdonos
Scrum Master
Fejlesztőcsapat
Szerepek
Sprint tervezés
Sprint áttekintés
Sprint visszatekintés
Napi Scrum
Események
A termék teendőlistája
A sprint teendőlistája
Napi kimutatás (diagramok)
Munkaanyagok
Termék teendő lista
(Product Backlog)
• A termékkel kapcsolatos változtatási
követelmények egyetlen forrása
• Követelmények / Jellemzők
• Funkcionalitások
• Tovább fejlesztések
• Javítások
• Élő, folyamatosan alakuló munkaanyag -
dinamikus dokumentum
• Sosem tekinthető teljesnek
 Finomítás
A Termék teendő lista finomítása
(Backlog Refinement / Grooming)
• Folyamatos tevékenység
• A fejlesztőcsapat és a
terméktulajdonos
• Tételek:
• Átnézik és felülvizsgálják
• További részletekkel,
becsléssel egészítik ki
• Amennyiben szükséges,
változatnak a sorrenden
• A Scrum csapat kapacitásának
nem több, mint 10%-a
Becslés: Planning Poker
Viszonylagos méret
Előzményeken alapszik
Nem használ átlagot
Megbeszélés  Konszenzus
Sprint Teendőlista (Sprint Backlog)
A Scrum eseményei és
munkaanyagai
Kibocsátható
termék
inkrementum
Sprint
2-4 hét
24 óra
Sprint
teendőlista
Termék
teendőlista
Finomítás
Sprint tervezés
Napi Scrum
Áttekintés (demo)
Vissza
tekintés
Nyomon követés – kimutatások
• A Scrum az átláthatóságon alapszik:
• Munkaanyagok aktuális állapot
 Értékoptimalizálást és kockázatkezelést érintő döntések
 Sprint burndown
 Cumulative flow
 Velocity
Sprint burndown diagram
0
10
20
30
40
50
60
70
80
90
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Ideális Aktuális
Ütemterv
előtt
Késés
Sprint
kezdete
Sprint
vége
Becsültidő(munkanap)
Sprint napjai
Cumulative Flow diagram
0
50
100
150
200
250
300
350
400
1 2 3 4 5 6 7 8
Elvégzett
Folyamatban
Elvégzendő
Sprintek (tervezés után)
Felhasználóitörténetekszáma
Velocity diagram
0
5
10
15
20
25
30
35
1 2 3 4 5 6 7
Vállalt
Valós
Velocity: 27
Storypontokszáma
Sprintek
Sprint Lefújása
 Ha a Sprint Célja elavul, okafogyottá válik
 Cég irányt változtat
 Piaci vagy technológiai feltételek megváltoznak
 Az adott körülmények között már nincs értelme folytatni
 Ki: Terméktulajdonos
 Nyomasztó lehet a csapat számára  ritka
Skálázhatóság
• Nagy projekt
• Nagy számú implementálandó funkcionalitás
• Szoros határidők
 Több csapat
 Párhuzamosítható feladatok
• Megközelítés:
• Egymástól független munkacsomagok
• Ezeknek egymásutáni illetve párhuzamos beépítése
• Mindenkinek legyen munkája
Skálázhatóság – Scrum
• Több terméktulajdonos – egyetlen termék teendő lista!
• Koordináció
• Vezető terméktulajdonos
• Finomítás és tervezés előtt
• Egyeztetés a terméktulajdonosok között
• Áttekintés
• Közösen
• Csapatonként külön-külön
• Visszatekintés
• Összes csapat képviselőivel is
• Scrum-ok Scrum-ja (Scrum of Scrums – SOS)
Scrum-ok Scrum-ja
Scrum-ok Scrum-ja
Mivel foglalkozott a csapatom a legutóbbi találkozásunk
óta és mivel fog foglalkozni a következőig?
1
A csapatom tevékenysége gördíthet-e akadályt más
csapatok elé, míg újra találkozunk, és ha igen, mi az?
Vannak-e a csapatomnak olyan problémái, amelyek
megoldásához más csapatok segítségére van szükség?
2
3
Hogyan ne…
“A project manager és a Scrum Master-ek heti három
alkalommal telekonferenciáznak, amelyeknek keretén
belül a Scrum Master-ek felváltva adnak
helyzetjelentést és panaszkodnak a csapataik
problémáiról. Néhány Scrum Master megkeresett, hogy
nem lehetne-e ritkábban tartani ezeket a gyűléseket,
mivel semmi újat nem mondanak. Ugyanazokat a
problémákat hozzák fel minden gyűlésen.”
Morgan Ahlström: Scrum of Scrums – A Communication Thermometer
Elméletileg nincs
határ…
A Scrum pozitív hatásai
• Felelősségtudat növekedése
• Termék- és projektismeret
• Motiváció, kreativitás
• Elkötelezettség
• Átláthatóság
• Függetlenség
• Kommunikáció, csapatszellem
• Folyamatos fejlődés
• “Fail fast and often”… a hibáinkból tanulunk
• Szoftver hibák felfedezése időben
Felelősségtudat növekedése
Fejlesztőcsapat
Becslések Döntés
Fejlesztőcsapat
Saját magának szab
határt
Együtt vállalnak
kötelezettséget
Felelősségtudat
növekedése
Termék- és projektismeret
“Less single point of failure”
Scrum
Kereszt funkcionális
csapatok
Minden eseményen
részt vesznek
Csapattagok
Termék ismeret Projekt ismeret
Kisebb nyomás egyes
személyeken
Motiváció, kreativitás
Scrum
Közös, világos célok
Megoldás
módszerei - csapat
Csapattagok
Motiváció Kreativitás
Elkötelezettség
Teljes kép
Big picture
Elkötelezettség
Scrum
Közös, világos célok
Megoldás
módszerei - csapat
Scrum
Átláthatóság
Átláthatóság
Sprint Áttekintés
(Demo)
Felhasználói történetek
megbeszélése
Függetlenség
Scrum csapat
Vegyes szakmai
háttér
Függetlenség
Többfunkciós
összetétel
Extrém programozás
Kommunikáció, csapatszellem
Készítette: Sebastian Danon
Forrás: http://www.freeimages.com/
Scrum
Önálló, problémamegoldó
csapat
Kommunikáció
Csapatszellem
Pair
Progr
TDDCI
Folyamatos fejlődés
Azonosít
Lehetőségek
Hibák a
folyamatban
Tervez
Hogyan
javítható a
folyamat?
Kipróbál
Egy iteráció
erejéig
Megvizsgál
Hogyan
működött?
Fail fast and often
A hibáinkból tanulunk
• A hibának nem ad lehetőséget
• Mentális akadályt teremthet
A legtöbb oktatási rendszer
Kemény munka Idő Siker
A hibáinkból tanulunk
Kemény munka Idő
Siker
Hiba 1
Hiba n
…
?
Szoftver hibák felfedezése időben
K
ö
l
t
s
é
g
A sötét oldal
A Scrum bőbeszédű
Scrum események:
• Sprint tervezés
• Max 4 óra
• Napi Scrum
• Kb. 10x15 perc =
2 óra 30 perc
• Sprint Áttekintés
• Max 2 óra
• Sprint Visszatekintés
• Max 1.5 óra
Egyéb gyűlések:
• Termék backlog finomítás
• Max 10% - max 8 óra
Több csapat esetén:
• Gyűlés epic/feature
lebontáshoz, csapathoz
rendeléshez
• Scrum of Scrums
*2 hetes sprintek esetén
Flow | Az áramlat
• Gyűlések
 Napirend
 Összpontosítás
 Résztvevők
 Helyesen megválasztani
 Rövidre fogni
 Jegyzőkönyv
• Alternatívák
• Ha rövidek is, szétdarabolják a
fejlesztő napját  Áramlatérzés
Daily Stand-up
• Scrum keretrendszer  Napi Scrum
• Szokássá vált: rituálé, dogma,
rakománykultusz (Jon Evans - cargo cult)
• Ideális feltételek
• A fejlesztőcsapat tagjai
• Nagyjából egyszerre kezdik el a munkát
• Fizikailag egy helyen vannak
• Közeli időzónában vannak
• Rövid ideig tart (max 10-15 perc)
Reggel: kreatív,
produktív periódus
Nap közben:
kontextus váltás
vagy
…
A check-in mint alternatíva
Mit sikerült elvégeznem tegnap?
1
Mit fogok tenni ma?
Látok-e akadályozó tényezőt?
2
3
Belépés
Megír
Elolvas
A
s
z
i
n
k
r
o
n
Fő a rugalmasság
• “A Scrum szerepkörei, munka anyagai, eseményei és
szabályai nem megváltoztathatók, és, bár lehetséges a
Scrum csupán egyes részeinek bevezetése is, az eredmény
nem Scrum lesz. A Scrum csak a maga teljességében létezik
és működik jól, más módszertanok és gyakorlatok, technikák
gyűjtőjeként. “
Összegzés, A Scrum Útmutató c. elektronikus könyvből,
Ken Schwaber és Jeff Sutherland, 2013 Július
Folyamatok és
eszközök
Egyének és
kölcsönhatások
?
Nincsenek változások sprint
közben
• Úgy kell
megtervezni a
sprintek hosszát,
hogy azok a
változásnak
ellen tudjanak
állni Sprint
Scrum Master
A Scrum
őre vagyok
Terv követése
Változás iránti
készség
?
Agile szemlélet
Szervezet
Agile
gondolkodás
Nagy a pörgés
• Sokat kivesz a
fejlesztőcsapat
tagjaiból
• A ciklikussága miatt
elméletileg lehet
lazítani a sprintek
között, ezt meg kell
ragadni
Agile
A Scrum fizetőssé tette az
agile mozgalmat
• Kurzusok
• Workshop
• Certification
• Nagy összegekért
• Lejár!
• Időnként megújítani, még több pénzért
• A Scrum ezt egy egészen új szintre emelte
• Evangélisták, coach-ok, akik pénzért prédikálják a Scrum
üzenetét
Kik lettek a Scrum Masterek?
• Többnyire a Projekt Managerek
• Gyakran nem rendelkeznek szakmai
tudással
• Nem foglalkoztak fejlesztéssel
• Minden esetre, nem a modern
módjával
 A Scrum gyakran nem működik
Szolgáló – Vezető…
A Scrum Master-ek néha
elkényelmesednek
• Scrum - “elég jól” megy
• Scrum Master - elkényelmesedik
• Ellentétes az agile folyamatos fejlődést ösztönző
alapelvével
• A Scrum Master nem ülhet tétlen
Részmunkaidős emberek és
távoli munkavégzés
• Részmunkaidős emberek
• Scrum események
 Alig marad idejük fejlesztésre
• Távoli munkavégzés
• Gyűlések
 Videokonferencia
 Egyidejű közös munkát segítő online eszközök
 Nehéz követni
Lean szemlélet – 7 veszteség
Félkész
munka
Szükségtelen
funkcionalitás Átadások
Szükségtelen
folyamatok
Késések
Várakozás
Hiba
Utómunka
Váltások a
feladatok
között
Mozgás
Kanban, mint alternatíva
• Célja: a munka megszervezése az eredményesség
érdekében
• Kanban: folyamatok
• Lean szemlélet – 7 veszteség
• Világosan definiált folyamat szabályok
• Feladatok átláthatósága
• Folyamatban levő munka mennyiségének
korlátozása
• Az áramlás mérése és javítása
Scrum Tábla
Elvégzendő Folyamatban Elvégzett (KÉSZ)
Felhasználói
történet
PBI #1
PBI #2
PBI #3
Impl Impl Teszt
CRImpl
ImplCR Teszt
ImplTesztTeszt
CR Impl
Kanban tábla
Elvégzendő
Tervezés
Alatt
Max 3
Fejlesztés
Alatt
Max 5
Tesztelés
Alatt
Max 5
Szállítás
Max 3
Kész
Kanban
• Nagyon könnyű megérteni, megtanulni
• Jól együtt működik más módszerekkel
• Extrém programozás
• TDD
• Pair Programming
• Continuous Integration
• Kiválóan alkalmazkodik a változáshoz
• Lehetővé teszi a folyamatos szállítást (Continuous Delivery)
Kanban
• Nincsenek szerepek
• Kaizen gyűlés
• Bárki szervezheti
• Csak az érintettek vannak jelen
• Összpontosítás: Kanban tábla
• Nem írja elő a becsléseket
• Nehéz megmondani, hogy egyes feladatok mikor
fejeződnek be
• Határidők - felírhatjuk a kártyákra, de nem szükséges
• Feláldozza a kiszámíthatóságot az eredményesség oltárán
Scrum és Kanban hasonlóságok
Scrum Kanban
Empirikus
Lean
Agilis
Sprintek Folyamatos áramlás
Határt szab a folyamatban levő munkának
Arra összpontosítanak, hogy gyorsan és folyamatosan szállítsanak szoftvert
Átszervezés szükséges (kereszt
funkcionális csapatok)
A jelenlegi helyzetből induljunk ki
Átláthatóság
Folyamatosan javítják a folyamatokat
Szerepek (SCM, PO) Nincsenek szerepek
Becslések Nem írja elő a becsléseket
Kiszámíthatóság Eredményesség
Következtetés
Szervezet
Lehetőségek Megszorítások
Csapat
Szakértelem Hozzáállás
Projekt
jellege
Szemlélet
Agile Lean
Folyamat
Scrum Kanban
Extrém Programozás
Kapcsolat
• Név: Székely Sipos Sándor Zolta
• LinkedIn: https://www.linkedin.com/in/zoltaszekely
• Magán jellegű mail: zzolta@gmail.com
• Céges mail: zolta.szekely@wolterskluwer.com
Felhasznált irodalom
• A Scrum Útmutató, Ken Schwaber és Jeff Sutherland
• Egy bevezetés a Scrum-ba, Mike Cohn
• Stand up against the stand-up, Jon Evans
• Lean + Agile vs Seven Wastes in Software Development, V S
S N R Ram Nanduri
• A Scrum keretrendszer és agilis módszerek használata a
Visual Studióval, Csutorás Zoltán, Árvai Zoltán, Novák István
• Essential Scrum, A Practical Guide to the Most Popular Agile
Process, Kenneth S. Rubin
• http://www.adaptiveconsulting.hu/kanban-vagy-scrum
• https://www.linkedin.com/pulse/how-reduce-risk-missing-
nonfunctional-requirements-miller-cbap
Felhasznált irodalom
• https://dzone.com/articles/digging-fail-fast-fail-often
• http://www.seguetech.com/waterfall-vs-agile-methodology
• https://blog.gate6.com/top-6-challenges-software-
development
• https://www.finextra.com/blogposting/6836/7-reasons-
why-software-development-is-so-hard
• https://www.wikipedia.org
• http://www.freeimages.com
• http://geek-and-poke.com
• https://www.draw.io
Ajánlott irodalom
Szerzői jogra utaló megjegyzés
• Szabad:
• Megoszthatod — másolhatod és terjesztheted a művet
bármilyen módon vagy formában
• Át dolgozhatod — származékos műveket hozhatsz létre,
átalakíthatod és új művekbe építheted be
• A következő feltételek mellett:
• Nevezd meg. A szerző vagy licencet adó által megadott
módon kell a munkát megnevezni (de nem olyan módon,
ami azt sugallja, hogy ők láttamoztak téged vagy a
munkádat).
• Ebben a licencben semmi sem károsítja vagy korlátozza a
szerzői jogokat.
• Több információ itt:
https://creativecommons.org/licenses/by/4.0/
Nevezd
meg!
CC BY 4.0
Kérdések és válaszok
Köszönöm a figyelmet 

More Related Content

What's hot

Microservices, DevOps, and Continuous Delivery
Microservices, DevOps, and Continuous DeliveryMicroservices, DevOps, and Continuous Delivery
Microservices, DevOps, and Continuous DeliveryKhalid Salama
 
Building Data Lakes and Analytics on AWS; Patterns and Best Practices - BDA30...
Building Data Lakes and Analytics on AWS; Patterns and Best Practices - BDA30...Building Data Lakes and Analytics on AWS; Patterns and Best Practices - BDA30...
Building Data Lakes and Analytics on AWS; Patterns and Best Practices - BDA30...Amazon Web Services
 
Egeria and graphs
Egeria and graphsEgeria and graphs
Egeria and graphsODPi
 
Build Knowledge Graphs with Oracle RDF to Extract More Value from Your Data
Build Knowledge Graphs with Oracle RDF to Extract More Value from Your DataBuild Knowledge Graphs with Oracle RDF to Extract More Value from Your Data
Build Knowledge Graphs with Oracle RDF to Extract More Value from Your DataJean Ihm
 
Getting started with AsyncAPI: how to describe your Kafka cluster | Salma Sae...
Getting started with AsyncAPI: how to describe your Kafka cluster | Salma Sae...Getting started with AsyncAPI: how to describe your Kafka cluster | Salma Sae...
Getting started with AsyncAPI: how to describe your Kafka cluster | Salma Sae...HostedbyConfluent
 
Dataverse opportunities
Dataverse opportunitiesDataverse opportunities
Dataverse opportunitiesvty
 
API-first design - Basis for an consistent API-Management approach
API-first design - Basis for an consistent API-Management approachAPI-first design - Basis for an consistent API-Management approach
API-first design - Basis for an consistent API-Management approachSven Bernhardt
 
Oxford Common File Layout (OCFL)
Oxford Common File Layout (OCFL)Oxford Common File Layout (OCFL)
Oxford Common File Layout (OCFL)Simeon Warner
 
Banco de dados atividade de sala
Banco de dados atividade de salaBanco de dados atividade de sala
Banco de dados atividade de salaCarlos Melo
 
Time series database, InfluxDB & PHP
Time series database, InfluxDB & PHPTime series database, InfluxDB & PHP
Time series database, InfluxDB & PHPCorley S.r.l.
 
Graphql Intro (Tutorial and Example)
Graphql Intro (Tutorial and Example)Graphql Intro (Tutorial and Example)
Graphql Intro (Tutorial and Example)Rafael Wilber Kerr
 
Microservice API Gateways with NGINX
Microservice API Gateways with NGINXMicroservice API Gateways with NGINX
Microservice API Gateways with NGINXGeoffrey Filippi
 
High Performance Data Streaming with Amazon Kinesis: Best Practices (ANT322-R...
High Performance Data Streaming with Amazon Kinesis: Best Practices (ANT322-R...High Performance Data Streaming with Amazon Kinesis: Best Practices (ANT322-R...
High Performance Data Streaming with Amazon Kinesis: Best Practices (ANT322-R...Amazon Web Services
 
GS1 EPCIS and CBV Tutorial, Auto-ID Labs, KAIST (Apr 28, 2020)
GS1 EPCIS and CBV Tutorial, Auto-ID Labs, KAIST (Apr 28, 2020)GS1 EPCIS and CBV Tutorial, Auto-ID Labs, KAIST (Apr 28, 2020)
GS1 EPCIS and CBV Tutorial, Auto-ID Labs, KAIST (Apr 28, 2020)Daeyoung Kim
 

What's hot (20)

Dax & sql in power bi
Dax & sql in power biDax & sql in power bi
Dax & sql in power bi
 
Microservices, DevOps, and Continuous Delivery
Microservices, DevOps, and Continuous DeliveryMicroservices, DevOps, and Continuous Delivery
Microservices, DevOps, and Continuous Delivery
 
Digital Transformation with Microsoft Azure
Digital Transformation with Microsoft AzureDigital Transformation with Microsoft Azure
Digital Transformation with Microsoft Azure
 
Building Data Lakes and Analytics on AWS; Patterns and Best Practices - BDA30...
Building Data Lakes and Analytics on AWS; Patterns and Best Practices - BDA30...Building Data Lakes and Analytics on AWS; Patterns and Best Practices - BDA30...
Building Data Lakes and Analytics on AWS; Patterns and Best Practices - BDA30...
 
Egeria and graphs
Egeria and graphsEgeria and graphs
Egeria and graphs
 
Build Knowledge Graphs with Oracle RDF to Extract More Value from Your Data
Build Knowledge Graphs with Oracle RDF to Extract More Value from Your DataBuild Knowledge Graphs with Oracle RDF to Extract More Value from Your Data
Build Knowledge Graphs with Oracle RDF to Extract More Value from Your Data
 
Getting started with AsyncAPI: how to describe your Kafka cluster | Salma Sae...
Getting started with AsyncAPI: how to describe your Kafka cluster | Salma Sae...Getting started with AsyncAPI: how to describe your Kafka cluster | Salma Sae...
Getting started with AsyncAPI: how to describe your Kafka cluster | Salma Sae...
 
Dataverse opportunities
Dataverse opportunitiesDataverse opportunities
Dataverse opportunities
 
API-first design - Basis for an consistent API-Management approach
API-first design - Basis for an consistent API-Management approachAPI-first design - Basis for an consistent API-Management approach
API-first design - Basis for an consistent API-Management approach
 
Day 1 axway apim-training
Day 1   axway apim-trainingDay 1   axway apim-training
Day 1 axway apim-training
 
Oxford Common File Layout (OCFL)
Oxford Common File Layout (OCFL)Oxford Common File Layout (OCFL)
Oxford Common File Layout (OCFL)
 
The API Economy
The API EconomyThe API Economy
The API Economy
 
Banco de dados atividade de sala
Banco de dados atividade de salaBanco de dados atividade de sala
Banco de dados atividade de sala
 
Time series database, InfluxDB & PHP
Time series database, InfluxDB & PHPTime series database, InfluxDB & PHP
Time series database, InfluxDB & PHP
 
Graphql Intro (Tutorial and Example)
Graphql Intro (Tutorial and Example)Graphql Intro (Tutorial and Example)
Graphql Intro (Tutorial and Example)
 
Microservice API Gateways with NGINX
Microservice API Gateways with NGINXMicroservice API Gateways with NGINX
Microservice API Gateways with NGINX
 
Intro to signalR
Intro to signalRIntro to signalR
Intro to signalR
 
High Performance Data Streaming with Amazon Kinesis: Best Practices (ANT322-R...
High Performance Data Streaming with Amazon Kinesis: Best Practices (ANT322-R...High Performance Data Streaming with Amazon Kinesis: Best Practices (ANT322-R...
High Performance Data Streaming with Amazon Kinesis: Best Practices (ANT322-R...
 
Intro to GraphQL
 Intro to GraphQL Intro to GraphQL
Intro to GraphQL
 
GS1 EPCIS and CBV Tutorial, Auto-ID Labs, KAIST (Apr 28, 2020)
GS1 EPCIS and CBV Tutorial, Auto-ID Labs, KAIST (Apr 28, 2020)GS1 EPCIS and CBV Tutorial, Auto-ID Labs, KAIST (Apr 28, 2020)
GS1 EPCIS and CBV Tutorial, Auto-ID Labs, KAIST (Apr 28, 2020)
 

Similar to Agile, Ésszerűen

[Hungarian] Scrum Course - Sapientia University
[Hungarian] Scrum Course - Sapientia University[Hungarian] Scrum Course - Sapientia University
[Hungarian] Scrum Course - Sapientia UniversityZoltan Iszlai
 
AGILIS / SCRUM fejlesztés
AGILIS / SCRUM fejlesztésAGILIS / SCRUM fejlesztés
AGILIS / SCRUM fejlesztésOpen Academy
 
A produktivitás téveszméje - az agilis a császár új ruhája
A produktivitás téveszméje  - az agilis a császár új ruhájaA produktivitás téveszméje  - az agilis a császár új ruhája
A produktivitás téveszméje - az agilis a császár új ruhájaAndras Bujna
 
A mérnökké válás folyamata
A mérnökké válás folyamataA mérnökké válás folyamata
A mérnökké válás folyamatawaxey.gordon
 
Gonosz IkertestvéRek
Gonosz IkertestvéRekGonosz IkertestvéRek
Gonosz IkertestvéRekC4M7SX
 
Béla, mi élesedett tulajdonképpen? A request to release koncepció mire is ad ...
Béla, mi élesedett tulajdonképpen? A request to release koncepció mire is ad ...Béla, mi élesedett tulajdonképpen? A request to release koncepció mire is ad ...
Béla, mi élesedett tulajdonképpen? A request to release koncepció mire is ad ...META-INF Kft.
 
Forráskódtárak gráfalapú statikus analízise
Forráskódtárak gráfalapú statikus analíziseForráskódtárak gráfalapú statikus analízise
Forráskódtárak gráfalapú statikus analíziseDániel Stein
 
QFD folyamat - Bedzsula Bálint.pdf
QFD folyamat - Bedzsula Bálint.pdfQFD folyamat - Bedzsula Bálint.pdf
QFD folyamat - Bedzsula Bálint.pdfmkdir911
 
III. Elmélet - Az ERP rendszerek implementációja 1..pptx
III. Elmélet - Az ERP rendszerek implementációja 1..pptxIII. Elmélet - Az ERP rendszerek implementációja 1..pptx
III. Elmélet - Az ERP rendszerek implementációja 1..pptxSzabolcs Gulyás
 
A termékfejlesztés rögös útja (avagy barangolás a módszertanok és eszközök er...
A termékfejlesztés rögös útja (avagy barangolás a módszertanok és eszközök er...A termékfejlesztés rögös útja (avagy barangolás a módszertanok és eszközök er...
A termékfejlesztés rögös útja (avagy barangolás a módszertanok és eszközök er...Digital Natives
 
Agile meetup 2013_04_10
Agile meetup 2013_04_10Agile meetup 2013_04_10
Agile meetup 2013_04_10Gábor Fehér
 
Dr. Kollár Csaba: Az informatika(i biztonság) mutatószámai
Dr. Kollár Csaba: Az informatika(i biztonság) mutatószámai Dr. Kollár Csaba: Az informatika(i biztonság) mutatószámai
Dr. Kollár Csaba: Az informatika(i biztonság) mutatószámai Csaba KOLLAR (Dr. PhD.)
 
Lean tudásmenedzsment-kvalikon
Lean   tudásmenedzsment-kvalikonLean   tudásmenedzsment-kvalikon
Lean tudásmenedzsment-kvalikonTibor Gyulay
 
Nagyméretű forráskódtárak inkrementális statikus analízise
Nagyméretű forráskódtárak inkrementális statikus analíziseNagyméretű forráskódtárak inkrementális statikus analízise
Nagyméretű forráskódtárak inkrementális statikus analíziseDániel Stein
 
Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelvenSzerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelvenKrisztián Gyula Tóth
 
Outsource erőforrások kezelése - IIR Test Team Leader Seminarium
Outsource erőforrások kezelése - IIR Test Team Leader SeminariumOutsource erőforrások kezelése - IIR Test Team Leader Seminarium
Outsource erőforrások kezelése - IIR Test Team Leader SeminariumOrsolya Bánki
 

Similar to Agile, Ésszerűen (20)

[Hungarian] Scrum Course - Sapientia University
[Hungarian] Scrum Course - Sapientia University[Hungarian] Scrum Course - Sapientia University
[Hungarian] Scrum Course - Sapientia University
 
AGILIS / SCRUM fejlesztés
AGILIS / SCRUM fejlesztésAGILIS / SCRUM fejlesztés
AGILIS / SCRUM fejlesztés
 
A produktivitás téveszméje - az agilis a császár új ruhája
A produktivitás téveszméje  - az agilis a császár új ruhájaA produktivitás téveszméje  - az agilis a császár új ruhája
A produktivitás téveszméje - az agilis a császár új ruhája
 
A mérnökké válás folyamata
A mérnökké válás folyamataA mérnökké válás folyamata
A mérnökké válás folyamata
 
Gonosz IkertestvéRek
Gonosz IkertestvéRekGonosz IkertestvéRek
Gonosz IkertestvéRek
 
Béla, mi élesedett tulajdonképpen? A request to release koncepció mire is ad ...
Béla, mi élesedett tulajdonképpen? A request to release koncepció mire is ad ...Béla, mi élesedett tulajdonképpen? A request to release koncepció mire is ad ...
Béla, mi élesedett tulajdonképpen? A request to release koncepció mire is ad ...
 
Forráskódtárak gráfalapú statikus analízise
Forráskódtárak gráfalapú statikus analíziseForráskódtárak gráfalapú statikus analízise
Forráskódtárak gráfalapú statikus analízise
 
QFD folyamat - Bedzsula Bálint.pdf
QFD folyamat - Bedzsula Bálint.pdfQFD folyamat - Bedzsula Bálint.pdf
QFD folyamat - Bedzsula Bálint.pdf
 
III. Elmélet - Az ERP rendszerek implementációja 1..pptx
III. Elmélet - Az ERP rendszerek implementációja 1..pptxIII. Elmélet - Az ERP rendszerek implementációja 1..pptx
III. Elmélet - Az ERP rendszerek implementációja 1..pptx
 
Mobile weekend 2015
Mobile weekend 2015Mobile weekend 2015
Mobile weekend 2015
 
A termékfejlesztés rögös útja (avagy barangolás a módszertanok és eszközök er...
A termékfejlesztés rögös útja (avagy barangolás a módszertanok és eszközök er...A termékfejlesztés rögös útja (avagy barangolás a módszertanok és eszközök er...
A termékfejlesztés rögös útja (avagy barangolás a módszertanok és eszközök er...
 
Budapest.rb 201010
Budapest.rb 201010Budapest.rb 201010
Budapest.rb 201010
 
Agile meetup 2013_04_10
Agile meetup 2013_04_10Agile meetup 2013_04_10
Agile meetup 2013_04_10
 
Dr. Kollár Csaba: Az informatika(i biztonság) mutatószámai
Dr. Kollár Csaba: Az informatika(i biztonság) mutatószámai Dr. Kollár Csaba: Az informatika(i biztonság) mutatószámai
Dr. Kollár Csaba: Az informatika(i biztonság) mutatószámai
 
Lean tudásmenedzsment-kvalikon
Lean   tudásmenedzsment-kvalikonLean   tudásmenedzsment-kvalikon
Lean tudásmenedzsment-kvalikon
 
Alumni Release Process
Alumni Release ProcessAlumni Release Process
Alumni Release Process
 
Szoftver tesztelés
Szoftver tesztelésSzoftver tesztelés
Szoftver tesztelés
 
Nagyméretű forráskódtárak inkrementális statikus analízise
Nagyméretű forráskódtárak inkrementális statikus analíziseNagyméretű forráskódtárak inkrementális statikus analízise
Nagyméretű forráskódtárak inkrementális statikus analízise
 
Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelvenSzerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
 
Outsource erőforrások kezelése - IIR Test Team Leader Seminarium
Outsource erőforrások kezelése - IIR Test Team Leader SeminariumOutsource erőforrások kezelése - IIR Test Team Leader Seminarium
Outsource erőforrások kezelése - IIR Test Team Leader Seminarium
 

Agile, Ésszerűen

  • 1. Agile, ésszerűen Székely Sipos Sándor Zolta Elhangzott ebben a formában 2016. november 23-án a “Bit- és számtologatók” előadássorozat keretén belül a kolozsvári Babeș-Bolyai Tudományegyetemen
  • 2. Tartalom • A szoftverfejlesztés aktuális kihívásai • Vízesés modell • V modell • Agilis módszerek • Scrum • Dióhéjban • Előnyök • Hátrányok • Alternatívák • Következtetés
  • 4. Kihívások Kihívások A felhasználó igényeinek megértése A követelmények változnak A határidők rövidek Rendszerek egységbe rendezése A becslés inkább művészet, mint tudomány Projekten dolgozók motivációja és képességei Műszaki adósság (Technical Debt) Fiatal tudományág
  • 8. Műszaki adósság (Technical Debt) “A kód első kiszállítása olyan, mint amikor kölcsönt veszünk fel. Egy kis kölcsön mindaddig felgyorsítja a fejlesztést, amíg gyorsan vissza is fizetik egy újra írás által… Az adósságot vissza nem fizetni veszélyes. Minden perc, amit nem éppen helyes kóddal töltünk kamatnak számít. Egész mérnöki szervezetek állhatnak le egy meg nem szilárdított megvalósítás adósságának terhei alatt…” Ward Cunningham, 1992 Határidő Nyomás Műszaki adósság Kód minőség Tesztek
  • 9. Műszaki adósság (Technical Debt) • Megjósolhatatlanul nő • Ha észleljük, ne hallgassuk el, cselekedjünk gyorsan! • Következmények:  Növekszik a szoftver kiszállításának ideje  Nő a hibák száma  Csökkenő felhasználói elégedettség  Termék “sorvadása”  Nő a fejlesztési és fenntartási költség  Alul teljesítés  Frusztráció (fejlesztőcsapat)
  • 10. Hogyan előzzük meg, illetve harcoljunk ellene? • Megelőzés • A “Kész” szigorú definíciója (Definition of Done) • Ami a kód minőségére is kiterjed • Sonar • Extrém Programozás • TDD • Pair Programming • Kiscserkész szabály (Boy Scout Rule) • Tiszta kód (Clean Code) ajánlások
  • 11. Kiáltvány az agilis szoftverfejlesztésért Folyamatok és eszközök Egyének és kölcsönhatások Átfogó dokumentációMűködő szoftver Szerződéses megállapodás Ügyféllel történő együttműködés Terv követése Változás iránti készség
  • 12. Agilis szoftverfejlesztés 12 alapelve Mielőbbi szállítás Folyamatosszállítás Szoros együttműködés Működő szoftver Önszerveződő csapat Az elvégzetlen munkamennyiség maximalizálása Mielőbbi szállítás Folyamatosszállítás Alkalmazkodás a változó körülményekhez Motivált, megbízható egyének Önszerveződő csapat Változtatáskérésekfogadása Változtatáskérésekfogadása Szemtől-szembe való információc Technikai kiválóságok és jó tervezés Alkalmazkodás a változó körülményekhez Egyszerűség Egyszerűség Szemtől-szembevalóinformációcsere
  • 14. Kihívások Vízesés Vmodell Agile A felhasználó igényeinek megértése A követelmények változnak A határidők rövidek Rendszerek egységbe rendezése A becslés inkább művészet, mint tudomány Projekten dolgozók motivációja és képességei Műszaki adósság (Technical Debt) Fiatal tudományág Összehasonlítás
  • 15. A Scrum meghatározása “Egy olyan keretrendszer, melynek segítségével emberek komplex problémákat tudnak adaptív módon kezelni úgy, hogy közben termelékenyen és kreatívan szállítják le a lehető legértékesebb termékeket.” A Scrum Útmutató, Ken Schwaber és Jeff Sutherland Jellemzők:  Egyszerű  Könnyen érthető  Rendkívül nehezen művelhető mesteri szinten
  • 16. A Scrum keretrendszer Szabályok Iteráció Inkrementum Terméktulajdonos Scrum Master Fejlesztőcsapat Szerepek Sprint tervezés Sprint áttekintés Sprint visszatekintés Napi Scrum Események A termék teendőlistája A sprint teendőlistája Napi kimutatás (diagramok) Munkaanyagok
  • 18. Sprint – Iteráció • Hossza 2-4 hét • Célja van • Scope – fejlesztőcsapat dönt  kötelezettséget vállal!  inkrementum Készítette: Vullioud Pierre-André Forrás: http://www.freeimages.com/
  • 19. Sprint Tábla (Sprint Board) Elvégzendő Folyamatban Elvégzett (KÉSZ) Felhasználói történet PBI #1 PBI #2 PBI #3 Impl Impl Teszt CRImpl Impl CR Teszt Impl Teszt Teszt CRImpl
  • 20. Felhasználói történet (User Story) • Megrendelői igények • Megrendelők/felhasználók írják • Hétköznapi nyelvezet • Terjedelme korlátozott • Elfogadási kritériumok • Méret • Becslés • Idő • Pontok • Munkamennyiség • Komplexitás
  • 21. Sprint Tábla (Sprint Board) Elvégzendő Folyamatban Elvégzett (KÉSZ) Felhasználói történet PBI #1 PBI #2 PBI #3 Impl Impl Teszt CRImpl Impl CR Teszt Impl Teszt Teszt CRImpl
  • 22. Sprint – Iteráció Elvégzendő Folyamatban Elvégzett (KÉSZ) Felhasználói történet PBI #1 PBI #2 PBI #3 ImplImpl Teszt CR Impl ImplCR Teszt Impl Teszt Teszt CRImpl
  • 23. Sprint – Iteráció Elvégzendő Folyamatban Elvégzett (KÉSZ) Felhasználói történet PBI #1 PBI #2 PBI #3 ImplImpl Teszt CR Impl ImplCR Teszt Impl Teszt Teszt CRImpl
  • 24. Sprint – Iteráció Elvégzendő Folyamatban Elvégzett (KÉSZ) Felhasználói történet PBI #1 PBI #2 PBI #3 Impl Impl TesztCR Impl ImplCR Teszt ImplTeszt Teszt CRImpl
  • 25. Sprint – Iteráció Elvégzendő Folyamatban Elvégzett (KÉSZ) Felhasználói történet PBI #1 PBI #2 PBI #3 Impl Impl Teszt CRImpl ImplCR Teszt ImplTesztTeszt CR Impl
  • 26. Sprint – Iteráció Elvégzendő Folyamatban Elvégzett (KÉSZ) Felhasználói történet PBI #1 PBI #2 PBI #3 Impl Impl Teszt CRImpl Impl CRTeszt Impl TesztTeszt CR Impl
  • 27. Sprint – Iteráció Elvégzendő Folyamatban Elvégzett (KÉSZ) Felhasználói történet PBI #1 PBI #2 PBI #3 Impl Impl Teszt CRImpl Impl CRTeszt Impl Teszt Teszt CRImpl
  • 29. Elfogadási kritérium (Acceptance Criteria) • Pontosság • Finomítás • Elfogadási kritériumok • Kiegészítik a “Kész” fogalmát • Hasonlóság a V Modellhez • Felhasználói Elfogadási Tesztek (UAT) • BDD (Behavior Driven Development)
  • 30. Nem funkcionális követelmények (Non-Functional Requirements – NFR) • Rendszer szintű feltételek • Javallott, hogy minél több NFR része legyen a “Kész” definíciójának Gyors visszajelzés • Nem mindig lehetséges, nem mindig szükséges  Új funkcionalitás
  • 31. A Scrum keretrendszer Szabályok Iteráció Inkrementum Terméktulajdonos Scrum Master Fejlesztőcsapat Szerepek Sprint tervezés Sprint áttekintés Sprint visszatekintés Napi Scrum Események A termék teendőlistája A sprint teendőlistája Napi kimutatás (diagramok) Munkaanyagok
  • 32. A Scrum csapat Azon dolgozik, hogy minden egyes Sprint végén leszállítható legyen a termék egy “Kész”, azaz potenciálisan kibocsátható Inkrementuma • Csapattagok:  Terméktulajdonos (Product Owner)  Scrum Master  Fejlesztőcsapat Ideális létszám: 5 - 10 fő
  • 33. Terméktulajdonos (Product Owner) • Felelős a termék értékének maximalizálásáért • Feladatai: • Termék teendőlista • Tételeinek • Egyértelmű leírása • Sorba rendezése • Elérhető • Könnyen áttekinthető • Mindenki számára világos Egyetlen személy!
  • 35. Scrum Master Szolgáló - Vezető • Felelős a Scrum • Megértéséért • Betartásáért • Interakció  Terméktulajdonos  Fejlesztők  Szervezet
  • 36. Fejlesztőcsapat  Önszerveződő  Többfunkciójú (kereszt funkcionális)  Nincsenek titulusok Mindenki fejlesztő  Nincsenek alcsoportok  felelősség a vállalást illetően az egész csapatra hárul Szakemberek
  • 37. A Scrum keretrendszer Szabályok Iteráció Inkrementum Terméktulajdonos Scrum Master Fejlesztőcsapat Szerepek Sprint tervezés Sprint áttekintés Sprint visszatekintés Napi Scrum Események A termék teendőlistája A sprint teendőlistája Napi kimutatás (diagramok) Munkaanyagok
  • 38. Sprint Tervezés (Sprint Planning) • Terméktulajdonos bemutatja a Sprint során elérendő célt és azokat a termék backlog tételeket, amelyek megvalósításával a Sprint eléri célját • Mi fog elkészülni? • Hogyan? • Eredmény: Sprint teendő lista • Két hetes sprint esetén 4 órára korlátozódik
  • 39. Sprint Áttekintés (Sprint Review) • Célja: inkrementum ellenőrzése • A fejlesztőcsapat • szemlélteti a “Kész” munkát • válaszol az inkrementummal kapcsolatos kérdésekre • Informális • Nyitott • A Sprint végén • Két hetes sprint esetén 2 órára korlátozódik
  • 40. Sprint Visszatekintés (Sprint Retrospective) • Biztosítja a folyamatos fejlődést • Azonosítják és sorba rendezik • Jól működő elemek • Lehetséges javítások • Terv a Scrum csapat működésének javítására • Mikor: • Sprint Áttekintés után, a következő Sprint tervezés előtt • Két hetes sprint esetén másfél órára korlátozódik  Emberek  Kapcsolatok  Folyamatok  Eszközök
  • 41. Napi Scrum • Célja: • Lendület fenntartása • Akadályok, problémák felismerése • Csapat kommunikációjának elősegítése • Módja: • Ugyanabban az időben • Ugyanazon a helyen • Max 15 perc Mit sikerült elvégeznem tegnap? 1 Mit fogok tenni ma? Látok-e akadályozó tényezőt? 2 3
  • 42. A Scrum keretrendszer Szabályok Iteráció Inkrementum Terméktulajdonos Scrum Master Fejlesztőcsapat Szerepek Sprint tervezés Sprint áttekintés Sprint visszatekintés Napi Scrum Események A termék teendőlistája A sprint teendőlistája Napi kimutatás (diagramok) Munkaanyagok
  • 43. Termék teendő lista (Product Backlog) • A termékkel kapcsolatos változtatási követelmények egyetlen forrása • Követelmények / Jellemzők • Funkcionalitások • Tovább fejlesztések • Javítások • Élő, folyamatosan alakuló munkaanyag - dinamikus dokumentum • Sosem tekinthető teljesnek  Finomítás
  • 44. A Termék teendő lista finomítása (Backlog Refinement / Grooming) • Folyamatos tevékenység • A fejlesztőcsapat és a terméktulajdonos • Tételek: • Átnézik és felülvizsgálják • További részletekkel, becsléssel egészítik ki • Amennyiben szükséges, változatnak a sorrenden • A Scrum csapat kapacitásának nem több, mint 10%-a
  • 45. Becslés: Planning Poker Viszonylagos méret Előzményeken alapszik Nem használ átlagot Megbeszélés  Konszenzus
  • 47. A Scrum eseményei és munkaanyagai Kibocsátható termék inkrementum Sprint 2-4 hét 24 óra Sprint teendőlista Termék teendőlista Finomítás Sprint tervezés Napi Scrum Áttekintés (demo) Vissza tekintés
  • 48. Nyomon követés – kimutatások • A Scrum az átláthatóságon alapszik: • Munkaanyagok aktuális állapot  Értékoptimalizálást és kockázatkezelést érintő döntések  Sprint burndown  Cumulative flow  Velocity
  • 49. Sprint burndown diagram 0 10 20 30 40 50 60 70 80 90 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Ideális Aktuális Ütemterv előtt Késés Sprint kezdete Sprint vége Becsültidő(munkanap) Sprint napjai
  • 50. Cumulative Flow diagram 0 50 100 150 200 250 300 350 400 1 2 3 4 5 6 7 8 Elvégzett Folyamatban Elvégzendő Sprintek (tervezés után) Felhasználóitörténetekszáma
  • 51. Velocity diagram 0 5 10 15 20 25 30 35 1 2 3 4 5 6 7 Vállalt Valós Velocity: 27 Storypontokszáma Sprintek
  • 52. Sprint Lefújása  Ha a Sprint Célja elavul, okafogyottá válik  Cég irányt változtat  Piaci vagy technológiai feltételek megváltoznak  Az adott körülmények között már nincs értelme folytatni  Ki: Terméktulajdonos  Nyomasztó lehet a csapat számára  ritka
  • 53. Skálázhatóság • Nagy projekt • Nagy számú implementálandó funkcionalitás • Szoros határidők  Több csapat  Párhuzamosítható feladatok • Megközelítés: • Egymástól független munkacsomagok • Ezeknek egymásutáni illetve párhuzamos beépítése • Mindenkinek legyen munkája
  • 54. Skálázhatóság – Scrum • Több terméktulajdonos – egyetlen termék teendő lista! • Koordináció • Vezető terméktulajdonos • Finomítás és tervezés előtt • Egyeztetés a terméktulajdonosok között • Áttekintés • Közösen • Csapatonként külön-külön • Visszatekintés • Összes csapat képviselőivel is • Scrum-ok Scrum-ja (Scrum of Scrums – SOS)
  • 56. Scrum-ok Scrum-ja Mivel foglalkozott a csapatom a legutóbbi találkozásunk óta és mivel fog foglalkozni a következőig? 1 A csapatom tevékenysége gördíthet-e akadályt más csapatok elé, míg újra találkozunk, és ha igen, mi az? Vannak-e a csapatomnak olyan problémái, amelyek megoldásához más csapatok segítségére van szükség? 2 3
  • 57. Hogyan ne… “A project manager és a Scrum Master-ek heti három alkalommal telekonferenciáznak, amelyeknek keretén belül a Scrum Master-ek felváltva adnak helyzetjelentést és panaszkodnak a csapataik problémáiról. Néhány Scrum Master megkeresett, hogy nem lehetne-e ritkábban tartani ezeket a gyűléseket, mivel semmi újat nem mondanak. Ugyanazokat a problémákat hozzák fel minden gyűlésen.” Morgan Ahlström: Scrum of Scrums – A Communication Thermometer
  • 59. A Scrum pozitív hatásai • Felelősségtudat növekedése • Termék- és projektismeret • Motiváció, kreativitás • Elkötelezettség • Átláthatóság • Függetlenség • Kommunikáció, csapatszellem • Folyamatos fejlődés • “Fail fast and often”… a hibáinkból tanulunk • Szoftver hibák felfedezése időben
  • 60. Felelősségtudat növekedése Fejlesztőcsapat Becslések Döntés Fejlesztőcsapat Saját magának szab határt Együtt vállalnak kötelezettséget Felelősségtudat növekedése
  • 61. Termék- és projektismeret “Less single point of failure” Scrum Kereszt funkcionális csapatok Minden eseményen részt vesznek Csapattagok Termék ismeret Projekt ismeret Kisebb nyomás egyes személyeken
  • 62. Motiváció, kreativitás Scrum Közös, világos célok Megoldás módszerei - csapat Csapattagok Motiváció Kreativitás
  • 63. Elkötelezettség Teljes kép Big picture Elkötelezettség Scrum Közös, világos célok Megoldás módszerei - csapat
  • 66. Extrém programozás Kommunikáció, csapatszellem Készítette: Sebastian Danon Forrás: http://www.freeimages.com/ Scrum Önálló, problémamegoldó csapat Kommunikáció Csapatszellem Pair Progr TDDCI
  • 67. Folyamatos fejlődés Azonosít Lehetőségek Hibák a folyamatban Tervez Hogyan javítható a folyamat? Kipróbál Egy iteráció erejéig Megvizsgál Hogyan működött?
  • 68. Fail fast and often A hibáinkból tanulunk • A hibának nem ad lehetőséget • Mentális akadályt teremthet A legtöbb oktatási rendszer Kemény munka Idő Siker
  • 69. A hibáinkból tanulunk Kemény munka Idő Siker Hiba 1 Hiba n … ?
  • 70. Szoftver hibák felfedezése időben K ö l t s é g
  • 72. A Scrum bőbeszédű Scrum események: • Sprint tervezés • Max 4 óra • Napi Scrum • Kb. 10x15 perc = 2 óra 30 perc • Sprint Áttekintés • Max 2 óra • Sprint Visszatekintés • Max 1.5 óra Egyéb gyűlések: • Termék backlog finomítás • Max 10% - max 8 óra Több csapat esetén: • Gyűlés epic/feature lebontáshoz, csapathoz rendeléshez • Scrum of Scrums *2 hetes sprintek esetén
  • 73. Flow | Az áramlat • Gyűlések  Napirend  Összpontosítás  Résztvevők  Helyesen megválasztani  Rövidre fogni  Jegyzőkönyv • Alternatívák • Ha rövidek is, szétdarabolják a fejlesztő napját  Áramlatérzés
  • 74. Daily Stand-up • Scrum keretrendszer  Napi Scrum • Szokássá vált: rituálé, dogma, rakománykultusz (Jon Evans - cargo cult) • Ideális feltételek • A fejlesztőcsapat tagjai • Nagyjából egyszerre kezdik el a munkát • Fizikailag egy helyen vannak • Közeli időzónában vannak • Rövid ideig tart (max 10-15 perc) Reggel: kreatív, produktív periódus Nap közben: kontextus váltás vagy
  • 75. … A check-in mint alternatíva Mit sikerült elvégeznem tegnap? 1 Mit fogok tenni ma? Látok-e akadályozó tényezőt? 2 3 Belépés Megír Elolvas A s z i n k r o n
  • 76. Fő a rugalmasság • “A Scrum szerepkörei, munka anyagai, eseményei és szabályai nem megváltoztathatók, és, bár lehetséges a Scrum csupán egyes részeinek bevezetése is, az eredmény nem Scrum lesz. A Scrum csak a maga teljességében létezik és működik jól, más módszertanok és gyakorlatok, technikák gyűjtőjeként. “ Összegzés, A Scrum Útmutató c. elektronikus könyvből, Ken Schwaber és Jeff Sutherland, 2013 Július Folyamatok és eszközök Egyének és kölcsönhatások ?
  • 77. Nincsenek változások sprint közben • Úgy kell megtervezni a sprintek hosszát, hogy azok a változásnak ellen tudjanak állni Sprint Scrum Master A Scrum őre vagyok Terv követése Változás iránti készség ?
  • 79. Nagy a pörgés • Sokat kivesz a fejlesztőcsapat tagjaiból • A ciklikussága miatt elméletileg lehet lazítani a sprintek között, ezt meg kell ragadni Agile
  • 80. A Scrum fizetőssé tette az agile mozgalmat • Kurzusok • Workshop • Certification • Nagy összegekért • Lejár! • Időnként megújítani, még több pénzért • A Scrum ezt egy egészen új szintre emelte • Evangélisták, coach-ok, akik pénzért prédikálják a Scrum üzenetét
  • 81. Kik lettek a Scrum Masterek? • Többnyire a Projekt Managerek • Gyakran nem rendelkeznek szakmai tudással • Nem foglalkoztak fejlesztéssel • Minden esetre, nem a modern módjával  A Scrum gyakran nem működik Szolgáló – Vezető…
  • 82. A Scrum Master-ek néha elkényelmesednek • Scrum - “elég jól” megy • Scrum Master - elkényelmesedik • Ellentétes az agile folyamatos fejlődést ösztönző alapelvével • A Scrum Master nem ülhet tétlen
  • 83. Részmunkaidős emberek és távoli munkavégzés • Részmunkaidős emberek • Scrum események  Alig marad idejük fejlesztésre • Távoli munkavégzés • Gyűlések  Videokonferencia  Egyidejű közös munkát segítő online eszközök  Nehéz követni
  • 84. Lean szemlélet – 7 veszteség Félkész munka Szükségtelen funkcionalitás Átadások Szükségtelen folyamatok Késések Várakozás Hiba Utómunka Váltások a feladatok között Mozgás
  • 85. Kanban, mint alternatíva • Célja: a munka megszervezése az eredményesség érdekében • Kanban: folyamatok • Lean szemlélet – 7 veszteség • Világosan definiált folyamat szabályok • Feladatok átláthatósága • Folyamatban levő munka mennyiségének korlátozása • Az áramlás mérése és javítása
  • 86. Scrum Tábla Elvégzendő Folyamatban Elvégzett (KÉSZ) Felhasználói történet PBI #1 PBI #2 PBI #3 Impl Impl Teszt CRImpl ImplCR Teszt ImplTesztTeszt CR Impl
  • 87. Kanban tábla Elvégzendő Tervezés Alatt Max 3 Fejlesztés Alatt Max 5 Tesztelés Alatt Max 5 Szállítás Max 3 Kész
  • 88. Kanban • Nagyon könnyű megérteni, megtanulni • Jól együtt működik más módszerekkel • Extrém programozás • TDD • Pair Programming • Continuous Integration • Kiválóan alkalmazkodik a változáshoz • Lehetővé teszi a folyamatos szállítást (Continuous Delivery)
  • 89. Kanban • Nincsenek szerepek • Kaizen gyűlés • Bárki szervezheti • Csak az érintettek vannak jelen • Összpontosítás: Kanban tábla • Nem írja elő a becsléseket • Nehéz megmondani, hogy egyes feladatok mikor fejeződnek be • Határidők - felírhatjuk a kártyákra, de nem szükséges • Feláldozza a kiszámíthatóságot az eredményesség oltárán
  • 90. Scrum és Kanban hasonlóságok Scrum Kanban Empirikus Lean Agilis Sprintek Folyamatos áramlás Határt szab a folyamatban levő munkának Arra összpontosítanak, hogy gyorsan és folyamatosan szállítsanak szoftvert Átszervezés szükséges (kereszt funkcionális csapatok) A jelenlegi helyzetből induljunk ki Átláthatóság Folyamatosan javítják a folyamatokat Szerepek (SCM, PO) Nincsenek szerepek Becslések Nem írja elő a becsléseket Kiszámíthatóság Eredményesség
  • 92. Kapcsolat • Név: Székely Sipos Sándor Zolta • LinkedIn: https://www.linkedin.com/in/zoltaszekely • Magán jellegű mail: zzolta@gmail.com • Céges mail: zolta.szekely@wolterskluwer.com
  • 93. Felhasznált irodalom • A Scrum Útmutató, Ken Schwaber és Jeff Sutherland • Egy bevezetés a Scrum-ba, Mike Cohn • Stand up against the stand-up, Jon Evans • Lean + Agile vs Seven Wastes in Software Development, V S S N R Ram Nanduri • A Scrum keretrendszer és agilis módszerek használata a Visual Studióval, Csutorás Zoltán, Árvai Zoltán, Novák István • Essential Scrum, A Practical Guide to the Most Popular Agile Process, Kenneth S. Rubin • http://www.adaptiveconsulting.hu/kanban-vagy-scrum • https://www.linkedin.com/pulse/how-reduce-risk-missing- nonfunctional-requirements-miller-cbap
  • 94. Felhasznált irodalom • https://dzone.com/articles/digging-fail-fast-fail-often • http://www.seguetech.com/waterfall-vs-agile-methodology • https://blog.gate6.com/top-6-challenges-software- development • https://www.finextra.com/blogposting/6836/7-reasons- why-software-development-is-so-hard • https://www.wikipedia.org • http://www.freeimages.com • http://geek-and-poke.com • https://www.draw.io
  • 96. Szerzői jogra utaló megjegyzés • Szabad: • Megoszthatod — másolhatod és terjesztheted a művet bármilyen módon vagy formában • Át dolgozhatod — származékos műveket hozhatsz létre, átalakíthatod és új művekbe építheted be • A következő feltételek mellett: • Nevezd meg. A szerző vagy licencet adó által megadott módon kell a munkát megnevezni (de nem olyan módon, ami azt sugallja, hogy ők láttamoztak téged vagy a munkádat). • Ebben a licencben semmi sem károsítja vagy korlátozza a szerzői jogokat. • Több információ itt: https://creativecommons.org/licenses/by/4.0/ Nevezd meg! CC BY 4.0