Emlékeztető: Adaptív és prediktív módszertanok

Hasonló dokumentumok
INPUT PROGRAM 2. Kanban és SCRUM. KANBAN alapok

Agilis projektmenedzsment

Ami a vízesésen túl van

A Scrum Útmutató. Meghatározó útmutató a Scrumhoz: A játék szabályai. Kifejlesztette és karbantartja Ken Schwaber és Jeff Sutherland

INPUT PROGRAM Agilitás, SCRUM és Lean Startup

extreme Programming programozástechnika

Szoftvertechnológia 12. előadás. Szoftverfejlesztési módszerek és modellek. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve

Angolul: Extreme Programming, röviden: XP Agilis módszertan. Más módszertanok bevált technikáinak extrém módú (nagyon jó) használata

cím: 6725 Szeged Bokor u. 18. telefon: Innomedio Kft Scrum módszertan 1.0 Verzió Érvényes: április 1-től

A Lean alapelvének megvalósulása: Információ áramlás VSM

(Teszt)automatizálás. Bevezető

TESZTELÉS A SZOFTVER ÉLETCIKLUSÁN ÁT SZOFTVERFEJLESZTÉSI MODELLEK

Folyamatfejlesztési projektek a szolgáltató központokban

Bevezetés: Mi a CRM? A tervezési fázis helye és szerepe a CRM implementációs projektekben Jógyakorlatok: mire figyeljünk a CRM tervezés közben.

Az SAP szoftverfejlesztési módszere SAP. Keresztes János Március 19.

Feladatunk, hogy az alábbiakban látható tízgépes elrendezésre meghatározzuk az operátorok optimális kiosztását a vevői igények függvényében.

Informatikai projekteredmények elfogadottságának tényezői

Kis-és nagyvállalatok együttműködésének előnyei és nehézségei a projektmenedzser szemével. Gyutai Balázs Loxon Tessényi András - Supercharge

9. fejezet címe: Lean menedzsment jellemzése 1. lecke: Lean menedzsment alapjai Elsajátítási idő: 60 perc

Szervezetfejlesztési Program

Fejlesztési modellek és módszertanok

Scrum vagy nem scrum - ahol nem hibázhatunk Röviden a budapesti fejlesztési központról

A projekt idő-, erőforrás és költségterve 1. rész

HELYES zárójelentése) Válasz sikeresnek vagy sikertelennek nyilvánítja a projektet HIBAS

MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK A TESZT FEJLESZTÉSI FOLYAMATA A TESZTTERVEZÉSI TECHNIKÁK KATEGÓRIÁI

Projekt siker és felelősség

Agilis szoftverfejlesztés és Scrum

LEAN Menedzsment. Célcsoport

A CMMI alapú szoftverfejlesztési folyamat

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Software project management Áttekintés


Internet szolgáltatások és alkalmazások. Házi feladat október 15. gyakorlat

MIÉRT KELL TESZTELNI?

Fejlesztési projektek menedzselése IBM Rational CLM termékekkel. Ker-Soft Kft. Kaszás Orsolya - üzleti tanácsadó

Tartalom. Konfiguráció menedzsment bevezetési tapasztalatok. Bevezetés. Tipikus konfigurációs adatbázis kialakítási projekt. Adatbázis szerkezet

Intelligens eszközök fejlesztése az ipari automatizálásban Evosoft Hungary kft., Evosoft Hungary Kft.

LEAN MENEDZSMENT ALAPJAI Eger, Előadó: Tamás Lászlóné Katalin vezető tanácsadó

A Lean módszerek lehetőségei az informatika világában

Projektportfólió-menedzsment az MVM Csoportban

Ütemezés tervezése A leghátrányosabb helyzet kistérségek fejlesztési és együttm ködési kapacitásainak meger

Értékáram elemzés szoftveres támogatással. Gergely Judit Lean-klub

Lean szemlélet és könyvtár

Dr. Topár József (BME)

Szemléletmód váltás a banki BI projekteken

ig - a képzés (projekt)menedzsmentje A marketingtől l a vizsgáig llősi Zsuzsa Hajduszoboszló, december 5-7. ; Szöllősi Zsuzsa

Projectvezetők képességei

Önkiszolgáló BI Az üzleti proaktivítás eszköze. Budapest,

V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus

Információtartalom vázlata

Projektmenedzsment sikertényezők Információ biztonsági projektek

Tesztmérnök: tesztautomatizálási mérnök Feladat: Elvárások: Előnyt jelent: Beágyazott rendszer tesztmérnök beágyazott rendszer tesztmérnök Feladat:

Modellezési Kockázat. Kereskedelmi Banki Kockázatmodellezés. Molnár Márton Modellezési Vezető (Kockázatkezelés)

Profexec Services - Projektmenedzsment képzések

Versenyképesség fokozása, avagy az élenjáró élelmiszeripar

Lean Történet Today es. Első lépések: Japán. Autóipari beszállítók. Első hullám: Nemzetközi. Autóipari beszállítók

Gondolatok a PM módszertan korlátairól, lehetőségeiről amit a felsővezetőknek tudniuk kell! dr. Prónay Gábor

Fogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Web:

Nagy méretű projektekhez kapcsolódó kockázatok felmérése és kezelése a KKV szektor szemszögéből

Mi a folyamat? Folyamatokkal kapcsolatos teendőink. Folyamatok azonosítása Folyamatok szabályozása Folyamatok folyamatos fejlesztése

Barna Viktor október 11. Projektindító szeminárium a 2016-ban elfogadott, stratégiai partnerségek program támogatott pályázói számára

Minőségmenedzsment és Informatika Test-Driven Development

Erőforrások hozzárendelése

A FInish pályázat bemutatása, tájékoztatás a nyílt felhívásokról, az elnyerhető támogatásról. Viola Katalin Campden BRI Magyarország Nonprofit Kft.

H ÁT ÉN IMMÁR K I T VÁ L A S S ZA K? P rojekte k h u m á n e rő forrá s kihívásai

A TESZTELÉS ALAPJAI A TESZTELÉS ALAPVETŐ FOLYAMATA A TESZTELÉS PSZICHOLÓGIÁJA A TESZTELÉS ETIKAI KÓDEXE

TOGAF elemei a gyakorlatban

Szolgáltatás tájékoztató 2018

Szoftver újrafelhasználás

Szervezeti működésfejlesztés komplexitása CMC minősítő előadás

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

Ellátási Lánc Menedzsment

IT ügyfélszolgálat és incidenskezelés fejlesztése az MNB-nél

Megoldások a mintavizsga kérdések a VIMIAC04 tárgy ellenőrzési technikák részéhez kapcsolódóan (2017. május)

Ajánlások. az 50 év feletti potenciális önkénteseket célzó általános képzések kidolgozásához

IT biztonsági szolgáltatás csomag. ISO 9001:2000 TÜV ID: Simplexion Informatikai Kft., 1094 Budapest, Tompa utca 11, 3. emelet 24.

Üzletmenet folytonosság menedzsment [BCM]

A benchmarking fogalma

A jelentés a Véglegesítés projektszakasz (2009. november február 8.) eseményeinek összefoglalását tartalmazza.

Mobil nyomtatás működési elv és megoldás választási kritériumok

Folyamatfejlesztés Lean szemléletben. Gergely Judit A.A. Stádium Kft.

Szoftverminőségbiztosítás

Új szabvány a társadalmi felelősségvállalás fejlődéséért: ISO ÉMI-TÜV SÜD kerekasztal-beszélgetés

Vállalatfejlesztési Diagnózis

COMINN Innovációs Kompetencia a fémipari szektorban TANULÁSI KIMENET DEFINÍCIÓ

Designer képzés tematika oktatott modulok

A lean menedzsment eszközei

Projektmenedzsment tréning

BIZTONSÁGOS SCRUM VÁLTOZATOK ÁTTEKINTÉSE SURVEY ON SECURE SCRUM VARIANTS

A projektmenedzsment alapjai

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

minic studio Melinda Steel Weboldal kivitelezési árajánlat

Stratégiai döntések a húzó rendszer bevezetése során

PMO Érettségi szint és versenyelőny. Kovács Ádám

1 A SIKERES PROJEKT KOCKÁZATMENEDZ SMENT FŐ ELEMEI ÉS KULCSTÉNYEZŐI

Fogalmak ITIL. Az incidensmenedzsment folyamat főbb elemei. Időkorlátok (time limits) Incidens modellek (incident models) Hatás (impact)

Készítette: Leiter Xavéria pályázati szakreferens

A MINŐSÉGÜGY SZERVEZETI KITERJESZTÉSE ÉS A PROBLÉMÁK MEGOLDÁSA DOKUMENTUM MENEDZSMENT RENDSZER ÁLTAL

Átírás:

Agilis fejlesztés

Emlékeztető: Adaptív és prediktív módszertanok Prediktív módszertan Kövess több szabályt! Sok szabályt határoz meg A felhasználó feladata a felesleges elemek eltávolítása az aktuális fejlesztésből Pl.: szükség van változásmenedzsmentre? Nem tudjuk, ezért biztos ami biztos tartsuk meg... Hova vezet mindez? Adaptív módszertan Kövess kevesebb szabályt! Kevés szabályt határoz meg A felhasználó feladata, hogy hozzátegye azokat az elemeket, melyekre még szüksége van az adott fejlesztéshez

Kitekintés: Adaptív vs. prediktív módszertanok Pl.: MSZ EN 50128:2011 Tevékenységek száma: 10 életciklus fázis Szereplők: 10 szerepkör Eszközök: több, mint 70 technika Kimenet: 46 féle dokumentum Ajánlások különböző technikák kombinációira Ha a szabvány által ajánlott kombinációt használjuk, azt az asszesszor érvényesnek fogadja el, csak a helyes használat kérdését vitathatja Alkalmazhatóak-e az agilis módszertanok biztonságkritikus rendszerek fejlesztésében? Pl.: SafeScrum, amely egy olyan módszer amely az agilis szoftver fejlesztési alapelveket alkalmazza a biztonságkritikus szabványokra (pl. IEC 61508)

