Programovanie

Spravujte agilný tím pomocou nástroja XPlanner

Rozsah, návrh, výroba, testovanie, dodanie, ospravedlnenie. Toto sú často vyšliapané kroky tradičnej inžinierskej metodiky pri aplikácii na ortuťový svet softvérových projektov. Ako vývojár softvéru ste pravdepodobne dobre oboznámení s touto „konečnou“ požiadavkou na systém, ktorá sa zdá byť kačica a tkanie ako cenový bojovník. Možno ste sa doteraz usilovali o vývojový projekt, aby ste sa o niekoľko mesiacov (alebo rokov) neskôr stretli so zákazníkom, ktorý je hlboko sklamaný, že jeho skutočné potreby neboli splnené. Možno sú vaši kolegovia v bode, keď im pedantný plán rozvoja na dlhé vzdialenosti pred nimi vzbudzuje pocit hroziacej skazy. Zrátané a podčiarknuté - váš tím je pripravený ísť s agilným vývojom, ale bol váš tradičný nástroj na správu tímu pevne prepojený s tradičným riadením tímu?

Agilné metodiky môžu byť ľahké, ale sú veľmi disciplinované. Akýkoľvek nástroj, ktorý vás podporuje pri plánovaní a sledovaní rýchlych dodávok s dôvernou spoluprácou so zákazníkmi, môže byť cenným doplnkom vášho arzenálu. Dobrou správou je, že agilný tím má teraz k dispozícii niekoľko takýchto nástrojov. Tento článok podrobne popisuje skúsenosti z reálneho sveta s riadením agilného vývojového tímu pomocou jedného z tohto nového druhu nástrojov, open source XPlanner.

XPlanner je webová aplikácia Java navrhnutá na podporu riadenia tímu podľa extrémnej metodiky programovania (XP). Zistili sme však, že tento nástroj je dostatočne flexibilný, aby poskytoval cennú podporu iným agilným prístupom hlavného prúdu (napr. Scrum) v čase realizácie projektu. Aj keď to nie je jednoduché, XPlanner poskytuje užitočný nástroj na podporu vášho tímu, či už máte skúsenosti, alebo sa práve chystáte začať s odmeňujúcim svetom agilného vývoja softvéru.

Tradičné a agilné nástroje na správu tímov

Tradičné nástroje na správu tímov (napríklad Microsoft Project) sú založené na štruktúrach rozpisu práce, ktoré vyzerajú ďaleko do budúcnosti projektu. Na riadenie „kritickej cesty“ k finálnemu dodaniu sa používa plánované pridelenie zdrojov a pozorné sledovanie odchýlky od základnej hodnoty. Aplikácia takýchto nástrojov predpokladá značné počiatočné plánovacie úsilie, rigidné závislosti úloh a stabilnú základňu požiadaviek. Je pravdepodobné, že významné zmeny rozsahu alebo požiadaviek si budú vyžadovať významné revízie modelu. Tieto tradičné nástroje sú teda najvhodnejšie pri plánovaní cesty z bodu A do bodu B, ak sa predpokladajú malé zmeny v kurze. Na rozdiel od toho sú agilné projekty zamerané na očakávanie zmien, takže sa nepredpokladá, že B bude dokonca konečným cieľom.

Pri porozumení kultúry agilného projektu je užitočné zvážiť princípy agilného rozvoja, ktoré zastávajú autori Agilného manifestu:

  • „Jednotlivci a interakcie medzi procesmi a nástrojmi
  • Pracovný softvér nad komplexnou dokumentáciou
  • Spolupráca so zákazníkom pri dojednávaní zmluvy
  • Reakcia na zmenu v nadväznosti na plán “

    (Kent Beck a kol., 2001)

Agilné projekty teda výslovne upúšťajú od dlhodobého plánovania v prospech intímneho zapojenia zainteresovaných strán, jasného zamerania na vlastnosti vysokej hodnoty a včasného a častého vydávania použiteľného softvéru. Základným cieľom je jednoducho a efektívne prinášať hodnotu tvárou v tvár neustálym zmenám. Aby bol nástroj plánovania a sledovania v tejto súvislosti cenný, musí byť v súlade s týmito hodnotami.

