Team Foundation Service – Visual Studio Online

ALM ide u oblake!

main Servisi u oblaku trend su u IT industriji. Microsoft sve više svojih proizvoda i usluga prebacuje u vlastitu cloud platformu Windows Azure pa je i Team Foundation Server dobio svoj ekvivalent u oblaku, Team Foundation Service. Riječ je o najjednostavnijem i najbržem načinu za uvođenje ALM-a u svakodnevan rad. Oblak nudi s jedne strane očite prednosti kao što su jednostavnije održavanje i manje administriranja, ali također i neke mogućnosti koje su ugrađene samo u oblačni TFS, a nisu omogućene na lokalnoj infrastrukturi.

 

Kada je na Build konferenciji 2011. Microsoft predstavio cloudverziju Team Foundation Servera, na prvi pogled to nije djelovalo kao velika novost. Očito je da nam TFS u oblaku donosi manje administracije i brže započinjanje sa ALM-om, ali isto tako TFS preview, kako se je tada zvao, donio je sa sobom i mnoga ograničenja. Sada, nakon nešto više od godine dana, zahvaljujući svim poboljšanjima, Team Foundation Service, kako se sada zove, izrastao je u vrlo ozbiljan Microsoftov proizvod koji u mnogočemu konkurira svom starijem bratu Team Foundation Serveru u lokalnoj infrastrukturi.

 

Trebamo li još jedan server?

Team Foundation Server (TFS) spada u kompleksna Microsoftova serverska rješenje te njegova instalacija i administracija ni u kojem slučaju nije trivijalan posao. Izuzetak je jedino TFS Basics kojeg zaista možemo instalirati i podesiti u vrlo kratkom vremenu. Međutim kompletno serversko okruženje za upravljanje ne samo source kontrolom nego cijelim životnim ciklusom aplikacije, što podrazumijeva TFS zajedno sa pripadajućim serverima i servisima, zahtjeva određena specifična znanja, kako sa administratorske, tako i sa korisničke strane. Dobar administrator nije nikakva garancija da će vaš TFS biti pravilno instaliran, konfiguriran i održavan. Vjerojatno u tome i leži jedan od glavnih razloga zašto mnogi razvojni timovi odgađaju uvođenje TFS-a u vlastitu organizaciju premda su većina svjesni njegovih prednosti. Da Team Foundation Service kao servis u oblaku nije potrebno instalirati, to je samo po sebi jasno. Dovoljno je samo prijaviti se na uslugu. Oko održavanja i upgradeaverzija također se ne moramo brinuti. Koristeći TFS kao servis radimo uvijek sa najnovijom verzijom. Zanimljivo je da Microsoftov razvojni tim točno svaka 3 tjedna unaprjeđuje verziju TFS-a u oblaku, a da mi toga ne trebamo biti ni svjesni. Kontinuiranu isporuku, koju Microsoft promovira kroz svoju ALM viziju, također koristi i u praksi na razvoju ALM servisa u oblaku. Koristeći TFS u oblaku uvijek radimo sa najaktualnijom verzijom servisa, a da o održavanju, sigurnosti podataka i svoj administraciji servera ne moramo uopće brinuti.

 

Prijavi se i kreni!

status Da bismo započeli sa korištenjem TFS-a u oblaku potreban nam je samo LiveID. LiveID trenutno je jedini način autentifikacije na TFS servise u oblaku i to bez obzira prijavljujemo se na njih preko web sučelja, Visual Studija ili nekog drugog klijenta. U budućnosti Microsoft je obećao i druge načine autentifikacije, ali za sada je to samo LiveID. Nakon što kreiramo svoj TF Service račun, možemo kreirati koliko hoćemo timskih projekata. Kreiranje timskog projekta je trivijalni postupak. Trebamo definirati ime i odabrati jedan od tri metodološka predloška za svoj projekt. Metodološki predložak može biti MSF agilni, MSF CMMI ili Microsoftova inačica Scruma. Za primijetiti je da ovdje nije moguće dodavati vlastiti predložak ili mijenjati postojeći. U trenutnoj verziji ne postoje mogućnosti prilagodbe niti tipova work itema, niti polja niti ugrađivanje bilo kakvih dodataka na odabrani predložak. Microsoft je obećao s vremenom dozvoliti određene prilagodbe, ali za sada možemo se osloniti samo na ono što nam se već pripremljeno nudi kroz odabrani predložak. Tko je do sada kreirao TFS projekte, primijetit će još jednu razliku, a to je da nas TFS u oblaku nije pitao za postavke SharePoint timskog portala. Razlog je taj što on za TFS u oblaku ne postoji. Kome treba timski portal uz TFS i dalje je osuđen na TFS u vlastitoj infrastrukturi. Nakon kreiranja timskog projekta, daljnje upravljanje projektom prilično je slično onome što nam nudi i klasični TFS. Sučelje TF servisa gotovo je isto kao sučelje Web Access funkcionalnosti standardnog TFS-a 2012. Za one koji nisu do sada koristili TFS 2012, bit će to potpuno novo sučelje, jer prijašnje verzije TFS-a nisu imale ništa slično. To novo sučelje omogućava nam pristup alatu za planiranje i praćenje projekta, source kontroli, work itemima i sučelju za upravljanje buildovima.

MN> Bilo kuda TFS svuda