Emlékeztető: Tanulságok Vegyítsük a módszereket (és eszközöket) igényeink szerint! Tartsuk tiszteletben minden módszer szabályrendszerét! Ha használunk valamilyen módszert, és úgy döntünk, hogy nem ragaszkodunk tovább valamely szabályához, ne nevezzük többé a nevén Pl. SSADM legyen SSADM alapú Pl. Scrum legyen Scrum-alapú módszer Stb. Ne feledjük, hogy a vegyítésnek vannak hátrányai! Eml.: hibrid módszertanok

Problémafelvetés Rengeteg olyan termék készül, amit soha nem használnak semmire Az emberi gyengeséget nem tudjuk kikerülni Hosszas megfigyelést követően sem tudunk pontosan becslést adni a jövőről Nehezen kezeljük a bizonytalanságot (változásokat)

Miről lesz szó? Egy olyan módszertanról amely: Az emberekről szól Amiről azt hiszik mindent megold, pedig csak a gyengeségeket hozza felszínre Ami mindenkinek valós és helyes képet ad arról, hogy mi történik Nem módszer! A hogyant nem mondja meg! Alkalmazás: főként a SW fejlesztés területén

AGILE dióhéjban Ügyesen/gyorsan reagálni a változásokra Legyen ritmus (pl. hallgató vizsgára készülése utolsó pillanatban) Mi a helyes? Vitassuk meg? Próbáljuk ki? Működő terméket hozzunk létre (nem terveket gyártunk) Csapatmunka (az emberek interakciója a lényeg) Gyakorlatorinetált (nem teória), változás iránti készség Együttműködés az ügyféllel/ megrendelővel

Agile manifesto/agilis kiáltvány I. 1. Legfontosabbnak azt tartjuk, hogy a vevőnk elégedett legyen, mert értékes szoftvert szállítunk neki hamar és folyamatosan. 2. Elfogadjuk, hogy a követelmények változhatnak akár a fejlesztés vége felé is. Az agilis módszertanok befogadják a változást a megrendelő versenyképességének érdekében. 3. Gyakran szállítsunk működő szoftvert, pár hetes és hónapos időközönként, lehetőleg a rövidebb periódust választva. 4. A megrendelők, üzleti szakemberek és a szoftverfejlesztők dolgozzanak együtt minden nap a teljes projekt során. 5. Építsük motivált egyénekre a projekteket. Teremtsük meg nekik a számukra szükséges környezetet és támogatást, és bízzunk bennük, hogy elvégzik a munkát. 6. A személyes beszélgetés az információ átadásának leghatásosabb és hatékonyabb módja a fejlesztő csapaton belül.

Agile manifesto/agilis kiáltvány II. 7. Az előrehaladás elsődleges mércéje a működő szoftver. 8. Az agilis módszertanok elősegítik a fenntartható fejlesztést. A szponzoroknak, fejlesztőknek, felhasználóknak korlátlan ideig képesnek kell lenniük az egyenletes sebesség megőrzésére. 9. A folyamatos figyelem a technikai kiválóságra és a jó tervezésre fokozza az agilitást. 10. Az egyszerűség az el nem végzett munkamennyiség maximalizálásának művészete alapvető érték. 11. A legjobb architektúrák, követelmények és rendszertervek az önszerveződő csapatmunkából alakulnak ki. 12. A fejlesztői csapat rendszeres időközönként megfontolja, hogyan válhatna hatékonyabbá és ennek megfelelően változtatja viselkedését.

Középpontban az ember (értékek) Elkötelezettség Koncentráció Nyitottság Bátorság Tisztelet A jó csapat is holtig tanul!

SHU-HA-RI SHU: amikor a tanuló követi a mestere minden instrukcióját kérdés nélkül (szabálykövetés) HA: amikor a tanuló tanárrá válik és elszakad mesterétől (szabályalkotás) RI: te magad vagy a szabály 守 - 破 - 離

Emlékeztető: Agilis életciklus

Agilis módszertan alkalmazása egy szervezetben Az alkalmazás feltételei: Kevesebb, gyakorlottabb és nagyobb szakértelemmel rendelkező fejlesztő A szervezet támogatja a folyamatos párbeszédet a fejlesztők és megrendelők között A szervezet megbízik a fejlesztőkben és elfogadja azok döntéseit Munkakörnyezet lehetővé teszi a fejlesztők közötti gyors, hatékony kommunikációt Mikor ne alkalmazza a szervezet? Szétosztott (több különböző helyszínen történő) fejlesztés A vezetés túlságosan parancsosztó jellegű Nagy projektméretek Mikor alkalmazza a szervezet? Összeszokott, tapasztalt fejlesztők Gyakran változó követelmények Kis/közepes projektméret

Agilis módszertan és módszerei Saját módszerein túl integrálhatja bármely eddig bemutatott strukturális, objektumorientált módszert is! XP PP Kanban LEAN DSDM CI SCRUM TDD FDD Crystal BDD

SCRUM

