Ez idézte elı az olyan fejlesztési folyamatokat, amelyek a gyors szoftverfejlesztésre és átadásra összpontosítanak.

Hasonló dokumentumok
extreme Programming programozástechnika

Ami a vízesésen túl van

Object Orgy PROJEKTTERV 1 (9) Adattípusok menedzselése Palatinus Endre

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

A folyamat közös fázisai. A szoftverfolyamat modelljei. A vízesésmodell fázis: követelmények elemzése és meghozása

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

Bevezetés a programozásba

Információs rendszerek Információsrendszer-fejlesztés

Adatstruktúrák, algoritmusok, objektumok

Agilis szoftverfejlesztés és Scrum

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

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

A programkód átvizsgálásának hatékonyságát két ok magyarázza:

Információtartalom vázlata

Szoftverspecifikáció fázis: Követelmény specifikáció. 2. fázis: Követelmények feltárása és elemzése

Teszt terv Új funkció implementációja meglévı alkalmazásba

Tesztelés az XP-ben Tesztelés az XP-ben. A tesztelés kulcsjellemzői:

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

Agilis projektmenedzsment

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

ELO dokumentumkezelı bevezetése a Market Építıipari Zrt-ben

01. gyakorlat - Projektalapítás

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

Projektmenedzsment Szervezet Szervezeti és Mőködési Szabályzat

A szoftverfolyamat és s a tesztelés

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

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

Az Innováció és az ember avagy: Miért (nem) szeretnek a felhasználók kattintani?

Integráci. ciós s tesztek. ciós s tesztek (folyt.) Integration Level Testing (ILT) Ficsor Lajos. Miskolci Egyetem Általános Informatikai Tanszék

A külsı minıségbiztosítás jelentısége az e-kormányzati fejlesztésekben,

30 MB INFORMATIKAI PROJEKTELLENŐR

Az országos projekt állása,

Informatikai projektmenedzsment

SZEGHALOM VÁROS ÖNKORMÁNYZATA POLGÁRMESTERI HIVATALÁNAK SZERVEZETFEJLESZTÉSE MINİSÉGIRÁNYÍTÁS AZ ÖNKORMÁNYZATOKNÁL 1. MINİSÉGÜGY AZ ÖNKORMÁNYZATOKNÁL

Verifikáció és validáció Általános bevezető

Szoftver-technológia I.

Szoftvertermékek csoportjai. A szoftver. Bemutatkozás és követelmények

Európai Újjáépítési és Fejlesztési Bank. Az EBRD közbeszerzési politikával kapcsolatos tevékenységei. Jan Jackholt Igazgató Közbeszerzés

TOGAF elemei a gyakorlatban

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

Tisztán kivehetı tendencia: kommunikációs hálózatok egyre bonyolultabbakká válnak Hálózat bonyolultsága

Ujj Tamás * VALÓS IDEJŐ ADATTÁRHÁZAK

KAIZEN WORKSHOP. Dr. Németh Balázs Ügyvezetı igazgató Kvalikon Kft. LEAN modulok KAIZEN. Folyamatos. anyagáram. Emberek bevonása

Informatikai ellenırzések, az informatika szerepe az ellenırzések támogatásában

KÉPZİI FELHÍVÁS. Cím: 1134 Budapest, Tüzér u Tel.: +36 (1) Fax: +36 (1)

MIÉRT KELL TESZTELNI?

Alkalmazásportfólió. Szoftvermenedzsment. menedzsment. Racionalizálás. Konszolidáció. Nyilvántartás. Elemzés

Az E-kereskedelem és egyéb e-szolgáltatások támogatása címő Pályázati felhívás és útmutató II. számú melléklete: Árajánlati sablon

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

E L İ T E R J E S Z T É S

GAZDASÁGI ÉS KÖZLEKEDÉSI MINISZTÉRIUM. Szóbeli vizsgatevékenység

Név: Neptun kód: Pontszám:

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

Informatikai projektellenőr szerepe/feladatai Informatika / Az informatika térhódítása Függőség az információtól / informatikától Információs

Szoftvertechnológia ellenőrző kérdések 2005

ziesedése az informáci

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

Web-programozó Web-programozó

A kompetencia alapú képzés bevezetésének elméleti és gyakorlati kérdései

Elmaradott vidéki térségek fejlesztése

Szoftver újrafelhasználás

