„Agilis szoftverfejlesztés” változatai közötti eltérés

[nem ellenőrzött változat][ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
kékít
9. sor:
A növekményes szoftverfejlesztési módszerek egészen 1957-ig vezethetők vissza.<ref name="craig2003"/> 1974-ben E. A. Edmonds írt egy dolgozatot, amelyben bevezetett egy alkalmazkodó szoftverfejlesztési folyamatot.<ref name="edmonds1974">{{Cite journal| last=Edmonds| first=E. A.| title= A Process for the Development of Software for Nontechnical Users as an Adaptive System| journal=General Systems| volume=19| year=1974| pages=215–18}}</ref><ref>Note by Edmonds: I presented these ideas in London in 1970 and first submitted the paper to the Journal ''Computer Aided Design''. It was rejected with the comment "If you don't know what you are going to do before you start you shouldn't start"! Only then did I submit it to ''General Systems''.</ref> Ezzel párhuzamosan, és teljesen függetlenül ugyanazt a módszert fejlesztette ki és alkalmazta a New York Telefon Társaság Rendszerfejlesztési Központja Dan Gielan igazgatása alatt. A korai 1970-es években [[Tom Gilb]] elkezdte publikálni az evolúciós projektmenedzsment (EVO) koncepcióját, amely a ''competitive engineering''-é nőtte ki magát.<ref name="EvolutionaryProjectManagement">{{cite web |url=http://www.gilb.com/Project-Management |title=Evolutionary Project Management |publisher=Gilb |accessdate=2012-04-14 |archiveurl=https://web.archive.org/web/20120414230702/http://www.gilb.com/Project-Management |archivedate=2012-04-14 }}</ref> Az 1970-es évek közepétől a végéig Gielan alapos előadásokat tartott Amerika szerte erről a módszertanról és gyakorlatáról és előnyeiről.
 
A ''pehelysúlyú'' szoftverfejlesztési módszerek egy csoportja kezdett kifejlődni az 1990-es évek közepén válaszul a ''nehézsúlyú'' [[Vízesés modellVízesésmodell|vízesés]]-orintáltorientált módszerekre, amely kritikákat nevezik nehezen szabályozhatónak, nagyszámúnak és [[Micromanagement|mikromenedzseltnek]]; habár egyes hívei ezen pehelysúlyú módszereknek azt állították, hogy csak visszatértek a korai szoftverfejlesztési gyakorlathoz.<ref name="craig2003">[[Gerald M. Weinberg]], as quoted in {{cite journal |last=Larman | first=Craig |first2 =Victor R. |last2=Basili |date=June 2003 |title=Iterative and Incremental Development: A Brief History |journal=Computer |volume=36 |issue=6 |pages=47–56 |doi=10.1109/MC.2003.1204375 |issn=0018-9162 |quote=We were doing incremental development as early as 1957, in Los Angeles, under the direction of Bernie Dimsdale at [[Service Bureau Corporation|IBM's Service Bureau Corporation]]. He was a colleague of [[John von Neumann]], so perhaps he learned it there, or assumed it as totally natural. I do remember Herb Jacobs (primarily, though we all participated) developing a large simulation for Motorola, where the technique used was, as far as I can tell&nbsp;... All of us, as far as I can remember, thought waterfalling of a huge project was rather stupid, or at least ignorant of the realities. I think what the waterfall description did for us was make us realize that we were doing something else, something unnamed except for 'software development.'}}</ref> Ezek a pehelysúlyú módszerek a következők voltak: 1994-ből a [[Unified Process]] és a [[dinamikus rendszerfejlesztési módszer]] (angol rövidítéssel DSDM); 1995-ből a [[Scrum]]; 1996-ból a [[Crystal Clear (software development)|crystal clear]] és az [[extrém programozás]] (angol rövidítéssel XP) és 1997-ből a [[adaptív szoftverfejlesztés]] és [[feature-driven fejlesztés]]. Habár ezek az Agilis Kiáltvány 2001-es közzététele előttről származnak, mostanra együttesen hivatkoznak rájuk, mint agilis módszerekre;<ref name=rajeshkumar>{{Cite book | last=Larman | first=Craig | year=2004 | title=Agile and Iterative Development: A Manager's Guide | publisher=Addison-Wesley | isbn=978-0-13-111155-4 | page=27 | postscript=<!--None--> }}</ref> és gyakran rövidítik egyszerűen ''Agilis''nek, nagy kezdő ''A''-val, bár ez fokozatosan válik elavulttá.<ref>{{cite web |url=https://www.rallydev.com/community/engineering/agile-capital-"a"-vs-agile-lowercase-"a" |title=Agile With a Capital "A" Vs. agile With a Lowercase "a" |year=2010 |publisher=Rally |accessdate=31 March 2015}}</ref>
 
===Az Agilis Kiáltvány===
80. sor:
A hagyományos szoftvertervezési filozófiákkal szemben az agilis szoftver fejlesztés a komplex rendszereket és projekteket dinamikus, nemdeterminisztikus és nemlineáris módon célozza, ahol a pontos becslés, a stabil terv és az előrejelzés korai stádiumban gyakran nehezen megvalósítható, ezért a nagyszabású előre elkészített tervek és lebontások valószínűleg hatalmas veszteséggel járnak abban az értelemben, hogy gazdaságilag (üzletileg) nem megalapozottak. Ezek az alapvető érvek, és a korábbi iparági tapasztalatok, éveken át tartó próbálkozások sikerei és kudarcai segítettek kidolgozni az agilis szoftverfejlesztésnek kedvező adaptív, iteratív és evoluciós fejlesztést.<ref>Larman, Craig (2004): ''Agile and Iterative Development: A Manager's Guide''. Addison-Wesley, p.27.</ref>
 
=== Iterációs kontra vízesés modellvízesésmodell ===
 
Az agilis és a vízeséses módszertanok közötti egyik fő különbség az, hogy hogyan tekintenek a minőség és a tesztelés kérdéskörére. A vízeséses modellvízesésmodell mindig külön-külön tesztelési és építési (build) szakaszt definiál; ezzel szemben az agilis szoftverfejlesztés során a tesztelés rendszerint a tényleges fejlesztési (programozási) munkával egyidejűleg, vagy legalábbis ugyanazon iterációban zajlik.
 
Mivel a tesztelés minden, a szoftver egy-egy kicsiny részét előállító iterációnak része, a felhasználóknak sűrűbben lesz lehetőségük az új részeket használatba venni, és megismerni azok működését.
 
Miután a felhasználók pontos képet kapnak a továbbfejlesztett szoftver működéséről, jobb döntéseket tudnak hozni a szoftver jövőjéről. Azzal, hogy minden iterációban visszatekintő (retrospektív) és tervezési megbeszéléseket tartunk —a— a [[scrum]] módszertan szerint például általában kéthetente—kéthetente —, segítjük a fejlesztőket abban, hogy a terveket a lehető legcélszerűbb, leghasznosabb módon valósíthassák meg.
 
Ez az iteratív gyakorlat a vízesésesvízesésmodell modell projekt-alapúprojektalapú szemléletmódjával szemben a '''terméket''' helyezi előtérbe. A szoftverre, mintegy élő szervezetként tekint, amely a környezet változásaira maga is változásokkal reagál. A szoftver teljes életútján, különösen pedig versenyhelyzetekben jelentkeznek változási igények; az iteratív szoftverfejlesztés ezen változások megvalósításának a kulcsa.