Bevezetés Rögbiből átvett kifejezés: dulakodás Iteratív és inkrementális (eml.: fejlesztési életciklus modellek) Nagyfokú adaptivitás Jellemzők, alapelvek: A megrendelő a fejlesztő csapat része Gyakoriak a köztes szállítások működő funkcionalitással A köztes állapotokat is ellenőrzik, hogy ne csak a végén derüljenek ki a problémák Gyakori a kockázatelemzés: napi megbeszélést tartanak Hatékony munkavégzés: a több munkaóra nem feltétlenül vezet több eredményre

Szerepkörök Terméktulajdonos (Product Owner) A megrendelő képviselete A csapat csak az üzleti szempontból fontos dolgokkal foglalkozzon A termék-teendőlistát (product backlog) bővítse a megrendelői igényekkel A fejlesztőcsapattal együtt prioritással lássa el az igényeket Scrum Master Akadályok elhárítása (sprint megvalósításának biztosítása) Scrum helyes alkalmazása (szabályok betartatása) Munka feltételeinek megteremtése és megtartása Csapat védelme (így csak a feladatra koncentrálhatnak) Nem a csapat vezetője! Csapat (team) A termék elkészítése Átlagosan 5-9 fő Önszerveződésen alapul

Folyamat és szereplők a folyamatban

Product Backlog Felelőse: Product Owner A termék(ek)re vonatkozóan tartalmaz magas szintű követelményeket Fejlesztési célok Eml.: követelmények csoportosítás (funkcionális és nemfunkcionális) A követelménylista elemeit prioritás szerint rendezik Becslések a fejlesztések üzleti értékére és ráfordításigényére Az üzleti értéket a PO határozza meg, A fejlesztési ráfordításigényt a fejlesztők határozzák meg A becslések képezik az alapját a prioritások meghatározásának Azt a fejlesztést valósítjuk meg először, aminek jobb a megtérülése

Product Backlog Item (PBI) Követelmények: INVEST Independent (független): PBI legyen önálló, ne függjön más PBI-ktől Negotiable (megbeszélhető): PBI-k nem szerződések, ezért biztosítani kell a megvitathatóságukat Valuable (értékes): minden PBI biztosítson értéket az érdekeltek szemszögéből nézve Estimate-able (becsülhető): minden PBI méretének becsülhetőségét biztosítani kell Small (kicsi): olyan méretű PBI-ket kell definiálni, melyek jól méretezhetőek/tervezhetőek Testable (tesztelhetőség): minden PBI legyen ellenőrizhető és definiálja az ellenőrzéséhez szükséges információkat

User Stroy User Story (felhasználói történet): a termék funkcióinak magas szintű, megrendelő-központú leírása Kártya előlapja: Szerep (Ki?) Funkció (Mit?) Érték (Miért?) Conversation: úgy legyen megfogalmazva, hogy Lehessen róla beszélgetni Lehessen emlékezni rá Kártya hátlapja: DoD: Definiton Of Done Elfogadási kritérium Confirmation: az ellenőrzéshez szükséges legfontosabb ismeretek

Product Backlog (példa) Project: Shopping Website Priority Product Backlog Items User Story # 1 Database Creation 9 2 Login Page 15 3 Category Paga 23 4 Payment Process 18 5 Contact Page 3 6 Banner Area 1 User Story As an operations engineer, I want to be able store all customer information, so that I can serve to customers. As a site member, I want to login the site, so that I can do online shopping. As a site member, I want to be able to look for different categories of brands, so that I can choose what I want. As a site member, I will be able to make payment, so that my deliveries can be shipped. As a site member, I want to be able to find contact information of the site, so that in case I need, I can contact. As a marketing personnel, I want to be able to make advertisement, so that I can attract visitors. Story Point Estimate (Hours) 40 240 20 160 100 400 40 240 13 80 8 40

Sprint tervező megbeszélés Sprint (futam): a futamtervezés során kiválasztott teendők megvalósítására szánt rövid iteráció (2-4 hét) Minden sprint előtt megtartják, céljai: Az elvégzendő feladatok kijelölése a Product Backlog-ból Időszükségletek becslése Kommunikáció az érdekeltekkel Sprint Backlog előkészítése Sprint Review és Retrospective előkészítése Maximum 8 óra hosszúságú (4 hetes sprint) Rövidebb sprint esetén rövidebb

Sprint Backlog

Daily stand-up (Napi megbeszélés) Rövid (kb. 15 perc), naponta (és állva) tartott megbeszélés, ahol a csapattagok megbeszélik, hogy ki: Mit csinált tegnap? Mit fog csinálni ma? Vannak-e akadályok a céljai elérésben? Semmilyen problémát nem söpörnek a szőnyeg alá Mindenkit meghallgatnak, aki felismer valamilyen problémát

Sprint Review A sprint során mely munkák készültek el és melyek nem Az elkészült munka bemutatása a PO-nak és a fejlesztésben érdekelteknek Demo Be nem fejezett munkát nem szabad bemutatni! Maximum 4 óra hosszúságú (4 hetes sprint) Rövidebb sprint esetén rövidebb