Továbblépés a TQM felıl a LEAN menedzsment bevezetése felé

IT biztonsági szintek és biztonsági kategorizálási minta

Támogatási lehetıségek a válságban: pályázati források és adókedvezmények

Információbiztonsági Szabályzat elkészítése és javasolt tartalma. Debrıdy István Németh Ákos

III. Alapfogalmak és tervezési módszertan SystemC-ben

Termelési rendszerek fejlesztési alapelveinek kiterjesztése üzleti folyamatokra az AUDI HUNGARIA MOTOR Kft.-nél

A-NET Consulting a komplex informatikai megoldásszállító

Informatikai kommunikációs technikák a beszállító iparban

KÖRNYEZETI FENNTARTHATÓSÁGI SEGÉDLET. ÚMFT-s. építési beruházásokhoz. 1.0 változat augusztus. Szerkesztette: Kovács Bence.

INNOVATÍV ÖTLETEK MEGVALÓSÍTÁSA

UNIÓS JOGI AKTUSRA IRÁNYULÓ JAVASLAT

Bevezetés Mi a szoftver? Általános termékek: Mi a szoftvertervezés?

FİBB PONTOK PIACKUTATÁS (MARKETINGKUTATÁS) Kutatási terv október 20.

Erasmus Krétán 2008/2009 ıszi félév

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

A Magyar Aktuárius Társaság szakmai ajánlása Nem-élet termékterv díjkalkulációjával szembeni aktuáriusi elvárások

A szoftver, mint szolgáltatás. Software as a Service - SaaS

MICROSOFT DYNAMICS NAV RENDSZER SAAS MODELLBEN

Test Management Strategy Document. Deák Kristóf Lauly Viktória Kunigunda Csiki Norbert Szabó Zoltán

A D í D jszá zá ítás á i s D o D k o u k m u en e t n um u so s r o án á, n a z a a d t a szo

MINISZTERELNÖKI HIVATAL. Szóbeli vizsgatevékenység

Tartalom. Nagy rendszerek struktúrált fejlesztése (SSADM) Bevezetı. Történet. Nyolc ok az SSADM használatára. Nyolc ok az SSADM használatára

Komponens alapú fejlesztés. Szoftvertechnológia elıadás

Operációs rendszerek

Szoftverfejlesztési modellek

Követelmény alapú minőségbiztosítás az államigazgatásban

HDM Bemutató BS-BÉR2001. Humán Dokumentum Menedzsment Modul


Transzferáras kerekasztal

Milyen weboldalt készítsünk?

hirdetési lehetıséget Városi Televízióval civil szervezet bejelentett székhelyéül iratszekrényt számítástechnikai képzés munkerı-piaci

A Fıcze Lajos Alapítvány a Munkavédelmi Képviselıkért Konzultatív Fórumának január 20-i ülése.

E-Számlázás az ECOD rendszeren belül. Horváth Péter, Senior Projekt Menedzser Synergon Retail Systems Kft.

Schindler Útmutató A cél meghatározása. Az út kijelölése. Stratégiai iránymutatás a felvonó és mozgólépcső piacon való siker eléréséhez.

Univerzális munkafolyamat szimulátor

SLA RÉSZLETESEN. 14. óra

TARTALOMJEGYZÉK TARTALOMJEGYZÉK... 1 A RÉSZ: BEVEZETÉS... 3 B RÉSZ: A RÉSZLETES ÜZLETI JELENTÉS...

Projektzáró dokumentum

VÁLLALKOZÁSI S Z E R Z İ D É S. Szepessy Tamás Polgármester-helyettes Megrendelı (a továbbiakban: Megrendelı), valamint

Átírás:

