Programiranje

Upravljajte gibčno ekipo s XPlannerjem

Obseg, načrtovanje, izdelava, preizkušanje, dostava, opravičilo. To so pogosto uhojeni koraki tradicionalne inženirske metodologije, če se uporabljajo v živosremenskem svetu programskih projektov. Kot razvijalec programske opreme ste verjetno dobro seznanjeni s tisto "končno" sistemsko zahtevo, ki se zdi, da se prepleta in plete kot borec za nagrade. Morda ste se za razvojni projekt trudili šele čez nekaj mesecev (ali let) in se soočili s stranko, ki je globoko razočarana, ker njene resnične potrebe niso bile izpolnjene. Morda so vaši vrstniki na točki, ko natančen dolgoročni razvojni načrt, postavljen prednje, vzbudi občutek bližajoče se pogube. Spodnja črta - vaša ekipa je pripravljena na hiter razvoj, toda ali je vaše tradicionalno orodje za upravljanje ekip že vgrajeno v tradicionalno upravljanje?

Agilne metodologije so lahko lahke, vendar so zelo disciplinirane. Vsako orodje, ki vam pomaga pri načrtovanju in sledenju hitrih pošiljk z intimnim sodelovanjem kupcev, je lahko dragocen dodatek v vašem arzenalu. Dobra novica je, da je gibčna ekipa zdaj na voljo več takšnih orodij. Ta članek podrobno opisuje resnične izkušnje z vodenjem gibčne razvojne ekipe z uporabo ene od novih vrst orodij, odprtokodnega XPlannerja.

XPlanner je spletna aplikacija Java, zasnovana za podporo upravljanju skupin po ekstremni programski metodologiji (XP). Vendar smo ugotovili, da je to orodje dovolj prožno, da lahko v vročini izvajanja projekta nudi dragoceno podporo drugim splošnim gibčnim pristopom (npr. Scrum). Čeprav je XPlanner nezahteven, nudi priročno orodje za podporo vaši ekipi, ne glede na to, ali imate izkušnje z nagradnim svetom agilnega razvoja programske opreme ali ga šele lansirate.

Tradicionalna in agilna orodja za upravljanje ekip

Tradicionalna orodja za upravljanje skupin (na primer Microsoftov projekt) temeljijo na strukturah razčlenitve dela, ki gledajo daleč v prihodnost projekta. Načrtovana dodelitev virov in skrbno spremljanje odstopanja od izhodišča se uporabljajo za upravljanje "kritične poti" do končne dostave. Uporaba takšnih orodij vključuje precejšnja prizadevanja za vnaprejšnje načrtovanje, toge odvisnosti od nalog in stabilno bazo zahtev. Zaradi pomembnih sprememb obsega ali zahtev bo verjetno treba spremeniti model. Tako so ta tradicionalna orodja najprimernejša pri načrtovanju potovanja od A do B, ob predpostavki, da se tečaj malo razlikuje. Nasprotno pa agilni projekti pričakujejo spremembe, ne da bi predvidevali, da bo B celo končni cilj.

Pri razumevanju kulture agilnega projekta je koristno upoštevati načela agilnega razvoja, kot jih podpirajo avtorji agilnega manifesta:

  • "Posamezniki in interakcije med procesi in orodji
  • Delovna programska oprema nad obsežno dokumentacijo
  • Sodelovanje strank pri pogajanjih o pogodbi
  • Odziv na spremembo glede na načrt "

    (Kent Beck in sod., 2001)

Tako agilni projekti izrecno opuščajo dolgoročno načrtovanje v korist intimnega sodelovanja zainteresiranih strani, jasnega osredotočanja na značilnosti visoke vrednosti in zgodnje in pogosto izdajanje uporabne programske opreme. Temeljni cilj je preprosto in učinkovito prinašati vrednost ob stalnih spremembah. Da je orodje za načrtovanje in sledenje v tem kontekstu dragoceno, mora biti skladno s temi vrednotami.