Plánovanie a sledovanie projektu s XPlanner

XPlanner je agilný softvérový nástroj na riadenie projektov, ktorý je k dispozícii pod licenciou GNU Lesser General Public License (vďaka čomu je „zadarmo, rovnako ako v pive“, v jazyku lingo otvoreného zdroja). Balík sa nasadzuje ako webová aplikácia, ktorá umožňuje členom vášho tímu a zainteresovaným stranám projektu dostať sa na palubu pomocou ich obľúbených webových prehľadávačov. Po nakonfigurovaní budete môcť plánovať a sledovať rôzne aspekty dodávania vášho agilného projektu prostredníctvom jednoduchého webového rozhrania.

Je veľmi dôležité, že z agilného hľadiska sú účastníci projektu schopní priamo spolupracovať tým, že prispievajú svojimi informáciami do spoločného úložiska projektu. Táto spolupráca môže zahŕňať zákazníkov popisujúcich požiadavky na projekty vo forme užívateľských príbehov, ktoré potom vývojári použijú na podrobnosť a sledovanie úloh potrebných na uskutočnenie týchto príbehov.

Okrem podpory tejto úrovne spolupráce so zákazníkmi poskytuje XPlanner ďalšie užitočné funkcie, ktoré podporujú agilný prístup. Patria sem funkcie, ako napríklad jednoduchý mechanizmus na definovanie iterácií projektu; intuitívne rozhranie pre odhadovanie a sledovanie úsilia jednotlivcov; a grafy na publikovanie metrík tímu. Diskutuje sa tu o spoločnosti XPlanner, ktorá bola nasadená na podporu poskytovania systému elektronického obchodu a pracovných tokov pozostávajúceho z niekoľkých skupín zainteresovaných strán a tímu siedmich vývojárov.

Sťahovanie a inštalácia

XPlanner je čistá Java aplikácia, ktorú je možné nasadiť v akomkoľvek vývojovom prostredí J2SE 1.4 vybavenom Apache Ant a vhodným servletovým jadrom. Ako servletový motor sme si vybrali Apache Tomcat; mal by však fungovať akýkoľvek motor kompatibilný s Servletom 2.3 (alebo novšou verziou). XPlanner sa dodáva ako archív súborov (zip alebo tar.gz), ktorý musíte pred nasadením a použitím nástroja rozbaliť a vytvoriť.

Je vyžadovaný povinný krok konfigurácie, pretože je potrebné nastaviť obľúbenú databázu, ktorá sa bude používať ako úložisko informácií o projekte. Pretože XPlanner používa na interakciu s databázou vrstvu Hibernate objekt / relačnú perzistenciu, máte možnosť použiť pre svoje projektové úložisko ľubovoľnú databázu s podporou Hibernate. Dodávanou možnosťou je ľahká databáza Java Hypersonic (teraz nazývaná HSQLDB); ako našu databázu archívov sme však použili Oracle 9i. Aby sme mohli nakonfigurovať túto databázu, museli sme súbor upraviť xplanner.properties odkomentovaním už definovaných vlastností Oracle. Tiež sme potrebovali upraviť build.xml súbor na zabudovanie ovládača tenkej databázy Oracle. Po nakonfigurovaní môžete vytvoriť svoje nasadenie XPlanner. To zahŕňa vykonanie Ant na vytvorenie nasaditeľného webového archívu (WAR) nasledujúcim spôsobom:

mravec install.db.schema mravec build.war 

Nasaďte výsledný súbor webového archívu (xplanner.war) do vášho servletového modulu podľa vášho výberu a potom vyhľadajte URL // váš-server: váš-port / xplanner / (s použitím predvoleného používateľa „sysadmin“ a hesla „admin“) na kontrolu výsledkov!

Integrácia s vašim ekosystémom