1 A vállalatok ma globális, gyorsan változó környezetben mőködnek. Reagálnak az új lehetıségekre és piacokra, a gazdasági környezet változásaira. A szoftver része minden mőveletnek, Kulcsfontosságú hogy egy új szoftvert gyorsan kifejlesszenek, kihasználva ezzel az új lehetıségek adta elınyöket. A szoftverrendszereknél így ma a legkritikusabb követelmény: a gyors fejlesztés és üzembe helyezés Sok vállalat hajlandó elengedni a minıségbıl és kompromisszumot kötni ezért. 2 Sokszor gyakorlatilag lehetetlen, hogy a szoftverrel szemben stabil elvárásokat fogalmazzunk meg. Nem tartoznak a gyors szoftverfejlesztéshez azok a szoftverfejlesztési folyamatok, amelyek az elvárások teljes specifikációján alapulnak. Az elvárások változásával szükségessé válhat a rendszerterv, illetve az implementáció átdolgozása. Ez gyorsan változó üzleti környezetben komoly gondokat okozhat. Idıvel a szoftver elkészül, de addigra a körülmények megváltozása miatt gyakorlatilag használhatatlanná válik. Ez idézte elı az olyan fejlesztési folyamatokat, amelyek a gyors szoftverfejlesztésre és átadásra összpontosítanak. A gyors szoftverfejlesztési folyamatokat arra tervezték, hogy segítségükkel gyorsan készíthessünk használható szoftvereket. Olyan iteratív folyamat, ahol a specifikáció, a tervezés, a fejlesztés és a tesztelés átfedi egymást. 3 4 1

1. A specifikáció, a tervezés és az implementálás folyamata konkurens módon zajlik. Nincs részletes rendszer-specifikáció és a tervezési dokumentáció minimális. A felhasználói elvárások leírása csak a rendszer legfontosabb jellemzıit határozzák meg. 5 2. A rendszert lépésrıl lépésre fejlesztik. A végfelhasználók és a rendszer többi érintettje részt vesznek minden lépés specifikációjában. Indítványozhatnak változásokat a szoftverben és új követelményeket fogalmazhatnak meg. 3. A rendszer felhasználói felülete gyakran egy beépített fejlesztıi környezet használatával készül. Ez gyors interfész elkészítést és gui elemek elrendezését eredményezi. 6 1980-as években és az 1990-es évek elején volt egy nagyon széles körben elterjedt nézet: a jobb szoftver elıállításának legjobb módja: gondosan megtervezzük a projektet, formalizáljuk a minıséggel szemben támasztott követelményeinket, használjuk a CASE eszközök által biztosított elemzési és tervezési módszereket, és irányított, precíz szoftverfejlesztési folyamatok használatával jutunk el a végeredményhez. 7 8 2

A szemlélet képviselıi: akik nagyszámú különálló programból felépülı hosszú élettartalmú szoftverrendszerek fejlesztésével foglalkoznak. Probléma: Amikor megközelítést kis- és középvállalkozások rendszereinek fejlesztésekor alkalmazták, a megjelenı többletmunka olyan mértékő volt, hogy gyakran ez határozta meg a szoftverfejlesztés folyamatának nagy részét Több idı a tervezésre, mint a fejlesztésre és a tesztelésre. 9 Az idıigényes megközelítéssel való elégedetlenség miatt: a szoftverfejlesztık egy része az 1990-es években új, agilis módszereket indítványozott. Az indítvány célja: a fejlesztıcsapat magára a szoftverre koncentráljon, ne pedig annak tervezésére és dokumentálására. Kiadtak egy Agilis kiáltványt 2001-ben. 17 ember, a pehelysúlyú módszertanok néven futó módszertanok jelentıs képviselıi. 10 A szoftverfejlesztés jobb módjait fedezzük fel azáltal, hogy csináljuk, és segítünk másoknak is csinálni. Egyének és interakcióik, szemben az eljárásokkal és eszközökkel. Mőködı szoftver, szemben a teljes körő dokumentációval. Együttmőködés az ügyféllel, szemben a szerzıdésrıl való alkudozással. Változásokra való reagálás, szemben a terv követésével. Az Agilis Fejlesztés egy módszertan-család, nem egy konkrét megközelítése a szoftverfejlesztésnek. a változás igénye idézte elı. Sokakban megfogalmazódott, hogy a szoftverfejlesztés nem gyártás. A cél: Minél gyorsabban, minél költséghatékonyabban történjen a fejlesztés és az elvárt igényt minél jobban kielégítı végeredmény szülessen. 11 12 3

