среда, 30. септембар 2015.

Šta je novo u Team Foundation Server 2015 i Visual Studio Online?

Još dok sam pre deceniju čitao knjigu „Poslovanje brzinom misli“ od Bill Gates-a, imao sam neodoljivu želju da zavirim u prostorije Microsoft korporacije. U ponedeljak, 28 Septembra 2015; želja mi se ostvarila. I pored toga što sam bio na desetine prezentacija, događaja i predavanja Microsoft korporacije na najelitnijim mestima, prvi put sam bio pozvan da dođem u prostorije Microsoft Srbija. Dvoje Microsoft profesionalca, Ivan Pavlović - ALM MVP - Application Lifecycle Management & Most Valuable Professional i Srđan Božović - MVP - Most Valuable Professional  poznat kao Audience Marketing Manager u Microsoft Srbija su odvojili svoje vreme; tačnije više od 8 sati svog vremena; da bi nas na predavanju upoznala zašto je kombinacija Team Foundation Server 2015 -a i Visual Studio Online najbolja kombinacija za kompanije koje se bave programiranjem software-a i većih projekata. Ukoliko ste nekad čuli, učili, radite kao programer u nekoj od programerskih kompanija ili se bavite softver inženjeringom tada shvatate koliko je važno sagledavanje i razumevanje kompletnog razvoja software-a. Onda razumete i zašto je agilna metoda razvoja software postala osnova za buduće Microsoft alate koje olakšavaju celi proces. Ali kakvo je stanje u praksi, na koje sve izazove se nailazi; to smo prvo saznali od Ivan Pavlovića.


( VSO/TFC - Microsoft rešenje za softver inžinjering ) 

Bez obzira na vaše iskustvo i tehnologiju koju koristite, u velikim projektima čija realizacija traje mesecima i više od godinu dana, apsolutno je teško odrediti koliko će realizacija istog projekta da traje. I pored toga što neki klijenti dobiju prilikom zahteva tačan vremenski period završetka projekta i ponekad čak definisane unapred specifikacije; reći klijentu tačan datum ili vremenski period za realizaciju projekta je čisto nagađanje i ništa više. Toliko mnogo stvari deluje na ishod realizacije projekta da je najpoštenije reći klijentu da će te dati sve od sebe, jer se najčešće ispostavi da usled realizacije, novih zahteva i promena, često projekat toliko izmeni, da nije ni nalik na ono što se pretpostavljalo na početku. Programiranje nije kao drugi poslovi i ne mogu se tako tretirati. Sa druge strane jasno nedefinisani rokovi utiču na određivanje cene i budžeta. Problem je što programeri ne znaju reći ne i što prihvataju projekte od klijenata koji insistiraju na unapred definisanom roku. Zidove između programera, testera, menadžera i klijenta koje rade na istom projektu treba minimizovati i klijent treba da bude osoba koja dobro poznaje celi proces poslovanja pre svega vlastite kompanije ili da uključi osobu koja to zna i klijent ili klijent sa nekolicinom svoji podređeni se moraju maksimalno uključiti u celi proces razvoja. Ukoliko klijent neće da se uključi i učestvuje u razvoju, takav posao je najbolje na samom početku prekinuti. Takođe se ne preporučuje rad na više projekata posebno ukoliko drugi projekat opterećuje programerske timove. Idealno bi bilo da svi uključeni u projekat u svakom momentu tačno znaju dokle je stigla realizacija i na čemu se radi; poput projektora u svim prostorijama, dostupan svim timovima, koji u realnom vremenu mogu videti progres. Možda je to još uvek daleka budućnost, možda i nije.

Šta je Team Foundation Server 2015 i šta donosi novo? 

TFS ili kako skraćeno zovemo Team Foundation Server je najbolje da shvatite kao deo Visual Studio-a iako je to platforma posebno građena za integraciju i proširenja. Programeri pokreću TFS uglavnom iz Visual Studio-a, iako se može pristupati i iz drugih aplikacija jer ga koriste svi članovi tima i koji ne koriste Visual Studio, ali svi moraju imati pojedinačnu licencu. TFS ima posebno licenciranje Server/CAL osim ako vaš Visual Studio sadrži i MSDN pretplatu, onda postoji mogućnost da ste oslobođeni plaćanja. Najbolje da licenciranje uvek prostudirate na zvaničnom Microsoft Srbija sajtu jer je komplikovano i često nejasno definisano; posebno ako koristite i druge servise, mada pravilno licenciranje pruža i neke benificije u zavisnosti od vaših potreba. Kada hoćete da licencirate vaš softver i servere u celoj vašoj kompaniji obavezno se konsultujte sa stručnjacima iz Microsoft-a za potrebe vaše kompanije, da vam oni pruže najbolji način licenciranja koji vama odgovara. 

( ALM MVP, Ivan Pavlović, Microsoft Srbija )