Retrospective (visszatekintés) Folyamatos folyamatfejlesztés Célja meghatározni, hogy: Mi ment gördülékenyen? Mi működött jól? Mik okozott problémákat, hibákat? Mi nem ment jól? Mit kellene másképpen csinálni a következő sprintben? Hogyan növeljük a hatékonyságot? Hogyan szűntessük meg a problémákat? Minden csapattag elmondja a véleményét az utolsó sprinttel kapcsolatban A csapat megegyezik hogy mit változtatnak a fejlesztési folyamaton a következő sprintben Maximum 3 óra hosszú (4 hetes sprint) Rövidebb sprint esetén rövidebb

Becslés, folyamatmonitorozás, metrikák I. Burn-down/Burn-up chart A sprint teendőlistájából hátralévő munka mennyiségét mutatják Mindenki számára elérhetők Minden nap frissítik őket Burn-down chart: Veszély (elvégzendő tevékenységek száma elvégzett tevékenységek száma)/nap Burn-up chart: (elvégzendő tevékenységek száma nem elvégzett tevékenységek száma)/nap 2018.11.15. Korszerű módszerek a közlekedésautomatikai rendszerek fejlesztésében

Becslés, folyamatmonitorozás, metrikák II. Burn-down chart lehetséges lefutások

Becslés, folyamatmonitorozás, metrikák III. Velocity (sebesség): a csapat sebessége a sprint során elkészített elemek száma (összpontszáma) A sebességbecslés céljai: Jól becsülhető,hogy az ismert teendőlista mikor fogy el Megmutatja, hogy a folyamatváltoztatások javítottak-e a hatékonyságon PO felhasználja release tervezéshez: Hány csapatnak hány sprint fog kelleni a kívánt funkcionalitás eléréséhez? A Burn-down/Burn-up chart-ban célszerű megjeleníteni Új csapatok esetén a sebesség jellemzően futamról-futamra nő Tapasztalt csapatok esetén közel állandó

SCRUM összefoglalás PROCESS PEOPLE ESTIMATION USER STORY 2018.11.15. Korszerű módszerek a közlekedésautomatikai rendszerek fejlesztésében

Kanban

Bevezetés Kan = kártya (japán) Toyota: a folyamatban lévő munkák alatt lekötött készletek korlátozása a gyártótérben Alapja a Lean húzó ütemezési rendszer: egy elem csak akkor léphet a következő állapotra, ha felszabadul erőforrás amely foglalkozni tud vele A Kanbant adaptálták a SW fejlesztésbe, mint projekt menedzsment megközelítés

A kanban alkalmazásának hasznai A szűk keresztmetszetek időben azonosíthatóak Változékony környezet kezelhetővé válik Növeli a folyamatok átláthatóságát (várakozási idők csökkennek) Csökkenti a felhalmozott erőforrásokat (ezáltal csökkenti a vállalti költségeket) Hulladék megszűntetése (túltermelést elkerüljük, ezáltal időt és erőforrásokat spórolunk meg)

Alapkoncepció Munkafolyamatok ábrázolása Kanban tábla (Kanban board) Elvégzendő feladatok azonosítása Kártya: hol tart a feladat a folyamatban WIP (work in progress) korlátozása A folyamatban lévő tevékenységek mennyiségének korlátozása minden állapotban Átfutási idő (lead time) mérése A tevékenységek végrehajtására fordított átlagos idő Mérés célja a folyamat optimalizálása 6

Kanban tábla (példa)

Rugalmas tervezés (nincs időigénye) és WIP korlát A munkafolyamat ábrázolásával csökken az egyik feladatról a másikra való áttérés sebessége Ha egy folyamatnak hosszabb időtartamra van szüksége, akadálytalanul végrehajtható (nem kell darabolni), a befejezett feladatok a következő állapotba kerülhetnek A várakozási idő csökken Stressz csökken Szűk keresztmetszetek azonosítása és feloldása Függőség csökkentése a feladatok/részfeladatok között

Húzó rendszer Két különböző sebességű csapat közti konfliktus feloldása Ha az egyik csapat végez a tevékenységgel, akkor magára veszi a következőt (vagyis akkor kezdi el amikor már készen áll rá) Nem kap külső utasítást a tevékenység megkezdésére A két csapat közé célszerű egy korlátozott kapacitású puffert tenni, melynek hasznai: A munka felhalmozódása elkerülhető Erőforrás kiegyenlítődés Várakozási idő csökken A csapatok állandó tempót tarthatnak (előtérben a minőség)

Ciklusidő minimalizálása Feladatok ciklusidejének mérése a folyamatok optimalizálása céljából (ciklusidők csökkentése) Szűk keresztmetszetek azonosítása Hogyan vehetjük észre a Kanban táblában? Az n. oszlop kártyákkal telített, míg az n+1. oszlop üres

Folyamatos szállítás (continous delivery) Rendszeres időközönként folyamatosan szállítunk Folyamatos kapcsolattartás a felhasználóval: Felhasználó céljainak megértését segíti Amire nincs igény, azzal nem foglalkozunk Visszajelzéseket kapunk a szállított termékről Követelmények: A fejlesztők nem lesznek túlterheltek különböző igényekkel A fejlesztők a szállításra koncentrálnak Nincs részben befejezett tevékenység A hangsúly a munka befejezésén van, nem a megkezdésén A munkafolyamat optimalizálása (inkrementális fejlesztés segítése)