Načrtovanje in sledenje projekta s XPlannerjem

XPlanner je agilno programsko orodje za upravljanje projektov, ki je na voljo pod GNU Lesser General Public Licence (zaradi česar je "brezplačno, kot pri pivu", v odprtokodnem jeziku). Paket se uporablja kot spletna aplikacija, ki članom vaše ekipe in zainteresiranim stranem omogoča, da se vključijo v svoje priljubljene spletne brskalnike. Ko je konfiguriran, boste lahko s preprostim spletnim vmesnikom načrtovali in spremljali različne vidike dostave vašega agilnega projekta.

Z agilnega vidika je bistveno, da lahko udeleženci projekta neposredno sodelujejo tako, da svoje podatke prispevajo v skupno zbirko projektov. To sodelovanje lahko vključuje stranke, ki opisujejo zahteve projekta v obliki uporabniških zgodb, ki jih razvijalci nato uporabijo za podrobno določanje in sledenje nalogam, potrebnim za uresničitev teh zgodb.

Poleg tega, da podpira to raven sodelovanja s strankami, XPlanner ponuja še druge priročne funkcije, ki podpirajo gibčen pristop. Sem spadajo funkcije, kot je preprost mehanizem za določanje ponovitev projekta; intuitiven vmesnik za posameznike, ki ocenjujejo in spremljajo napor; in grafikoni za objavljanje meritev skupin. Tukaj je razpravljano o XPlannerju, ki je bil uveden za podporo zagotavljanju sistema za elektronsko poslovanje in potek dela, ki ga sestavlja več skupin zainteresiranih strani in skupina sedmih razvijalcev.

Prenos in namestitev

XPlanner je čista aplikacija Java, ki jo je mogoče razviti v katerem koli razvojnem okolju J2SE 1.4, opremljenem z Apache Ant in ustreznim motorjem za strežniške programčke. Za servlet motor smo izbrali Apache Tomcat; vendar bi moral to storiti vsak motor, združljiv s Servlet 2.3 (ali novejšo različico). XPlanner je na voljo kot arhiv datotek (zip ali tar.gz), ki ga morate razstaviti in izdelati pred uvedbo in uporabo orodja.

Vključen je obvezen konfiguracijski korak, saj morate nastaviti svojo najljubšo bazo podatkov, ki bo uporabljena kot odlagališče za informacije o projektu. Ker XPlanner uporablja objektno / relacijsko plast obstojnosti Hibernate za interakcijo z bazo podatkov, imate za repozitorij projektov možnost uporabiti katero koli bazo podatkov, ki jo podpira Hibernate. Priložena možnost je lahka podatkovna baza Java Hypersonic (zdaj se imenuje HSQLDB); vendar smo kot bazo podatkovnih zbirk uporabili Oracle 9i. Za konfiguracijo te baze podatkov smo morali datoteko urediti xplanner.properties s komentarjem že opredeljenih lastnosti Oracle. Prav tako smo morali spremeniti build.xml datoteko, ki vključuje gonilnik tanke baze podatkov Oracle. Ko je enkrat konfiguriran, lahko sestavite uvajanje XPlannerja. To vključuje izvajanje Ant-a za izdelavo spletnega arhiva (WAR), ki se lahko namesti, kot sledi:

ant install.db.schema ant build.war 

Razporedite nastalo spletno arhivsko datoteko (xplanner.war) do vašega izbranega strežniškega motorja in nato poiščite URL // your-server: your-port / xplanner / (z uporabo privzetega uporabniškega "sysadmin" in geslo "admin") za pregled rezultatov!

Vključevanje v vaš ekosistem