Az agilis szoftverkészítés egy elméleti keretrendszer. Többféle agilis fejlesztési eljárás van jórészt mindegyik a kis kockázatú fejlesztésre törekszik a rövid idejő fejlesztési ciklusok (ismétlések, iterációk) használatával. Minden ismétlés egy teljes szoftverfejlesztési ciklus: tervezés, követelményelemzés, kivitelezés, kódolás, tesztelés és dokumentálás. Egy ismétlés célja, hogy a ciklus végére egy letesztelt, elérhetı kiadás jöjjön létre az alkalmazásból. Minden iteráció végén a fejlesztıi csapat újraértékeli a projekt fıbb céljait. Az agilis módszerek a szemtıl-szembeni kapcsolatot részesítik elınyben az írásos dokumentációk helyett. Emiatt az agilis csoportok jellemzıen egyetlen nagy irodában helyezkednek el. Az agilis módszereknél a haladás legfıbb mérıszáma a mőködı szoftver. 13 14 1. Hasznos szoftvertermékek gyors, folyamatos szállításából fakadóan elégedett megrendelık. 2. Mőködı szoftver szállítása gyakran (inkább hetes, mint havi periódusban) 3. Az elırehaladás mércéje a mőködı szoftver 4. A követelményekben még a késıi változásoknak is örülnek. 5. Szoros, napi kommunikáció a fejlesztık és a megrendelı között 6. Személyes kapcsolattartás 7. A projekteket motivált, megbízható munkatársak vezetik 8. Folyamatos figyelem kíséri a mőszaki színvonalat és a tervet 9. Egyszerőség 10. Önszervezıdı csapatmunka 11. A változó körülményekhez való gyors alkalmazkodás Javasolt használat: Kis projektek, kevés tapasztalt fejlesztı, gyakran változó követelmények. 15 16 4

Az Agilis módszertanokat a terv-vezéret vagy fegyelmezett módszertanok ellentétének szokták nevezni. Arra fókuszálnak, hogy a gyakran változó követelményekhez tudjanak alkalmazkodni. 17 18 Ha egy projektben megváltoznak az igények, akkor egy adaptív csapat képes alkalmazkodni a változásokhoz. Egy adaptív csapat nehezen tudja megmondani, hogy mi fog történni a jövıben. Minél távolabbi pontról van szó a jövıben, annál bizonytalanabb az elképzelés, hogy mi is fog akkor történni. Ha egy nagyon távoli idıpontról van szó, akkor a csapat már csak a vállalat célkitőzésérıl, vagy a tervezett költség-érték arányról tud beszámolni. 19 A kiszámítható módszertanok inkább arra fókuszálnak, hogy minél részletesebben megtervezzék a jövıt. Egy kiszámítható csapat pontosan meg tudja mondani bármelyik pillanatban, hogy mikor milyen feladatok és feature-ök lesznek készen a projektben. A prediktív csapatok nehezen váltanak irányt. az irányváltoztatás könnyen azzal a következménnyel járhat, hogy az elkészült munkát el kell dobni, és újrakezdeni. 20 5

Sokan használják a cowboyos kódolás nevő módszert is. Lényege: Nincs semmiféle módszer meghatározva, mindenki azt csinálja, amit jónak lát. Sokan az agilis fejlesztést is ennek hiszik: A gyakori újratervezése, szemtıl-szembe kommunikációja, és viszonylag laza dokumentumkezelése miatt. Éles különbség van az Agilis kódolás és a cowboyos kódolás között: Az Agilis csapatok azonban nagyon is használják a maguk jól meghatározott (gyakran fegyelmezett és rigorózus) módszertanját. Több kritika olvasható. Oka: ezek többségükben még nem kiforrott, lezárt módszertanok, ráadásul mindenki a maga szája íze szerint értelmezi ıket. Kritikák három köre: 1. Csak gyakorlott, szenior fejlesztıkkel mőködik. 2. Nincs eléggé megtervezve a szoftver. 3. Túl sok kulturális változás kell ahhoz, hogy jól mőködjön. 21 22 Az agilis módszereket olyan szerzıdésekre kell alapozni, ahol az ügyfél a rendszerfejlesztéshez szükséges idıért fizet egy bizonyos követelmény helyett. ez hasznot hoz mind az ügyfélnek, mind a fejlesztınek. Az agilis módszertan nem alkalmas: nagyobb kaliberő rendszerek fejlesztésére, ahol a fejlesztık különbözı helyen dolgoznak, és ahol komplex kölcsönhatások léphetnek fel más hardver- és szoftverrendszerekkel. A módszer nem ajánlott kritikus rendszerek fejlesztésére sem. 23 24 6