A metrikák megjelenítése, követése Metrikák: WIP (work in progress) Idők Ciklusidő (cycle time) Átfutási idő (lead time) Bármilyen diagramban Jellemző a cumulative flow diagram

Középpontban a hatékonyság Középpontban az ügyfél igényei állnak Értékteremtés az ügyfél számára Hatékonyság elérése: Kommunikáció az ügyféllel, az igények reálissá tétele Megfelelő WIP beállítása a feladatokhoz Húzó rendszer: minden feladatot befejeznek Átfutási idő optimalizálása: gyorsul a szállítás Metrikák nyomon követése: szűk keresztmetszetek feltárása, azonnali beavatkozás

Érték áramlás Minden olyan tevékenység, amelyet a projekt elejétől a végéig elvégeznek értékadás szempontjából: A tevékenység értéket ad a projekthez A tevékenység nem ad értéket a projekthez, de kikerülhetetlen az elvégzése A tevékenység nem ad értéket a projekthez, viszont kikerülhető az elvégzése (hulladék) Hulladékok a SW fejlesztésben: Kódfejlesztési hulladék Projektmenedzsment hulladék Csapatmunkából származó hulladék

Hulladékok a kódfejlesztésben Részben befejezett munka: Elavulhat Használhatatlanná válhat Megoldás: Iteratív fejlesztés Modularizálás Hibák a kódban: A tesztelés és a javítás időigényes Megoldás: Iteráción belüli tesztelés Folyamatos kapcsolat az ügyféllel (visszajelzések fogadása/feldolgozása)

Hulladékok a projektmenedzsmentben Extra folyamatok: Pl. szükségtelen dokumentáció (idő és erőforrás igényes) Megoldás: Tevékenységek értékelése relevancia szempontjából Dokumentáció felülvizsgálata Extra funkciók: Azok a funkciók, melyekre az ügyfélnek nincs szüksége Megoldás: Folyamatos kommunikáció az ügyféllel (követelmények letisztítása) Feladat átadás: a munka átadása egy személytől/csapattól egy másiknak (a befejezést követően) Tudáshiány keletkezik Megoldás: Folyamatok grafikus megjelenítése (tisztává tétele)

Hulladékok a csapatmunkában Váltogatás a feladatok között: több feladat egyszerre történő megoldása (multitasking) Megoldások: Csak egy tevékenységgel foglalkozzunk A nagyobb tevékenységeket bontsuk fel kisebbekre Folyamat átláthatóságának javítása Tevékenységek közti függőségek csökkentése Metrikák használata (szűk keresztmetszetek megszűntetése) Várakozások: az információk beszerzésére irányulnak Megoldások: Hozzuk meg a döntéseket, ne várjunk az utasításra Az információforrásokat csak szükség esetén használjuk fel

Kanban összefoglalás Alkalmazás: bejelentett hibajegyek gyors kezelése PROCESS célja: minél hamarabb DONE WIP CUMULATIVE FLOW DIAGRAM 2018.11.15. BOTTLENECK Korszerű módszerek a közlekedésautomatikai rendszerek fejlesztésében

Scrum vs. Kanban Összehasonlítás

Szerepkörök Scrum Kanban Product Owner (PO) Scrum Master (SM) Team Nincsenek Mindkettő kiegészíthető további szerepkörökkel, ha a fejlesztés ezt igényli! De győződjünk meg arról, hogy az általunk kialakított szerepkör hozzáadott értéket képvisel, és nem ütközik a módszer más szerepköreivel!

Munkafolyamat napi megbeszélés Scrum Daily stand-up: a Scrum-csapat minden nap rövid megbeszélést tart ugyanabban az időben, ugyanazon a helyen Aznapra tervezett feladatok Akadályok Stb. Egyénközpontúság Kanban Nem szabályozott Ha megtartják Szűk keresztmetszetek Stb. Tábla központú

Munkafolyamat lefutási grafikon Scrum Burn-down chart Célja, hogy a csapat világosan lássa az ütemtervhez képesti aktuális helyzetet a sprint folyamán Elmaradás esetén gyors beavatkozás Kanban Nem szabályozott Bármilyen grafikon formát alkalmazhatnak a munkafolyamatok követésére Példa: cumulative flow diagram

Munkafolyamat lefutási grafikon Scrum: burn-down chart Kanban: cumulative flow diagram

Iterációk Scrum Kanban Iterációk Eml.: életciklus modellek Időkeret: 1-4 hét (ütem!) Szakaszai: Tervezés Megvalósítás Kibocsátás (verzió) Folyamatfejlesztés (retrospective) Nem ír elő iterációkat Nincs időkeret A szakaszok (tervezés, folyamatfejlesztés, kibocsátás) időpontja tetszőlegesen választható Rendszeres tevékenységek (pl. naponta) Pl. Szükség esetén végezzük el (pl. új release kiadása egy új funkció sikeres integrációjakor)

Iterációk (példák) 1. hét 2. hét 3. hét 4. hét 5. hét 6. hét 7. hét 8. hét Egy ütem (scrum sprint) SPRINT 1 SPRINT 2 Három ütem Igényvezérelt (tervezés és kiadás igény esetén) Tervezés Demó verzió Verzió kiadás Visszatekintés

