Ohjelmointi

Hallitse ketterää tiimiä XPlannerilla

Laajuus, suunnittelu, koota, testata, toimittaa, anteeksi. Nämä ovat perinteisen suunnittelumenetelmän usein tallattuja vaiheita, kun niitä käytetään ohjelmistoprojektien elohopeamaailmassa. Ohjelmistokehittäjänä tunnet todennäköisesti hyvin "lopullisen" järjestelmävaatimuksen, joka näyttää ankkahtavan ja kutovan kuin palkintohävittäjä. Ehkä olet työskennellyt kehitysprojektissa vain palataksesi kuukausia (tai vuosia) myöhemmin kohdataksesi asiakkaan, joka näyttää olevan syvästi pettynyt siihen, että sen todellisia tarpeita ei ole täytetty. Ehkä ikäisesi ovat siinä vaiheessa, kun heidän edessään oleva huolellinen pitkän kantaman kehittämissuunnitelma herättää tunteen lähestyvästä tuomiosta. Bottom line - joukkueesi on valmis menemään ketterän kehityksen kanssa, mutta onko perinteinen tiiminhallintatyökalusi kytketty perinteiseen tiiminhallintaan?

Ketterät menetelmät voivat olla kevyitä, mutta ne ovat erittäin kurinalaista. Mikä tahansa työkalu, joka tukee sinua nopean toimituksen suunnittelussa ja seurannassa läheisessä asiakasyhteistyössä, voi olla arvokas lisä arsenaaliisi. Hyvä uutinen on, että ketterän ryhmän käytettävissä on nyt useita tällaisia ​​työkaluja. Tämä artikkeli kertoo todellisen kokemuksen ketterän kehitystiimin hallinnasta käyttämällä tätä uutta työkaluryhmää, avoimen lähdekoodin XPlanneria.

XPlanner on Java-verkkosovellus, joka on suunniteltu tukemaan tiimin hallintaa äärimmäisen ohjelmointimenetelmän (XP) mukaisesti. Olemme kuitenkin havainneet, että tämä työkalu on riittävän joustava tarjoamaan arvokasta tukea muille valtavirran ketterille lähestymistavoille (esim. Scrum) projektin toimittamisen lämmössä. Vaikka ei ole hienostunutta, XPlanner tarjoaa kätevän työkalun, joka tukee tiimiäsi riippumatta siitä, oletko kokenut tai olet vain aloittamassa ketterän ohjelmistokehityksen palkitsevaa maailmaa.

Perinteiset vs. ketterät tiiminhallintatyökalut

Perinteiset tiiminhallintatyökalut (kuten Microsoftin projekti) perustuvat työn erittelyrakenteisiin, jotka katsovat kaukana projektin tulevaisuudesta. Suunnitellun resurssien kohdentamisen ja varovaisen variaatiotason tarkkailun avulla hallitaan "kriittistä polkua" lopulliseen toimitukseen. Tällaisten työkalujen käyttö edellyttää huomattavia ennakkosuunnittelupyrkimyksiä, jäykkiä tehtävistä riippuvuuksia ja vakaata perustaa vaatimuksille. Merkittävät muutokset soveltamisalaan tai vaatimuksiin edellyttävät todennäköisesti merkittäviä muutoksia malliin. Siten nämä perinteiset työkalut ovat sopivimpia suunniteltaessa matkaa A: sta B: hen, olettaen, että kurssin vaihtelut ovat pienet. Sen sijaan ketterät projektit on suunnattu odottamaan muutosta, eikä ole syytä olettaa, että B on edes lopullinen määränpää.

Ketterän projektin kulttuurin ymmärtämisessä on hyödyllistä ottaa huomioon ketterän kehityksen periaatteet, kuten ketterän manifestin kirjoittajat kannattavat:

  • "Yksilöt ja vuorovaikutus prosesseissa ja työkaluissa
  • Toimiva ohjelmisto kattavan dokumentaation avulla
  • Asiakasyhteistyö sopimusneuvotteluissa
  • Suunnitelman muuttamiseen vastaaminen "

    (Kent Beck et ai., 2001)

Siksi ketterissä projekteissa nimenomaisesti hylätään pitkän aikavälin suunnittelu sidosryhmien läheisen sitoutumisen hyväksi, selkeä keskittyminen arvokkaisiin ominaisuuksiin ja käyttökelpoisten ohjelmistojen julkaisu aikaisin ja usein. Perustavoite on tuottaa arvoa yksinkertaisesti ja tehokkaasti jatkuvan muutoksen edessä. Jotta suunnittelu- ja seurantatyökalu olisi arvokas tässä yhteydessä, sen on oltava yhtenevä näiden arvojen kanssa.

