Tato kapitola dává přehled o Extrémním Programování.
co je agilní?
slovo „agilní“ znamená −
-
schopné rychle a snadno pohybovat tělem.
-
schopen rychle a jasně myslet.,
v podnikání se „agile“ používá k popisu způsobů plánování a práce, přičemž se rozumí, že provádění změn podle potřeby je důležitou součástí práce. Obchodní „agilty“ znamená, že společnost je vždy schopna zohlednit změny na trhu.
Ref: Cambridge slovníky online.
ve vývoji softwaru je termín „agile“ přizpůsoben tak, aby znamenal “ schopnost reagovat na změny − změny z požadavků, technologie a lidí.,‘
Agilní Manifest
tým softwarových vývojářů zveřejnil Agilní Manifest v roce 2001, se zdůrazněním důležitosti rozvoje týmu, vstříc měnícím se požadavkům a zapojení zákazníka.
agilní manifest uvádí −že –
odhalujeme lepší způsoby vývoje softwaru tím, že to děláme a pomáháme ostatním. Díky této práci jsme dospěli k hodnotě –
-
jednotlivci a interakce s procesy a nástroji.
-
pracovní software přes komplexní dokumentaci.,
-
spolupráce zákazníků při vyjednávání o smlouvě.
-
reakce na změnu podle plánu.
to znamená, že zatímco v položkách vpravo je hodnota, hodnotíme položky vlevo více.
Vlastnosti Agility
jsou Následující vlastnosti Agility −
-
Agility v Agilní Vývoj Software se zaměřuje na kulturu celý tým s multi-disciplinární, cross-funkční týmy, které jsou oprávněny a selforganizing.
-
podporuje sdílenou odpovědnost a odpovědnost.,
-
usnadňuje efektivní komunikaci a nepřetržitou spolupráci.
-
přístup celého týmu zabraňuje zpožděním a čekacím dobám.
-
časté a nepřetržité dodávky zajišťují rychlou zpětnou vazbu, která zase umožní týmu přizpůsobit se požadavkům.
-
Spolupráce usnadňuje kombinování různých perspektiv včasné provádění, opravy defektů a vstřícný změny.
-
pokrok je konstantní, udržitelný a předvídatelný s důrazem na transparentnost.,
trendy softwarového inženýrství
následující trendy jsou pozorovány v softwarovém inženýrství –
-
shromáždit požadavky před zahájením vývoje. Pokud však mají být požadavky změněny později, obvykle je zaznamenáno následující –
-
odolnost vůči změnám v pozdější fázi vývoje.
-
existuje požadavek přísného procesu změny, který zahrnuje řídicí desku změn, která může dokonce tlačit změny na pozdější vydání.,
-
dodání produktu se zastaralými požadavky, které nesplňují očekávání zákazníka.
-
neschopnost přizpůsobit nevyhnutelné změny domény a technologické změny v rámci rozpočtu.
-
-
Najděte a odstraňte vady na počátku vývojového životního cyklu, abyste snížili náklady na opravu závad.
-
testování začíná až po dokončení kódování a testování je považováno za odpovědnost testeru, i když tester není zapojen do vývoje.
-
změřte a sledujte samotný proces., To se stává drahé, protože −
-
sledování a sledování na úrovni úkolů a na úrovni zdrojů.
-
definování měření pro vedení vývoje a měření každé aktivity ve vývoji.
-
zásah managementu.
-
-
propracujte, analyzujte a ověřte modely před vývojem.
-
model má být použit jako rámec. Zaměření na model a ne na vývoj, který je zásadní, však nepřinese očekávané výsledky.,
-
-
kódování, které je srdcem vývoje, není dostatečně zdůrazněno. Důvody jsou –
-
vývojáři, kteří jsou zodpovědní za výrobu, obvykle nejsou v neustálé komunikaci se zákazníky.
-
kódování je vnímáno jako překlad návrhu a efektivní implementace v kódu je téměř nikdy smyčka zpět do návrhu.
-
testování je považováno za bránu pro kontrolu závad před dodáním.,
-
překročení harmonogramu dřívějších fází vývoje je kompenzováno přehlížením testovacích požadavků, aby bylo zajištěno včasné dodávky.
-
to má za následek překročení nákladů, které opravují závady po dodání.
-
testery jsou odpovědné a odpovědné za kvalitu výrobků, i když nebyly zapojeny během celého vývoje.
Omezení zdrojů (především tým), aby se přizpůsobila rozpočtu vede k
-
Zdroj přes rozdělení
-
Tým vyhoření.,
-
ztráta efektivního využití týmových kompetencí.
-
opotřebení.
Extrémní Programování − způsob, jak zvládnout běžné nedostatky
Softwarové Inženýrství zahrnuje −
-
Tvořivosti
-
Učení a zlepšení prostřednictvím pokusů a omylů
-
Iterace
Extrémní Programování navazuje na tyto činnosti a kódování. Je to detailní (nejen) projekční činnosti s více těsné smyčky zpětné vazby prostřednictvím efektivní implementace, testování a refaktoring nepřetržitě.,
Extrémní Programování je založen na následující hodnoty −
-
Komunikace
-
Jednoduchost
-
Zpětná vazba
-
Odvaha
-
Respekt
Co je Extrémní Programování?
XP je lehký, efektivní, nízkorizikový, flexibilní, předvídatelný, vědecký a zábavný způsob vývoje softwaru.
Extreme Programming (XP) byl koncipován a vyvinut s cílem řešit specifické potřeby vývoje softwaru malými týmy tváří v tvář nejasným a měnícím se požadavkům.,
extrémní programování je jednou z metodik agilního vývoje softwaru. Poskytuje hodnoty a zásady pro vedení chování týmu. Očekává se, že se tým bude organizovat sám. Extrémní programování poskytuje specifické základní postupy, kde –
-
každá praxe je jednoduchá a samoúčelná.
-
kombinace postupů vytváří složitější a vznikající chování.
Změna objetí
klíčovým předpokladem extrémního programování je, že náklady na změnu programu mohou být v průběhu času většinou konstantní.,>To může být dosaženo s −
-
Důraz na neustálé zpětné vazby od zákazníků
-
Krátké iterace
-
Design a redesign
-
Kódování a testování často
-
včasné Odstranění vady, čímž se sníží náklady,
-
Udržování zákazníků zapojit do celého vývoje
-
Dodání produktu k zákazníkovi
Extrémní Programování v Kostce
Extrémní Programování zahrnuje −
-
Psaní unit testů, než programování a udržet všechny testy běží za všech okolností., Jednotkové testy jsou automatizované a eliminují vady brzy, čímž se snižují náklady.
-
počínaje jednoduchým designem natolik, aby kódoval funkce po ruce a v případě potřeby přepracoval.
-
programování ve dvojicích (tzv. párové programování), se dvěma programátory na jedné obrazovce, střídající se s použitím klávesnice. Zatímco jeden z nich je na klávesnici, druhý neustále kontroluje a poskytuje vstupy.
-
integrace a testování celého systému několikrát denně.,
-
rychlé uvedení minimálního pracovního systému do výroby a jeho modernizace, kdykoli je to nutné.
-
udržení zákazníka zapojeného po celou dobu a získání neustálé zpětné vazby.
iterace usnadňuje přizpůsobivé změny, jak se software vyvíjí s měnícími se požadavky.
proč se nazývá “ Extreme?“
extrémní programování posouvá efektivní principy a postupy na extrémní úrovně.
-
Kód recenze jsou účinné jako kód je přezkoumat celou dobu.,
-
testování je účinné, protože dochází k kontinuální regresi a testování.
-
Design je účinný, protože každý musí denně provádět refaktoring.
-
integrační testování je důležité jako integrace a testování několikrát denně.
-
krátké iterace jsou účinné jako plánovací hra pro plánování vydání a plánování iterací.
Historie Extrémního Programování
Kent Beck, Ward Cunningham a Ron Jeffries formulovány extrémní Programování v roce 1999. Dalšími přispěvateli jsou Robert Martin a Martin Fowler.,
V Polovině 80. let, Kent Beck, Ward Cunningham zahájila Dvojice Programování v Tektronix. V 80. a 90. letech Kultura Smalltalk produkovala refaktoring, nepřetržitou integraci, neustálé testování a úzké zapojení zákazníků. Tato kultura byla později zobecněna na jiná prostředí.
Na počátku 90. let byly základní hodnoty vyvinuty v rámci komunity Patterns, Hillside Group. V roce 1995 je kent shrnul do osvědčených postupů Smalltalk a v roce 1996 ji Ward shrnul do epizod.
v roce 1996 přidal Kent testování jednotek a metaforu v Hewittu., V roce 1996 vzal Kent projekt Chrysler C3, ke kterému byl jako trenér přidán Ron Jeffries. Postupy byly vylepšeny na C3 a zveřejněny na Wiki.
postupy Scrum byly začleněny a přizpůsobeny jako plánovací hra. V roce 1999 vydal Kent svou knihu „Extreme Programming Explained“. Ve stejném roce vydal Fowler svou knihu refaktoring.
extrémní programování se od té doby vyvíjí a vývoj pokračuje dodnes.
úspěch v průmyslu
úspěch projektů, které sledují extrémní programovací postupy, je způsoben –
-
rychlý vývoj.,
-
okamžitá reakce na měnící se požadavky zákazníka.
-
zaměřte se na nízkou míru závad.
-
systém vracející konstantní a konzistentní hodnotu zákazníkovi.
-
vysoká spokojenost zákazníků.
-
snížené náklady.
-
soudržnost týmu a spokojenost zaměstnanců.
Extrémní Programování Výhody
Extrémní Programování, řeší tyto problémy často potýkají v softwarové rozvojové projekty −
-
Uklouzl plány − a dosažitelné vývojové cykly zajistit včasné dodávky.,
-
zrušené projekty-zaměření na nepřetržité zapojení zákazníků zajišťuje transparentnost se zákazníkem a okamžité řešení případných problémů.
-
náklady vzniklé při změnách-rozsáhlé a probíhající testování zajišťuje, že změny neporušují stávající funkce. Běžící pracovní systém vždy zajišťuje dostatek času na přizpůsobení se změnám tak, aby nebyly ovlivněny aktuální operace.
-
výrobní a dodací vady: důraz je kladen na-jednotkové testy pro včasné zjištění a opravu závad.,
-
Nepochopení podnikání a/nebo domény − Což zákazník součástí týmu, zajišťuje neustálou komunikaci a vysvětlení.
-
obchodní změny-změny jsou považovány za nevyhnutelné a jsou ubytovány v jakémkoli okamžiku.
-
týmová spolupráce náročná na obrat zaměstnanců zajišťuje nadšení a dobrou vůli. Soudržnost více disciplín podporuje týmového ducha.