Iterációkon belüli változtatás lehetősége (új igények) Scrum Scrum csapat: Nem tudjuk ezt az új tevékenységet vállalni ebben sprintben. Javasoljuk, hogy beszéljen a PO-val. PO rögzíti az igényt a PB-be A következő tervezéskor a PO és a csapat újradefiniálják a prioritásokat és eldöntik a következő sprint során elvégzendő tevékenységeket (az új igény vagy köztük lesz vagy nem) Válaszidő: sprint hossza Kanban Kanban csapat: Elhelyezzük feladatot a Teendők között, de a WIP korlátaink miatt nem tudunk azonnal foglalkozni vele, amint lesz szabad kapacitásunk, megkezdjük az új igény megvalósítását. Válaszidő: szabad kapacitás keletkezésének ideje

Inkrementális szemlélet A Scrum és A Kanban is inkrementális szemléletű Emlékeztető: életciklus modellek Egy Scrum-csapat csak olyan elemeket vállal el, amelyek egy sprinten belül teljesíthetőek Ha egy elem túl nagy ahhoz, hogy beférjen a sprintbe, a csapat és a PO együttesen próbálja kisebb részekre bontani Nincs szabály arra nézve, hogy az elemeknek bele kellene férniük valamely időkorlátba Cél az átfutási idő minimalizálása, ezért a folyamatokat szintekre (kisméretű részekre) bontják

Inkrementális szemlélet (példák)

WIP korlátozása I. Scrum Kanban Időegységre korlátozott (iterációk) Sprint backlog SCRUM - Sprint backlog (egyszerűsített) Tevékenység Folyamatban Elkészült Tevékenységekre korlátozott (munkafolyamat-lépések) Kanban-tábla Kanban-tábla (egyszerűsített) Tevékenység Folyamatban Elkészült 3 O O P P Q Q R R

WIP korlátozása II. Scrum Indirekt korlát: a csapat a sprint elején eldönti, hogy milyen tevékenységek kerüljenek fel az adott sprint backlogra Csapat sebességét mérik, ebből következtetni tudnak a korlátokra Kanban Direkt korlát: a csapat a Kanban-tábla tevékenységeihez egy-egy számot (korlátot) rendel Minden tevékenységhez számot kell rendelni A munkafolyamatokon való áthaladás ideje mérhető (teljesítési határidők becslése) Nem célszerű túl sok tevékenységet egyszerre folyamatban tartani! Célszerű nagyjából azonos méretű tevékenységeket definiálni!

Táblák alaphelyzetben állítása, újraindítása Scrum Sprint végén a sprint backlog alaphelyzetbe kerül Kanban A Kanban táblát sohasem kell alaphelyzetbe állítani (folyamatosság) SCRUM - Sprint backlog (1. nap) SCRUM - Sprint backlog (sprint közben) SCRUM - Sprint backlog (utolsó nap) Tevékenység Folyamatban Elkészült Tevékenység Folyamatban Elkészült Tevékenység Folyamatban Elkészült O O O P P P Q Q Q R R R

Táblák kezelése I. Scrum Sprint backlog: egy csapathoz tartozik, csak a csapattagok változtathatják meg Keresztfunkcionális csapat: a sprintben megvalósítandó tevékenységek megvalósításához szükséges minden szaktudással és képességgel rendelkezik Kanban Kanban tábla: egy tevékenységhez tartozik Szabályok szükségesek arra nézve, hogy kik és hogyan használhatják a táblát Opcionálisan keresztfunkcionális csapat is kezelheti

Táblák kezelése II. Scrum Kanban SCRUM - Sprint backlog (egyszerűsített) Tevékenység Folyamatban Elkészült Kanban-tábla (egyszerűsített) 3 Tevékenység Folyamatban Elkészült O P Q R O P Q R

Feladatlista és priorizálás Scrum Kanban Product backlog elemeinek sorba rendezése Hatását a következő sprintre fejti ki Nem definiált: tetszőleges priorizációs mechanizmust alakíthatunk ki (ha akarunk) Döntési szabályokat kell definiálni, hogy világos legyen a következő feladat, pl.: Mindig a legfelső elemet kell választani Mindig a legrégebbi elemet kell választani A csapat kapacitását egyenlő arányban kell elosztani a termékek között (lásd később) Stb.

Empirikusság I. A Scrum és a Kanban is empirikus módszerek: kísérletezésen keresztül a felhasználónak kell saját körülményeinek megfelelően hangolni őket Milyen típusú szabályozókkal konfigurálhatjuk a folyamatainkat? Direkt szabályzók Tervezhetőség Megvalósítási sebesség Átfutási idő Minőség Stb. Indirekt szabályzók Fejlesztők száma Sok kis csapat/kevés nagy csapat Alacsony WIP korlát/ Magas WIP korlát Rövid iterációk/hosszú iterációk Stb.