Väčšina vývojových prostredí už obsahuje systém na sledovanie chýb, fóra o spolupráci, bezpečnostné systémy, úložiská štandardov atď. Aj keď je hodnota XPlannera užitočná ako samostatný nástroj, je možné ju vylepšiť pomocou jednoduchých a výkonných integračných funkcií. XPlanner obsahuje napríklad schopnosť podporovať vykreslenie vývojových prejavov v poli popisu, ako napr chyba: 1001 ako odkaz na //mybugzilla/show_bug.cgi?uid=1001. To sa dá urobiť jednoduchým pridaním twiki.scheme.bug = // mybugzilla / show_bug.cgi? id = do xplanner.properties spis. Rovnakú techniku ​​je možné použiť aj pre ďalšie webové nástroje, ako sú napr viewcvs (xplanner.properties ukazuje niekoľko ďalších príkladov). XPlanner tiež obsahuje pokročilý formátovač wiki (v našom projekte sa nepoužíva), ktorý umožňuje automatické prepojenie na položky wiki. Viac informácií o rozšíreniach XPlanner nájdete v Zdrojoch.

Vo väčšine organizácií vždy poskytuje určitá forma adresárového servera kompatibilného s LDAP (ľahký prístupový adresárový server) centralizované úložisko bezpečnostných účtov používateľov. Napríklad v rámci organizácie sponzorujúcej náš projekt slúžil tomuto účelu staromódny, ale funkčný server LDAP (Microsoft Active Directory tiež vo veľkej miere podporuje protokol LDAP). Bolo to osviežujúce nájsť XPlannerovo jednoduché Modul XPlannerLoginModule ľahko sa integruje s LDAP. Išlo o aktualizáciu xplanner.properties nasledovne:

-> Komentovať predvolené zabezpečenie # xplanner.security.login.module = com.technoetic.xplanner.security.XPlannerLoginModule

-> Odkomentujte a upravte položky LDAP z ... xplanner.security.login.module = com.technoetic.xplanner.security.jndi.JNDILoginModule

-> ... to: xplanner.security.login.option.roleSearch = (uniqueMember = {0})

-> Pridať položky vyhľadávania používateľa xplanner.security.login.option.userBase = ou = ľudia, o = osoba

-> A vyprázdnite hodnoty pre xplanner.security.login.option.userPattern = xplanner.security.login.option.userPassword =

Vďaka rýchlej prestavbe a nasadeniu bolo zabezpečenie autentifikácie XPlanner plne integrované. Jedinou nevýhodou bolo, že do XPlanneru bolo stále potrebné výslovne pridať používateľské mená, avšak problémom firemného helpdesku sa stali prinajmenšom problémy s heslami a členstvom v skupinách.

Tím, stretnite sa s XPlannerom

XPlanner prezerá projekt podľa iterácií, užívateľských príbehov a úloh. Ako predpisuje agilná paradigma, každý projekt riadený XPlannerom sa plánuje a sleduje podľa postupnej série iterácií. Každá iterácia pozostáva z dátumu začatia, dátumu ukončenia a zbierky príbehov používateľov, ktoré sa majú v danom časovom rámci vytvoriť od príbehu k realite.

Príbeh používateľa je hlavným koncepčným nástrojom používaným v agilnom vývoji na komunikáciu potrieb zákazníkov s vývojármi softvéru. Akonáhle je užívateľský príbeh priradený k aktuálnej iterácii (ako súčasť plánovania vydaní prostredníctvom XPlannera), vývojár hľadá ďalšie podrobnosti pre každý príbeh pomocou spolupráce s používateľom (dúfajme, že bude stáť tvárou v tvár). Výsledkom tohto kroku je podrobná séria vývojových úloh, z ktorých každú vývojár zaregistruje v XPlanner proti relevantnému užívateľskému príbehu.

Náš projekt pracovného toku elektronického obchodu sme si vybrali na spustenie s mesačnými iteráciami, ktoré sa skladali z približne 10 príbehov a ku každému príbehu bolo priradených 10 až 15 úloh.

Zber príbehov používateľov