TFS vam omogućava da klijenti i partneri mogu prilagoditi elemente Team Foundation Server-a i dopuniti ih novim funkcionalnostima. Takva proširenja se mogu kretati od vrlo jednostavnih do jako složenih, od promene imena određenih polja u radnim zadacima do integrisanja potpuno novih alata. TFS jednostavno omogućava mnoštvo funkcionalnosti koje se dele među timovima programera i drugih učesnika u projektu da što bolje i efikasnije realizuju projekat. Tako se jednostavnije dele projektni planovi, proizvodi rada i procene napretka i dograđuju noviteti. Za neke programere u timu TFS ume da bude i opterećenje kao konstantno komentarisanje svake linije koda. Zato je poželjno čak i rad u TFS maksimalno optimizovati i ne preterivati sa zahtevima. Inače TFS se smatra kao troslojna arhitektura, podeljena na klijentski, aplikacioni i slojeve podataka. Osnovne funkcionalnosti TFS-a su vam:
  • Version Control – kontrola verzije zadužena za verziranje
  • Work Item Tracking  - praćenje putanja zahteva, taskova, scenarija i defekata
  • Projecat Management Functions - omogućava oblikovanje timskog projekta
  • Team Build – najvažnija funkcionalnost koja služi za kreiranje izvršnih proizvoda
  • Data Collection and Reporting – kolekcija podataka i izveštavanje
  • Project Portal – centralna tačka komunikacije za timski projekat
  • Team Foundation Shared Services – brojni infrastrukturni servisi koji su nevidljivi za krajnjeg korisnika
  • i druge funkcionalnosti.
 U TFS 2015 šema najvažniji funkcionalnosti izgleda ovako: 


 ( TFC šema najbitnije funkcionalnosti )
  
Imajte u vidu da u zavisnosti u kojoj kompaniji radite ili dobijete programerski posao, ovaj spisak može da bude poprilično duži i potrebno je neko vreme i fleksibilnost da bi se junior programer privikao i usled promena pravila rada pre svega kompanije ali i šefa tima. 

E sad, šta je u svemu ovome novo?

Team Foundation Server 2015 donosi veliku reorganizaciju koja ne da samo rešava brojne zadatke od povratne informacije kupca – kao web korisnički interfejs, promena nadgledanja, bolje upravljanje agentima, visoka raspoloživost i itd. Takođe otvara novi svet tako što ćete kreirati drastično jednostavnije proširivosti za modele, zadatke za izgradnju Java, Android, iOSNode.js i drugih platformi. Sa unakrsnim agentima možete da radite sa koliko god hoćete agenata i na više platformi. Imajte u vidu da je Build-er u novoj verziji totalno reprogramiran od nule jer pre nije mogao da uradi neke jednostavne zadatke. Jednostavno bio je ograničen. Build log nije više sakriven i sada se jasno vidi. Možete odabrati širok spektar zadataka, rasporediti aplikaciju, pokrenuli visoki volumen test automatizacija sa novim mogućnostima izvršavanja distribuiranih testova, pokretanje testova opterećenja, izvođenja funkcionalnih testova na 3 particije, uređaja, oblaka i drugo. Ovo vam omogućava da kreirate potpuno automatizovani build-deploy-test-monitor, kontinuirane isporuke pipeline-a za slobodan protok koda u proizvodnji i mnogo drugih mogućnosti. Takođe sada možete integrisati vaš TFS sa stotine omiljenih alata sa REST, Service Hooks i OAuth. Niste ograničeni na TFS alate. Ukoliko bih sad ušli u najsitnije detalje mogu da vam saopštim da sada posle mnogo godina možete da preimenujete vaš Team Project. He he he… smešno ali istina!

Dobro čoveče TFS, ali gde nađe Visual Studio Online, šta ti je to? 

VSO – Visual Studio Online je nastao 2013 godine kao servis Visual Studio-a na Azure platformi. Ne, ne morate imate Azure platformu da bi ste koristili VSO. Do 5 korisnika može da se koristiti VSO besplatno, dok za više od toga je potrebna mesečna pretplata. Mislim da to nije pre bilo tako, zato najbolje uvek proverite licenciranje. Bitno je da shvatite da VSO nije IDE već je više kao most između vašeg Visual Studio-a u računaru i oblaka. On obezbeđuje cloud collaboration powered tools i omogućava celom vašem timu da efikasnije zajedno radite na projektu.


( MVP, Audience Marketing Manager, Srđan Božović, Microsoft Srbija  ) 

Na predavanju Srđan Božović nam je pokazao više praktični samu upotrebu Visual Studio Online sa jednostavnim demo primerima na radu sa GIT-om. GIT vam je sistem za distribuciju, praćenje i reviziju fajlova, što bi Linux korisnici rekli zaboravite svako drugo verziranje. Izuzetno je popularan među korisnicima. Uglavnom se koristi na Linux-u ali se može instalirati i na Windows-u. Jedan od besplatnih GIT spremišta je i GitHub, stime da je GitHub besplatan samo za javne projekte. Poenta je da Visual Studio Online u potpunosti integrisan sa GitHub-om što vam daje izuzetnu kolaboraciju. Sve u svemu tehnologija svaki dan napreduje i svaki dan postoji nešto novo za učenje. Na internetu imate mnoštvo video file-ova i prezentacija na ovu temu. Svima bi preporučio da posete i istraže Channel 9 kad imate vremena.  





( Manuel Radovanović u prostorijama Microsoft Srbija )