Empirikusság I. (példák) Scrum Kik legyenek a csapatban? Mennyi tevékenységet emeljen be a csapat egy sprintbe? Kanban Mekkorára állításuk be a WIP korlátot? A Kanban kevesebb szabályt ír elő, ezért több paraméter szabályozásáról kell gondoskodni!

Empirikusság II. Mind a Scrum mind a Kanban esetében a folyamat: Változtassunk valamely paraméteren (cél: hatékonyság növelése) Vizsgáljuk meg a változtatás eredményét Vonjuk le a tanulságokat és annak megfelelően újra 1. lépés Ciklikus visszacsatolás: Hosszú visszacsatolási ciklus: a folyamatfejlesztés üteme lassú Túl rövid visszacsatolási ciklus: a folyamataink nem tudnak stabilizálódni a változtatások között

Empirikusság (példák) Rövid visszacsatolási ciklus gyors folyamatfejlesztés Scrum példa: páros programozás Visszacsatolási idő: akár néhány másodperc is lehet Ennek a for ciklusnak nem 0-tól kellene futnia? Jól fejlesztjük a terméket? (emlékeztető: verifikáció) Kanban példa: szűk keresztmetszetek a Kanban-táblában Az n. oszlop adatokkal telített, míg az n+1. oszlop üres (példa!) Hosszú visszacsatolási ciklus lassú folyamatfejlesztés Scrum példa: Sprint Visszacsatolási idő: néhány hét Ennek a számlálónak a maximális értéke nem 100 kell legyen? Jó terméket fejlesztünk? (emlékeztető: validáció) Kanban példa: átfutási idő Minden alkalommal frissítendő, amint egy tevékenység elkészül Ha nem vagy ritkán frissítik elvész a megfelelő visszacsatolás lehetősége

Becslés és tervezés Scrum Feladatok egymáshoz viszonyított mérete A sprintek végén az elvégzett feladatok méretét összeadva adódik a csapat sebessége (v: velocity) A sebesség alapján készíthetőek el a release-tervek Kanban A tervezés nem előírás Ha vállalásokat (pl. határidőket) kell teljesíteni, az előre jelezhetőséget ki kell dolgozni Scrum-hoz hasonlóan becslés Azonos méretű feladatokra bontás A funkciók MMF-ekbe (minimum marketable feature, minimális hasznos funkció) csoportosítása és az MMF átlagos átfutási idejének mérése Stb.

Becslés és tervezés (példa)

Termékek párhuzamos fejlesztése Scrum és Kanban esetén is alkalmazható Hány csapatunk van? Egy csapat: A csapat egy sprintben egy termékre koncentrál A csapat egy sprintben több termékre koncentrál Több csapat: Egy csapat egy sprintben egy termékre koncentrál Egy csapat egy sprintben több termékre koncentrál Termékek megkülönböztetése a táblákon Pl. különböző színű kártyák használata Pl. Vízszintes sávok alkalmazása

Termékek párhuzamos fejlesztése SCRUM Product backlog SCRUM Sprint backlog (sprint közben) SCRUM Sprint backlog (sprint közben) A A Tevékenység Folyamatban Elkészült Tevékenység Folyamatban Elkészült B C B A A 1. termék B A D C A B B 2. termék B A B A 3. termék A

Lean szemlélet Scrum és Kanban is Lean szemléletű JIT (Just In Time) szemlélet Húzórendszer: amint a csapat végez egy feladattal újat húz ki vagyis nem kívülről tolják a csapatra a feladatot Lean Kaizen folyamatos javítás elve Stb. A Scrum kevésbé Lean a tevékenységek időkeretek közé szorítása miatt Folyamatosan rövidebb és rövidebb iterációkat bevezetésével közelítjük a Kanban elvet Egy hét alatt érdemes elgondolkodni az időkeret megszűntetésén

Kanban vs. Scrum hasonlóságok összefoglalás Agilis módszertan technikái Húzórendszeren alapulnak Korlátozzák a végrehajtás alatt lévő feladatok számát (de különböző módon) Folyamatos folyamatfejlesztés Korai és gyakori szoftverkibocsátásra koncentrálnak Önszerveződő csapatok Feladatok részfeladatokra bontása Termékek párhuzamos fejlesztését kezelik Empirikusság (folyamatos kísérletezés és hangolás) Lean szemlélet alkalmazása

Kanban vs. Scrum különbségek összefoglalás Scrum Kanban Időkeret közé szorított iterációk Csapat elköteleződése Sebesség Keresztfunkcionális csapatok Feladatok megfelelő méretre bontása Lefutási diagram használata kötelező Indirekt WIP korlát Kötelező becslés Folyamatban lévő sprinthez új tevékenység nem adható Sprint backlog egy csapat kezelése alatt Priorizált product backlog Időkeret használata opcionális Csapat elköteleződése opcionális Átfutási idő Jellemzően specializált csapatok Feladatméret nem korlátozott Bármely diagram használható Direkt WIP korlát Opcionális becslés Bármikor felvehető új tevékenység, ha lesz rendelkezésre álló kapacitás, akkor végrehajtják Kanban tábla megosztható Priorizálás opcionális

Összefoglalás Agilis fejlesztés Scrum Kanban Scrum és Kanban összehasonlítása

Köszönöm a figyelmet!