Az XP a legismertebb és legszélesebb körben használt agilis módszer. A megközelítés úgy fejlıdött ki, hogy elismert gyakorlati alkalmazásokat erıltetett, mint például az iteratív fejlesztés és ügyfél extrém részvételének használata. Fı célja: hogy csökkentse a változások költségvonzatát. A költségek csökkentését úgy teszi, hogy más alapvetı értékeket, elveket, és gyakorlatot vezet be. Egy XP-t használó rendszerfejlesztési projekt sokkal rugalmasabb lesz a röptében bekövetkezı változásokkal szemben. Minden követelményt forgatókönyvként állítanak össze amely közvetlenül feladatok soraként kerül implementálásra. 25 26 A programozók párokban dolgoznak, és mindenre teszteket készítenek, még mielıtt megírnák a kódot. Minden tesztnek sikeresen le kell futnia, mielıtt az új kódot elhelyeznék a rendszerben. XP kiadási ciklusai: Megfelel az agilis módszerek alapelveinek: 1. Az inkrementális fejlesztés a rendszer kismérető, gyakori kiadásán keresztül valósul meg. 2. Az ügyfél részvételének biztosítása elérhetı a fejlesztıcsapatba történı teljes munkaidıs bevonásával. Az ügyfél képviselıje részt vesz a fejlesztésben és a rendszer elfogadási tesztjeinek meghatározásáért. 27 28 7

3. A párban való programozás, a rendszerkód fölötti együttes tulajdonjog az embereket támogatja nem folyamatokat. 4. A változtatásokat a rendszeres rendszerverziók, az elırehozott tesztelést alkalmazó fejlesztés és a folyamatos integráció támogatja. 5. Az egyszerőség fenntartásához szükséges a kód minıségének folyamatos tökéletesítéssel történı növelése, valamint az egyszerő tervek használata a rendszer jövıbeli változtatásainak elkerülésére. Az XP-folyamatban az ügyfél bensıséges szerepet játszik a rendszerkövetelmények specifikációjában és fontossági sorrendjének meghatározásában. A követelményeket nem a szükséges rendszerfunkciók listájaként adják meg, hanem a rendszer megrendelıje a fejlesztıcsapat tagjaként megbeszéli a forgatókönyvet a csapat többi tagjával. Közösen kidolgoznak egy történetkártyát, ami magában foglalja az ügyfél kéréseit. A csapat ezután megpróbálja implementálni a forgatókönyvet a szoftver egy jövıbeli kiadásában. 29 30 Amint a történetkártyák elkészültek, a fejlesztıcsapat ezt feladatokra bontja és megbecsüli az implementáláshoz szükséges idıt és erıforrásokat. Az ügyfél ezután rangsorolja az implementálandó történeteket, kiválasztva azokat, amelyek azonnal felhasználhatók üzleti célok támogatására. Persze a követelmények változásával a nem implementált történetek változhatnak vagy elhagyhatók. Ha változások szükségesek egy olyan rendszerben, amelyet már átadtak, új történetkártyákat kell készíteni, Ekkor megint csak az ügyfél dönti el, hogy ezen a változásoknak elsıbbségük van-e az új funkcionalitással szemben vagy sem. 31 Az XP az iteratív fejlesztés extrém megközelítését használja. Naponta többször megjelenhet a szoftver új verziója, az inkremensek nagyjából kéthetente kerülnek az ügyfélnek. Amikor létrehozzák a rendszer egy új verzióját, akkor minden létezı automatizált teszten végig kell futtatni, beleértve az új funkcionalitásra készült teszteket is. Az új verzió csak akkor elfogadható, ha az összes teszt sikeresen lefutott. 32 8

Az XP figyelmen kívül hagyja a szoftvertervezés azon alapelvét, hogy a változtatásokra kell tervezni. Az XP szerint ez idıpocséklás, mert gyakran nem a várt változtatások, hanem teljesen más követelmények valósulnak majd meg. Az elıre nem várt változtatások implementálásának problémája: ronthatják a szoftver struktúráját, ami miatt a megvalósíthatóságuk egyre nehezebbé válik. Az XP úgy oldja meg ezt a problémát, hogy a szoftver folyamatos kódátszervezését javasolja. Ez azt jelenti, hogy a programozó csapat tökéletesítési lehetıségeket keres a szoftverben, és azokat azonnal implementálja. Így a szoftver mindig érthetı és könnyen változtatható marad az új történetek implementálását követıen is. 33 34 35 9