Klijentski pristup TFS-u u oblaku ne razlikuje se značajno od pristupa TFS-u u vlastitoj infrastrukturi. Koristili se oblačni TFS iz Visual Studija preko Team Explorera ili iz Eclipsa preko Team Explorer Everywhere dodatka, potrebno je samo spojiti se na TF servis koristeći LiveID, a sve ostalo je kao da ste spojeni na klasični TFS. Dodatno svojstvo TF servisa, koje je trenutno dostupno samo za TFS u oblaku je mogućnost korištenja Git integracije. Git je distribuirana source kontrola, osobito popularna među open-source zajednicom, kao i među developerimaza Appleove platforme. Naime Xcode, Applove razvojna platforma, ne omogućuje spajanje na TFS, ali je zato prilagođena Git kontroli. TF servis uz pomoć TFS Git integracijskog alata, omogućava klijentski rad sa Git kontrolom, koja se onda sinkronizira sa TFS repozitorijem koda. Svojstvo je vrlo korisno za heterogene timove gdje je nužno integrirati različita okruženja u zajedničku ALM platformu. Svatko radi iz svog alata, a sav kod i sve informacije o projektu nalaze se u središnjem sustavu unutar TFS-a u oblaku.

 

Build procesi u oblaku

build Jedan od najvažnijih podsustava ALM-a je upravljanje i izvršavanje buildova. Za build proces standardno je potrebna izdvojena build mašina ili čak nekoliko njih čiji je zadatak da u definiranim intervalima ili pak nakon svakog checkina izvrše izgradnju aplikacije (build), te rezultat postavi na željenu lokaciju. Držimo li svoj projekt u oblaku, logično je da bismo htjeli i build izvršavati u oblaku. To nam Team Foundation servis naravno omogućava. Važno je napomenuti da možemo koristiti i vlastiti server za build, premda projekt držimo u oblaku. Takav scenarij je zgodan ako su nam potrebne konfiguracije na build serveru ili instalacije dodatnih servisa unutar build servera što nam build u oblaku ne dopušta. Međutim u većini standardnih slučajeva, htjet ćemo i build izvršavati u oblaku bez potrebe za vlastitom infrastrukturom. Build u oblaku radi brzo i pouzdano, međutim u trenutnoj besplatnoj verziji servis donosi određena ograničenja. Trajanje builda ne smije biti dulje od sat vremena i ne smije se koristiti više od 1 GB prostora. Za besplatni servis, i više nego prihvatljiv uvjet. Nakon izvršenja, rezultat builda spremit će se u definirani folder unutar source kontrole, a unutar web sučelja moći ćemo pregledati bogati izvještaj o tijeku, brzini i uspješnosti svih koraka builda.

 

ALM za sve

Razvojni timovi koji već koriste TFS u vlastitoj infrastrukturi u većini slučajeva neće prelaziti na TFS u oblaku. Trenutno glavni nedostatak TFS-a u oblaku je nemogućnost dodatnih prilagodbi koje vam nudi vlastiti server. Također trenutno TF servis ne omogućava potpunu transformaciju postojećeg TFS-a ili timskog projekta na lokalnom TFS-u, u projekt na oblačnom TFS-u. U budućnosti Microsoft je obećao alate za migraciju, no trenutno možemo jedino prekopirati kod i krenuti razvijati preko TF servisa bez uvida u povijest odrađenu na serverskom TFS-u. Timovi ili pojedinci koji još nemaju TFS u vlastitoj infrastrukturi, jer im je njegova instalacija i održavanje bilo ili presloženo ili preskupo, sada više nemaju opravdanja. Čak i ako ste one-man-bandprojekt trebate koristiti blagodati ALM-a, a to je najjednostavnije kroz TFS u oblaku. Sve dok vaš tim ne prelazi pet članova, on je za vas potpuno besplatan. Ako TF servis još uvijek ne nudi ono što vašem razvojnom timu treba, to se može jako brzo promijeniti. Do slijedeće verzije ne trebamo čekati nikada više od tri tjedna, koliko traje jedna iteracija u kojoj Microsoft izdaje poboljšanja TF servisa. Team Foundation Service nudi ALM svima i svugdje, bez instalacije i administracije. Sve što trebamo je prijaviti se i krenuti. Dakle, što još čekamo?

 

Planiranje u oblaku

Planiranje Planiranje kreće s jedne strane od definiranja tima i njihovih kapaciteta, a s druge strane od planiranja potrebnih scenarija ili po Scrumu user storya u backlogu, skupu željenih svojstava razvijane aplikacije. Prije početka vremenskog planiranja definiraju se početci i završetci pojedinih iteracija, ili ako radimo po Scrumu, sprinteva. Team Foundation Service svjestan je vremenske dimenzije i može pratiti razvoj u odnosu na trenutni datum i trenutnu iteraciju. Na stranici Product Backlog definiramo user storye, određujemo im prioritete i dodjeljujemo iteracijama. U aktivnoj iteraciji definiramo zadatke za svaki user story, te zadatke pridružujemo članovima razvojnog tima. Kako raspoređujemo zadatke, automatski možemo pratiti i opterećenost tima u cjelini i svakog pojedinog člana u odnosu na definirani kapacitet. Kapacitet je određen vremenskim trajanje iteracije, brojem sati koje u prosjeku dnevno članovi tima provode na projektu te eventualnim izostancima. Nakon završetka planiranja, tijekom izvođenja iteracije, možemo pratiti njen razvoj kroz preglednu ploču Board, ili po Scrumu Storyboard. Na Boardu možemo pratiti koji su zadaci završeni (Done), u razvoju (In Progress) ili još nisu niti započeti (To Do). Pomicanjem zadataka iz jednog stanja u drugi pratimo brzinu razvoju u odnosu na predviđeni plan. Sve ovo omogućeno je bez ijednog instaliranog softvera na klijentu. Sada projektni menadžeri mogu zaista od bilo kuda i sa bilo kojeg računala ili tableta upravljati i pratiti razvojni projekt. Sve što im treba je LiveID i pristup web sučelju od TF servisa.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>