Každý príbeh používateľa pre iteráciu projektu by mal byť krátkym a na výsledok zameraným popisom používateľskej skúsenosti, ktorá bola vyrozprávaná v prvej osobe (napr. „Vyhľadávam potom podľa farby ...“). Táto skúsenosť je vytvorená používateľom, ktorý si predstavuje ideálny budúci produkt v praxi, takže by ste mohli príbeh používateľa považovať za pozitívnu vizualizáciu softvéru! Cieľom každej vizualizácie je poskytnúť vývojárovi softvéru dostatok informácií na odhadnutie úsilia potrebného na uskutočnenie tohto príbehu.

XPlanner katalogizuje zbierku užívateľských príbehov vášho projektu a zaznamenáva do každého z nich odhad zákazníka, sledovača, priority a úsilia. Hlavným problémom, ktorý často nájdeme, je zber kvalitných používateľských príbehov z myslí používateľov systému. To určite bol prípad nášho projektu, pretože to bol významný posun paradigmy od požiadaviek na tuhý oddiel / podsekciu, na ktoré boli používatelia zvyknutí. Určite však pomohla schopnosť používať program XPlanner na správu príbehov tak, aby ich zainteresované strany mohli ľahko vidieť a aktualizovať a aby sa s nimi dalo rýchlo obchodovať v rámci danej iterácie. Jednou z príjemných, ak nie funkčných funkcií XPlanneru je autentický dojem, ktorý dáva užívateľovi príbeh, pričom každý z nich sa zobrazuje na obrazovke ako porovnateľná kartička s indexom 3 x 5, ako je to znázornené na obrázku 1.

Odhadnite a zaznamenajte úsilie

Agilný vývoj predpisuje, aby si vývojári stanovili svoje vlastné ciele, ktoré zahŕňajú analýzu užívateľského príbehu a definovanie technických úloh potrebných na jeho uskutočnenie. Vývojár by mal mať možnosť pridávať ďalšie úlohy alebo upravovať existujúce úlohy, keď budú k dispozícii ďalšie podrobnosti príbehu. XPlanner podporuje túto flexibilitu tým, že poskytuje vývojárom plný prístup k definovaniu a úprave úlohy. Každej úlohe je možné priradiť typ, napríklad dlh, vlastnosť alebo defekt, ktorý charakterizuje druh vykonávanej práce (napríklad dlh je úloha na vyčistenie technickej chyby, ktorá zostala v systéme z predchádzajúcej iterácie). Úlohy sú tiež špecifikované s dispozíciou (plánovanou alebo neplánovanou), prijímajúcim vývojárom, popisom práce a odhadom počtu ideálnych hodín potrebných na zvládnutie tejto úlohy.

Vďaka XPlanner môže vývojár ľahko zaznamenať, koľko práce bolo investované do danej úlohy, alebo aktualizovať pôvodný odhad úsilia (originál je stále uložený). Upozorňujeme, že odhady úsilia, ako sú uvedené, by mali byť uvedené v časti ideálne hodín. Ideálnou hodinou je hodina, v ktorej vývojár nezažije absolútne žiadne prerušenia.

Vývojári by tiež mali zaznamenať počet ideálnych hodín, ktoré investujú do vykonania danej úlohy. Ak povzbudíte svojich vývojárov, aby poctivo zaznamenávali ideálne hodiny (tým, že nebudete náročné vedieť, kam ide čas), budete môcť z XPlannera extrahovať niektoré užitočné metriky (popísané nižšie). Zistili sme napríklad, že na našom projekte bola dosiahnutá ideálna hodina asi 1,4 uplynulého času. Tieto informácie možno potom použiť na poskytnutie spresneného odhadu pre následné iterácie - čo pomáha udržiavať sľuby tímu a očakávania zákazníka v rovnakom prostredí.

Metriky a plánovanie pre ďalšiu iteráciu

Ste v polovici iterácie a šéf chce vedieť, „ako vyzeráme“. Na túto otázku je zažitá odpoveď: „Sme tam asi na 80 percentách cesty.“ Zdá sa, že posledných 20 percent samozrejme vždy trvá oveľa dlhšie, ako by malo - posledných 20 percent predstavuje softvérový ekvivalent nudnej zeleniny na večeru, ktorú ste nechali až na poslednú.

$config[zx-auto] not found$config[zx-overlay] not found