Večina razvojnih okolij že vsebuje sistem za sledenje napakam, forume za sodelovanje, varnostne sisteme, skladišča standardov itd. Čeprav je koristna kot samostojno orodje, lahko vrednost XPlannerja povečamo s preprostimi in zmogljivimi integracijskimi funkcijami. XPlanner vključuje na primer zmožnost podpore upodabljanju govora razvijalca v opisnem polju, kot je napaka: 1001 kot povezava do //mybugzilla/show_bug.cgi?uid=1001. To lahko storite s preprostim dodajanjem twiki.scheme.bug = // mybugzilla / show_bug.cgi? id = do xplanner.properties mapa. To isto tehniko lahko uporabimo tudi za druga spletna orodja, kot je viewcvs (xplanner.properties prikazuje nekatere druge primere). XPlanner ima tudi napreden wiki formatter (ki se ne uporablja v našem projektu), ki omogoča samodejno povezovanje z wiki vnosi. Več informacij o razširitvah XPlanner je na voljo v virih.

V večini organizacij nekatera oblika LDAP (lahkega protokola za dostop do imenika) združljivega imeniškega strežnika ponuja centralizirano repozitorij uporabniških varnostnih računov. Tako je na primer znotraj organizacije, ki sponzorira naš projekt, služil staromoden, a funkcionalen strežnik LDAP (Microsoftov Active Directory prav tako v veliki meri podpira protokol LDAP). Osvežujoče je bilo najti XPlannerjevo preprosto XPlannerLoginModule enostavno integrirati z LDAP. To je vključevalo posodabljanje xplanner.properties kot sledi:

-> Komentirajte privzeto varnost # xplanner.security.login.module = com.technoetic.xplanner.security.XPlannerLoginModule

-> Odstranite komentar in uredite vnose LDAP iz ... xplanner.security.login.module = com.technoetic.xplanner.security.jndi.JNDILoginModule

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

-> Dodaj uporabniške vnose za iskanje xplanner.security.login.option.userBase = ou = ljudje, o = oseba

-> In izpraznite vrednosti za xplanner.security.login.option.userPattern = xplanner.security.login.option.userPassword =

S hitro obnovitvijo in uvajanjem je bila varnost za preverjanje pristnosti XPlanner popolnoma integrirana. Edina pomanjkljivost je bila, da je bilo treba uporabniška imena še vedno izrecno dodati v XPlanner, vendar so vsaj težave z geslom in članstvom v skupini postale težava službe za pomoč uporabnikom.

Ekipa, spoznajte XPlanner

XPlanner si projekt ogleda v skladu s ponovitvami, uporabniškimi zgodbami in nalogami. Kot predpisuje paradigma Agile, se vsak projekt, ki ga upravlja XPlanner, načrtuje in spremlja v skladu z zaporednimi vrstami ponovitev. Vsaka ponovitev je sestavljena iz začetnega datuma, končnega datuma in zbirke uporabniških zgodb, ki jih je treba v tem časovnem okviru oblikovati od zgodbe do resničnosti.

Zgodba uporabnika je glavno konceptualno orodje, ki se uporablja v agilnem razvoju za sporočanje potreb kupcev razvijalcem programske opreme. Ko je uporabniška zgodba dodeljena trenutni ponovitvi (kot del načrtovanja izdaje prek XPlannerja), razvijalec išče nadaljnje podrobnosti za vsako zgodbo s sodelovanjem z uporabnikom (upajmo, da bo iz oči v oči). Rezultat tega koraka je podrobna vrsta razvojnih nalog, od katerih se vsak razvijalec v XPlanner registrira glede na ustrezno uporabniško zgodbo.

Za projekt poteka e-poslovanja smo izbrali, da se izvaja z mesečnimi ponovitvami, od katerih vsaka obsega približno 10 zgodb, pri čemer je vsaki zgodbi dodeljenih 10 do 15 nalog.

Nabiranje uporabniških zgodb