Projektisuunnittelu ja seuranta XPlannerilla

XPlanner on ketterä projektinhallintaohjelmistotyökalu, joka on saatavana GNU Lesser General Public License -lisenssillä (mikä tekee siitä "avoimen lähdekielen" ilmaisen, kuten oluessa "). Paketti toimii verkkosovelluksena, jonka avulla tiimisi jäsenet ja projektin sidosryhmät voivat päästä alukseen suosikkiselaimillaan. Kun olet määrittänyt, voit suunnitella ja seurata ketterän projektisi toimituksen eri näkökohtia yksinkertaisen verkkoliittymän kautta.

Ratkaisevaa on, että ketterästä näkökulmasta projektin osallistujat voivat tehdä suoraa yhteistyötä lähettämällä tietonsa yhteiseen projektivarastoon. Tähän yhteistyöhön voi sisältyä asiakkaita, jotka kuvaavat projektivaatimuksia käyttäjäkertomusten muodossa, joita kehittäjät käyttävät sitten tarkentamaan ja seuraamaan tehtäviä, joita näiden tarinoiden toteuttaminen edellyttää.

Tämän asiakasyhteistyön tason tukemisen lisäksi XPlanner tarjoaa myös muita käteviä ominaisuuksia, jotka tukevat ketterää lähestymistapaa. Näihin kuuluu ominaisuuksia, kuten yksinkertainen mekanismi projektien toistojen määrittelemiseksi; intuitiivinen käyttöliittymä yksilöille, jotka arvioivat ja seuraavat vaivaa; ja kaaviot joukkueen mittareiden julkaisemiseen. XPlannerista keskustellaan tässä, koska se otettiin käyttöön tukemaan sähköisen kaupankäynnin ja työnkulun järjestelmän toimittamista, joka koostuu useista sidosryhmistä ja seitsemän kehittäjän tiimistä.

Lataaminen ja asentaminen

XPlanner on puhdas Java-sovellus, joka voidaan ottaa käyttöön missä tahansa J2SE 1.4 -kehitysympäristössä, joka on varustettu Apache Antilla ja sopivalla servlet-moottorilla. Valitsimme Apache Tomcatin servlet-moottoriksi; minkä tahansa Servlet 2.3: n (tai uudemman version) kanssa yhteensopivan moottorin pitäisi kuitenkin tehdä. XPlanner toimitetaan tiedostoarkistona (zip tai tar.gz), joka sinun on purettava ja rakennettava ennen työkalun käyttöönottoa ja käyttöä.

Pakollinen määritysvaihe on mukana, koska sinun on määritettävä suosikkitietokanta, jota käytetään projektitietojen arkistona. Koska XPlanner käyttää horrostilan objekti- / relaatiopysyvyyskerrosta tietokannan vuorovaikutuksessa, sinulla on mahdollisuus käyttää projektin arkistoon mitä tahansa horrostilan tuettua tietokantaa. Mukana toimitettava vaihtoehto on kevyt Java-tietokanta Hypersonic (nyt nimeltään HSQLDB); käytimme kuitenkin Oracle 9i: tä arkistotietokantana. Tämän tietokannan määrittämiseksi meidän oli muokattava tiedostoa xplanner.properties poistamalla kommentit jo määritetyistä Oracle-ominaisuuksista. Meidän oli myös muutettava build.xml tiedosto Oraclen ohut tietokantaohjain. Kun olet määrittänyt, voit rakentaa XPlanner-käyttöönoton. Tähän sisältyy Antin suorittaminen tuottamaan käyttöönotettava Web-arkisto (WAR) seuraavasti:

muurahainen asennus.db.sema muurausrakenne.sota 

Ota käyttöön tuloksena oleva Web-arkistotiedosto (xplanner.war) valitsemallesi servlet-moottorille ja siirry sitten URL-osoitteeseen // palvelimesi: oma-portti / xplanner / (käyttäen oletuskäyttäjä "sysadmin" ja salasana "admin") tulostaaksesi tuloksia!

Integrointi ekosysteemiin

Useimmissa kehitysympäristöissä on jo virheenseurantajärjestelmä, yhteistyöfoorumit, turvajärjestelmät, standardivarastot jne. Vaikka XPlannerin hyöty itsenäisenä työkaluna, sitä voidaan parantaa yksinkertaisten ja tehokkaiden integraatio-ominaisuuksiensa avulla. XPlanner sisältää esimerkiksi mahdollisuuden tukea kehittäjän puhumisen esittämistä kuvauskentässä, kuten vika: 1001 linkkinä sivulle //mybugzilla/show_bug.cgi?uid=1001. Tämä voidaan tehdä yksinkertaisesti lisäämällä twiki.scheme.bug = // mybugzilla / show_bug.cgi? id = että xplanner.properties tiedosto. Tätä samaa tekniikkaa voidaan käyttää muissa verkkopohjaisissa työkaluissa, kuten viewcvs (xplanner.properties näyttää joitain muita esimerkkejä). XPlannerissa on myös edistynyt wiki-muotoilija (ei käytetä projektissamme), joka mahdollistaa automaattisen linkityksen wiki-merkintöihin. Lisätietoja XPlanner-laajennuksista on Resursseissa.

Useimmissa organisaatioissa, poikkeuksetta, jonkinlainen LDAP-yhteensopiva hakemistopalvelin tarjoaa keskitetyn tietoturvaratkaisun käyttäjien suojaustileille. Esimerkiksi projektiamme sponsoroivassa organisaatiossa vanhanaikainen, mutta toimiva LDAP-palvelin palveli tätä tarkoitusta (myös Microsoftin Active Directory tukee suurelta osin LDAP-protokollaa). Oli virkistävää löytää XPlannerin yksinkertainen XPlannerLoginModule helppo integroida LDAP: n kanssa. Tähän sisältyi päivitys xplanner.properties seuraavasti:

-> Kommentoi oletusturva # xplanner.security.login.module = com.technoetic.xplanner.security.XPlannerLoginModule

-> Kommentoi ja muokkaa LDAP-merkintöjä ... xplanner.security.login.module = com.technoetic.xplanner.security.jndi.JNDILoginModule

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

-> Lisää käyttäjän hakutietoja xplanner.security.login.option.userBase = ou = ihmiset, o = henkilö

-> Ja tyhjennä arvot xplanner.security.login.option.userPattern = xplanner.security.login.option.userPassword =

Nopean uudelleenrakennuksen ja käyttöönoton ansiosta XPlanner-todennusturva integroitiin täysin. Ainoa haittapuoli oli, että käyttäjätunnukset oli vielä lisättävä nimenomaisesti XPlanneriin, mutta ainakin salasanalla ja ryhmäjäsenyyteen liittyvistä ongelmista tuli yrityksen neuvontapalvelun ongelma.

Tiimi, tapaa XPlanner

XPlanner tarkastelee projektia iteraatioiden, käyttäjäkertomusten ja tehtävien mukaan. Agile-paradigman mukaisesti kaikki XPlannerin hallinnoimat projektit suunnitellaan ja seurataan peräkkäisten iterointisarjojen mukaisesti. Jokainen iteraatio koostuu aloituspäivästä, lopetuspäivästä ja kokoelmasta käyttäjäkertomuksia, jotka suunnitellaan tarinasta todellisuuteen tuona ajanjaksona.

Käyttäjätarina on tärkein käsitteellinen työkalu, jota käytetään ketterässä kehityksessä viestimään asiakkaiden tarpeista ohjelmistokehittäjille. Kun käyttäjäkertomus on määritetty nykyiselle iteraatiolle (osana julkaisujen suunnittelua XPlannerin kautta), kehittäjä etsii lisätietoja jokaisesta tarinasta tekemällä yhteistyötä käyttäjän kanssa (toivottavasti kasvotusten). Tämän vaiheen tulos on yksityiskohtainen sarja kehitystehtäviä, joista kukin kehittäjä rekisteröi itsensä XPlanneriin asiaankuuluvaan käyttäjäkertomukseen.

Valitsimme sähköisen kaupankäynnin työnkulkuprojektimme suoritettavaksi kuukausittaisilla iteraatioilla, joista jokainen koostuu noin 10 tarinasta, ja jokaiselle tarinalle on annettu 10-15 tehtävää.

Sadonkorjuu

Jokaisen projekti-iteraation käyttäjäkertomuksen tulisi olla lyhyt ja tuloslähtöinen kuvaus käyttökokemuksesta ensimmäisen persoonan mukaan (esim. "Etsin sitten värin perusteella ..."). Tämän kokemuksen on kirjoittanut käyttäjä, joka kuvittelee ihanteellisen tulevaisuuden tuotteen toiminnassa, joten saatat ajatella, että käyttäjäkertomus on ohjelmiston positiivinen visualisointi! Jokaisen visualisoinnin tavoitteena on tarjota tarpeeksi tietoa ohjelmistokehittäjälle arvioimaan tarinan toteuttamiseksi tarvittavat ponnistelut.

XPlanner luetteloi projektisi käyttäjien tarinoiden kokoelman ja tallentaa samalla asiakkaan, seurannan, prioriteetin ja vaivaa koskevan estimaatin kuhunkin. Suurin vaikeus, jonka usein löydämme, on korkealaatuisten käyttäjäkertomusten kerääminen järjestelmän käyttäjien mielestä. Näin oli varmasti projektissamme, koska se oli merkittävä paradigman muutos käyttäjien tottuneista jäykistä osioista / alaosista. Kyky käyttää XPlanneria hallita tarinoita siten, että sidosryhmät näkevät ja päivittävät ne helposti ja että niillä voidaan nopeasti käydä kauppaa tietyssä iteraatiossa ja siitä pois. Yksi XPlannerin mukava, ellei toimiva ominaisuus, on aito tunnelma, joka antaa käyttäjälle tarinan, jokainen näytetään näytöllä samanlaisena 3 x 5 indeksikorttina, kuten kuvassa 1 on esitetty.

Arvioi ja kirjaa vaivaa

Ketterässä kehityksessä kehittäjät määräävät, että kehittäjät asettavat oman tavoitteensa, johon kuuluu käyttäjän tarinan analysointi ja kyseisen tarinan toteuttamiseen tarvittavien teknisten tehtävien määritteleminen. Kehittäjän on voitava vapaasti lisätä uusia tehtäviä tai muokata olemassa olevia tehtäviä, kun tarinan yksityiskohdat tulevat saataville. XPlanner tukee tätä joustavuutta tarjoamalla kehittäjille täydet käyttöoikeudet tehtävän määrittelemiseen ja muokkaamiseen. Jokaiselle tehtävälle voidaan määrittää tyyppi, kuten velka, ominaisuus tai vika, luonnehtimaan suoritettavan työn tyyppiä (esimerkiksi velka on tehtävä edellisen iteraation järjestelmään jääneen teknisen "jyrsin" puhdistamiseksi). Tehtävät määritetään myös suunnitelmalla (suunnitellulla tai suunnittelemattomalla), hyväksyvällä kehittäjällä, työn kuvauksella ja arviolla tehtävän valloittamiseen tarvittavien ihanteellisten tuntien lukumäärästä.

XPlannerin avulla kehittäjän on helppo tallentaa, kuinka paljon työtä on investoitu tiettyyn tehtävään, tai päivittää alkuperäinen työpanosarvo (alkuperäinen on edelleen tallennettu). Huomaa, että kuten on mainittu, pyyntiponnistuksen estimaatit on määriteltävä kohdassa ihanteellinen tuntia. Ihanteellinen tunti on tunti, jolloin kehittäjä ei kokea mitään keskeytyksiä.

Kehittäjien tulisi myös tallentaa ihanteellisten tuntien määrä, jonka he sijoittavat tiettyyn tehtävään. Jos kannustat kehittäjiäsi tallentamaan rehellisesti ihanteelliset tunnit (olematta vaatimatta tietää, mihin aika kuluu), voit poimia hyödyllisiä tietoja XPlannerista (keskustellaan alla). Löysimme esimerkiksi, että projektissamme ihanteellisen tunnin saavuttaminen kesti noin 1,4 kulunutta tuntia. Näitä tietoja voidaan käyttää tarkan estimaatin tuottamiseen myöhemmille iteraatioille - mikä auttaa pitämään tiimin lupaukset ja asiakkaan odotukset samassa pallokentässä.

Mittarit ja seuraavan iteraation suunnittelu

Olet iteroinnin puolivälissä ja pomo haluaa tietää "miten etsimme". Hyvin käytetty vastaus tähän kysymykseen on "Olemme noin 80 prosenttia matkasta sinne". Tietenkin tämä viimeinen 20 prosenttia näyttää aina vievän huomattavasti kauemmin kuin sen pitäisi - viimeiset 20 prosenttia on ohjelmistovastaava tylsille vihanneksille illallisella, jonka lähditte viimeiseen asti.

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