Co je extrémní programování a jak jej používáte?
extrémní programování je metodika vývoje softwaru určená ke zlepšení kvality softwaru a jeho schopnosti správně se přizpůsobit měnícím se potřebám zákazníka nebo klienta. Během poloviny a konce devadesátých let, zatímco pracoval na Chrysler Comprehensive Compensation System (C3), aby pomohl spravovat výplatní listinu společnosti, softwarový inženýr Ken Beck nejprve vyvinul extrémní programovací metodiku., V říjnu 1999 publikoval extrémní programování, podrobně popsal celou metodu pro ostatní a krátce poté byl spuštěn i oficiální web.
Podobně jako další Agilní Metody vývoje, Extrémní Programování si klade za cíl poskytnout iterativní a časté malé zprávy v průběhu projektu, což oba členy týmu a zákazníky, aby přezkoumala a hodnocení průběhu projektu v průběhu celého SDLC.,
v Průběhu tohoto článku, budeme zkoumat, přesně, co Extrémní Programování je a jak to funguje, od hodnot a zásad, které stojí za to, aby pravidla a osvědčené procesní postupy, které jsou používány zavést nový Extrémní Programování projektu, tak se pojďme začít!,/td>
Extrémní Hodnoty
Těchto pět základních hodnot, poskytují základ, na kterém celý Extrémní Programování paradigmatu je postavena, což lidé podílející se na projektu, aby se cítit sebejistě ve směru projekt trvá a pochopit jejich osobní názory a pohled je stejně potřebná a vítaná jako každý jiný.,
jednoduchost: uděláme to, co je potřeba, a požádáme o to, ale nic víc. Tím se maximalizuje hodnota vytvořená pro dosud provedenou investici. Podnikneme malé jednoduché kroky k našemu cíli a zmírníme selhání, jak k nim dojde. Vytvoříme něco, na co jsme hrdí a dlouhodobě ho udržujeme za rozumné náklady.
komunikace: každý je součástí týmu a denně komunikujeme tváří v tvář. Budeme spolupracovat na všem od požadavků až po kód. Vytvoříme nejlepší řešení našeho problému, které můžeme společně.,
zpětná vazba: každý iterační závazek budeme brát vážně dodáním pracovního softwaru. Náš software demonstrujeme brzy a často pak pozorně Nasloucháme a provádíme potřebné změny. Budeme mluvit o projektu a přizpůsobíme mu náš proces, ne naopak.
respekt: každý dává a cítí respekt, který si zaslouží jako vážený člen týmu. Každý přispívá hodnotou, i když je to prostě nadšení. Vývojáři respektují odbornost zákazníků a naopak. Vedení respektuje naše právo přijmout odpovědnost a získat autoritu nad naší vlastní prací.,
odvaha: řekneme pravdu o pokroku a odhadech. Omlouvat se za neúspěch nechceme, protože máme v plánu uspět. Ničeho se nebojíme, protože nikdo nikdy nepracuje sám. Přizpůsobíme se změnám, až se někdy stanou.
Extrémní Pravidla
Původně publikoval Don Wells v roce 1999, majitel Extrémní Programování webových stránkách, tato sada Extrémní Programování Pravidla byla původně určena na pomoc proti tvrzení, že Extrémní Programování nepodporuje některé z významných disciplín, nezbytné pro moderní vývoj.,
plánování
- uživatelské příběhy jsou psány.
- plánování vydání vytvoří plán vydání.
- dělat časté malé úniky.
- projekt je rozdělen do iterací.
- iterační plánování začíná každou iteraci.
Správa
- poskytne týmu vyhrazený otevřený pracovní prostor.
- nastavit udržitelné tempo.
- setkání stand up začíná každý den.
- měří se rychlost projektu.
- přesunout lidi kolem.
- Fix extrémní programování, když se zlomí.
navrhování
- jednoduchost.,
- zvolte systémovou metaforu.
- použijte karty CRC pro designové relace.
- Vytvořte spike řešení pro snížení rizika.
- žádná funkce není přidána brzy.
- Refaktor kdykoli a kdekoli je to možné.
kódování
- zákazník je vždy k dispozici.
- kód musí být napsán podle dohodnutých norem.
- nejprve Kódujte test jednotky.
- veškerý výrobní kód je naprogramován párem.
- pouze jeden pár integruje kód najednou.
- Integrujte se často.
- Nastavte vyhrazený integrační počítač.
- použijte kolektivní vlastnictví.,
testování
- veškerý kód musí mít jednotkové testy.
- veškerý kód musí projít všemi jednotkovými testy, než může být uvolněn.
- když je nalezena chyba testy jsou vytvořeny.
- akceptační testy se provádějí často a skóre je zveřejněno.
Extrémní Praktiky
Vytvořené pomocí, co bylo považováno za nejlepší praktiky vývoje softwaru v době, těchto dvanáct Extrémní Programování Osvědčených Postupů podrobně konkrétní postupy, které by měly být dodržovány při realizaci projektu je pomocí Extrémní Programování.,
jemné měřítko zpětné vazby
párové programování
v podstatě párové programování znamená, že dva lidé pracují v tandemu na stejném systému při vývoji jakéhokoli výrobního kódu. Častými rotujícími partnery v celém týmu podporuje extrémní programování lepší komunikaci a budování týmu.
plánovací hra
často se jedná o schůzku v častém a dobře definovaném intervalu (každý jeden nebo dva týdny), kde probíhá většina plánování projektu.,
v rámci tohoto postupu existuje fáze plánování uvolnění, kde se stanoví, co je nezbytné pro nadcházející vydání. Sekce plánování vydání zahrnují:
- fáze průzkumu: příběhové karty se používají k detailu nejcennějších požadavků od zákazníků.
- Fáze závazku: plánování a závazky týmu jsou učiněny tak, aby vyhovovaly potřebám dalšího vydání plánu a dostaly ho včas.,
- fáze řízení: To umožňuje, aby byly dříve vyvinuté plány upraveny na základě vyvíjejících se potřeb projektu, podobně jako mnoho jiných metodik agilních modelů.
Po Uvolnění Plánování je také Iterační Plánování, které se skládá ze tří dílčích fází jeho vlastní, ale s varianty jejich implementace:
- Fáze Průzkumu: Všechny požadavky na projekt jsou psány dolů.
- Fáze závazku: nezbytné úkoly, které ještě musí být dokončeny, aby splnily nadcházející vydání iterace, jsou přiřazeny vývojářům a vhodně naplánovány.,
- Řízení Fáze: Vývoj probíhá a po dokončení, výsledný iterace je oproti nastínil příběh karty vytvořené na začátku Plánování postupu.
Test-řízený vývoj,
Zatímco celý článek by mohl být napsán o test-driven development, koncept je poměrně dobře známý mezi vývojáři a v podstatě znamená, že testy jsou generovány pro každý požadavek projektu, a teprve pak je kód rozvinutý, že bude úspěšně absolvovat ty testy.,
Celý tým
stejně Jako u mnoha jiných SDLC metod a postupů, Extrémní Programování podporuje začlenění zákazníky a klienty v průběhu celého procesu, za použití jejich zpětné vazby, aby pomohl formovat projekt za všech okolností.
Kontinuální proces
Kontinuální integrace
Další běžné praxe v moderní vývoj, myšlenka kontinuální integrace je, že všechny kód vyvinutý v celém týmu je sloučeny do jedné společné úložiště mnohokrát za den., Tím je zajištěno, že všechny problémy s integrací v celém projektu jsou zaznamenány a řešeny co nejdříve.
refaktorování kódu
další velmi běžnou praxí je myšlenka refaktorování kódu jednoduše zlepšit a přepracovat strukturu již existujícího kódu bez změny jeho základního chování. Jednoduché příklady refaktoringu zahrnují nesprávné stanovení názvů proměnných nebo metod a snížení opakovaného kódu na jednu metodu nebo funkci.,
Malé úniky
Velmi hodně v souladu s postupy Iterativní Model, tento koncept zajišťuje, že projekt bude obsahovat opakoval, malé vydání na základě častých, který umožňuje zákazníkovi, stejně, jako všichni členové týmu, získat pocit, jak se projekt vyvíjí.
Sdílené porozumění
Kódování normy,
standard kódování je prostě soubor osvědčených postupů v rámci samotného kódu, jako je formátování a styl, který celý tým řídí po celou dobu životního cyklu projektu., To podporuje lepší porozumění a čitelnost kódu nejen pro současné členy, ale i pro budoucí vývojáře.
vlastnictví kolektivního kódu
tato praxe umožňuje každému vývojáři v týmu změnit libovolnou část kódu podle potřeby. I když tato praxe může znít nebezpečné pro některé, urychluje dobu vývoje, a případné problémy mohou být potlačeny správné testování jednotky.
jednoduchý design
existuje jen malý důvod komplikovat věci, kdykoli je k dispozici jednodušší možnost., Tato základní praxe udržování všech komponent a kódu tak jednoduché, jak je možné, zajišťuje, že celý tým vždy vyhodnocuje, zda by se věci daly udělat jednodušším způsobem.
Systém metafora
Nejlepší myšlenka jako součást standardy kódování, systém metafora je myšlenka, že každý člověk v týmu by měl být schopen podívat se na high-level kód, který je vyvinut, a mít jasnou představu o tom, co funkce, které kód provádí.,
Programátor welfare
Udržitelné tempo
klíčovým pojmem pro lepší work-life balance s vývojáři na Extrémní Programování projektu je představa, že nikdo by mělo být požadováno, aby práce přesahující normální plánované pracovní týden. Přesčas je odsuzován, stejně jako koncept „crunch time“, kde se očekává, že vývojáři budou pracovat extrémní hodiny poblíž konce vydání, aby vše dokončili včas.