Vsaka uporabniška zgodba za ponovitev projekta mora biti kratek in na rezultat usmerjen opis uporabniške izkušnje, kot je bila opisana v prvi osebi (npr. "Nato iščem na podlagi barve ..."). To izkušnjo je napisal uporabnik, ki si zamisli idealen prihodnji izdelek v akciji, zato boste morda o uporabniški zgodbi mislili kot o pozitivni vizualizaciji programske opreme! Cilj vsake vizualizacije je zagotoviti dovolj informacij za razvijalca programske opreme, da oceni prizadevanja, potrebna za uresničitev te zgodbe.

XPlanner katalizira zbirko uporabniških zgodb vašega projekta, hkrati pa beleži oceno kupca, sledilca, prioritete in napora glede na vsako. Glavna težava, ki jo pogosto najdemo, je nabiranje kakovostnih uporabniških zgodb iz misli uporabnikov sistema. To je zagotovo veljalo za naš projekt, saj je šlo za pomemben premik paradigme od zahtev po togih odsekih / pododdelkih, ki so jih bili uporabniki vajeni. Vsekakor pa je pomagala zmožnost uporabe XPlannerja za upravljanje zgodb, tako da jih lahko zainteresirane strani zlahka vidijo in posodobijo ter hitro trgujejo v določeni ponovitvi in ​​iz nje. Ena lepa, če ne celo funkcionalna lastnost XPlannerja je pristen občutek, ki ga daje uporabniški zgodbi, pri čemer je vsaka na zaslonu prikazana kot podobna indeksna kartica 3 na 5, kot prikazuje slika 1.

Ocenite in zapišite napor

Agile development predpisuje, da si razvijalci sami zastavijo cilje, ki vključujejo analizo uporabniške zgodbe in opredelitev tehničnih nalog, potrebnih za uresničitev te zgodbe. Razvijalec mora imeti možnost dodajanja dodatnih nalog ali spreminjanja obstoječih, ko bodo na voljo nadaljnje podrobnosti o zgodbi. XPlanner podpira to prilagodljivost tako, da razvijalcem ponuja popoln dostop do določanja in urejanja opravila. Vsaki nalogi lahko dodelimo vrsto, kot je dolg, značilnost ali napaka, da označimo vrsto dela, ki se opravlja (dolg je na primer naloga za čiščenje tehnične "razpoke", ki je v sistemu ostala od prejšnje ponovitve). Naloge so določene tudi z razporeditvijo (načrtovano ali nenačrtovano), sprejemljivim razvijalcem, opisom dela in oceno števila idealnih ur, potrebnih za osvojitev te naloge.

XPlanner razvijalcu olajša zapis, koliko dela je bilo vloženega v določeno nalogo ali posodobitev prvotne ocene napora (original je še vedno shranjen). Upoštevajte, da je treba ocene napora, kot je omenjeno, določiti v idealno ure. Idealna ura je ura, v kateri razvijalec ne doživi popolnoma nobenih prekinitev.

Razvijalci bi morali zabeležiti tudi število idealnih ur, ki jih vložijo za določeno nalogo. Če svoje razvijalce spodbujate, da iskreno beležijo idealne ure (tako da ne zahtevajo vedeti, kam gre čas), boste lahko iz XPlannerja izluščili nekaj koristnih meritev (o katerih bomo razpravljali spodaj). Ugotovili smo na primer, da je pri našem projektu za dosego idealne ure trajalo približno 1,4 ure. Te informacije se nato lahko uporabijo za natančno oceno nadaljnjih ponovitev, kar pomaga obdržati obljube ekipe in pričakovanja kupcev v istem okviru.

Meritve in načrtovanje naslednje ponovitve

Ste na pol poti ponovitve in šef želi vedeti, "kako izgledamo." Dobro obrabljen odgovor na to vprašanje je "Približno 80 odstotkov poti smo tam." Seveda se zdi, da zadnjih 20 odstotkov vedno traja precej dlje, kot bi moralo - zadnjih 20 odstotkov je programsko ekvivalent dolgočasne zelenjave ob večerji, ki ste jo puščali do zadnjega.

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