Documente Academic
Documente Profesional
Documente Cultură
sisteme support
pentru lucrul
colaborativ
Sisteme Integrate pentru Managementul Resurselor de
Intreprindere
In cadrul unei retele colaborative se creaza intreprinderi virtuale (virtual organization - VO),
care nu sunt entitati fizice neaparat omogene din punct de vedere al situarii geografice, ci sunt coerente
si complementare functional. Eficacitatea procesului de creare a intreprinderilor virtuale (VO) este baza
aparitiei unor VO dinamice ca raspuns la conditiile de colaborare create, esentiala fiind crearea unui
mediu de dezvoltare de entropie ridicata (VO Breeding Environment - VBE).
Posibilitatea de gasire rapida a unui grup de parteneri care aproximeaza cel mai bine o
oportunitate de afaceri si ii configureaza rapid intr-o retea colaborativa pentru a exploata aceasta
oportunitate apare de buna seama ca un scenariu favorabil pentru a face fata instabilitatilor pietei.
Aceeasi idee pare potrivita si in alte contexte decat cele de afaceri, un caz extrem fiind managementul
incidentelor si procesele de reactie in cadrul dezastrelor, cand este nevoie de o angajare rapida si o buna
coordonare a unui mare numar de entitati (pompieri, politie, spitale, administratie locala, organizatii
nonguvernamentale). Ideea insasi a unui grup de organizatii capabile sa se autoconfigureze rapid intr-o
forma colaborativa orientata pe misiune/scop impune o mare agilitate.
In permanenta sunt inventate si cercetate noi forme de retele colaborative si noi forme de
comportament. Retelele colaborative sunt mai intai percepute si explicate prin descrieri informale.
Atunci cand devin disponibile mai multe cazuri si se acumuleaza suficienta experienta se poate incepe
un efort de consolidare a cunostintelor acumulate prin metode de modelare formala.
In zilele noastre, companiile adopta deschideri din ce in ce mai mari catre partenerii lor
(utilizand relatii fie institutionalizate, fie regulate sau sporadice), iar acest lucru reprezinta o
caracteristica inevitabila a evolutiei pietei. Aceasta nevoie de retea se bazeaza pe mai multe aspecte:
concurenta, imbunatatirea schimbului (de informatii si/sau bunuri), complexitatea tot mai mare a
produselor. Capacitatea companiilor de a colabora intre ele (in plus intr-un mod eficient) devine in acest
fel un factor determinant pentru evolutia lor si pentru capacitatea de a supravietui.
a. Posta electronica - Posta electronica sau e-mail-ul face parte din aplicatiile consacrate ale
retelelor de calculatoare, fiind utilizata de un numar din ce in ce mai mare. Azi, numarul mesajelor de
posta electronica il depaseste cu mult pe cel al scrisorilor clasice si asigura o comunicare eficienta intre
persoane, indiferent de localizarea lor geografica. Acest schimb rapid de idei constituie o premisa
importanta pentru colaborarea intre persoane aflate la distanta si s-a dovedit extrem de util atat in
cercetare si educatie, cat si in industrie sau comert. In acest sens, s-a estimat chiar ca utilizarea postei
electronice ca modalitate de comunicare a crescut productivitatea unor companii cu pana la 30% .
b. WWW - Termenul World Wide Web, abreviat WWW sau si www, numit scurt si web,
reprezinta totalitatea siturilor / documentelor si informatilor de tip hipertext legate intre ele, care pot fi
accesate prin reteaua mondiala de Internet. Documentele care rezideaza in diferite locatii pe diverse
calculatoare server, pot fi regasite cu ajutorul unui identificator univoc numit URL.
(HTTP) - Hypertext Transfer Protocol, stiva de protocoale OSI prin care serverul web si browserul
clientului (utilizatorului) comunica intre ele;
(HTML) - Hypertext Markup Language, standard de definire si prezentare a paginilor web.
(URI) - Uniform Resource Identifier, sistem universal de identificare a resurselor din web, folosit
pentru a identifica si regasi paginile web;
c. FTP - acronimul pentru File Transfer Protocol (Protocolul de Transfer al Fisierelor ) si este cea
mai folosita metoda pentru transferul fisierelor, indiferent de tipul si dimensiunea acestora, de la un
computer la altul, prin intermediul Internetului. FTP se foloseste atunci cand :
- se transfera ( upload ) pentru prima data fisierele unui sit la o gazda web
- se inlocuieste un fisier sau o imagine
- se incarca ( download ) fisiere de pe un alt computer
- se permite accesul unei alte persoane pentru a incarca un fisier dintr-un anumit site
Exista mai multe criterii pentru clasificarea sistemelor de colaborare. Dupa tipul de criterii de
aplicare, sistemele de colaborare sunt:
O solutie populara este reprezentata de chatul prin canalale IRC care reprezinta o alternativa
matura, testata in timp, simpla si eficienta. Totodata, pe masura trecerii timpului si o data cu aparitia
alternativelor, limitarile au aparut si s-au accentuat tot mai clar. Multe canale nu sunt arhivate, discutiile
purtate fiind practic pierdute. De asemenea, cautarea unor topice sau termeni poate fi uneori dificila,
alteori imposibila. De cele mai multe ori, domeniul de discutie al camerei este greu de identificat.
Comunicarea prin Internet Relay Chat (IRC – RFC 1459) este o solutie depasita pentru cei care
vor sa analizeze subiectele discutate sau sa colaboreze cat mai eficient. Slack este o solutie relativ noua
de mesagerie instantanee, cu o adoptie foarte buna inca de la inceput, de la creatorul platformei Flickr.
A aparut din nevoia de a oferi ceva nou fata de aplicatiile disponibile pe piata (ex: Campfire, Hipchat).
Este rapid si foarte usor de utilizat, oferind o interfata simplista si intuitiva. Este destinat exclusiv
colaborarii intr-o organizatie, pentru un grup ridicat de persoane. Ofera cautare de termeni atat in
cadrul discutiilor, dar si al documentelor incarcate. Cautarea unui topic se efectueaza usor, putand, de
exemplu, cauta mai intai daca au mai fost semnalate probleme asemanatoare inainte de a le mai adresa
inca o data. Este disponibil atat in versiune web, dar si ca aplicatie nativa pe toate sistemele de operare.
Succesul care il are dovedeste ca multe companii sunt dispuse sa plateasca pentru o aplicatie destinata
atat comunicarii, cat si organizarii discutiilor unui grup.
Appear.in este o platforma de ultima generatie care foloseste cele mai noi tehnologii si API-uri
web (WebRTC) pentru a oferi pe langa functionalitatea de chat, si facilitati video si audio. O camera
poate gazdui o conferinta video cu pana la 8 participanti. Un mare avantaj pe care il ofera este ca
inregistrarea pe sit este optionala, oricine putand accesa o camera de discutii doar stiind numele
acesteia. Solutia este compatibila doar cu cele mai noi versiuni ale browserelor web si demonstreaza
faptul ca web-ul este un mediu matur si suficient de puternic pentru a oferi functionalitatea si
performanta unui mediu nativ.
Skype si Hangouts va permit sa vorbiti online cu voce si/sau video. Ambele au cam acelasi set de
functionalitati, oferind partajare de ecran (util ca ceilalti sa-ti vada ecranul cand vrei sa le faci un demo
live). Skype insa trebuie downloadat ca aplicatie si creat un cont, in schimb hangouts functioneaza daca
ai un cont google (nu neaparat gmail) direct in browser, deci poate fi mai comod. Ambele pot avea
probleme audio/video sau intarzieri / probleme de conectivitate.
Ideea pe care se bazeaza scrum este impartirea muncii in iteratii mici si realizabile numite
sprinturi, in care se scriu atat cod de dezvoltare cat si de testare a ceea ce se dezvolta. Astfel te asiguri ca
partile mici pe care le adaugi iterativ de-a lungul sprinturilor sunt functionale.
WebStandup este o platforma foarte simpla in care membrii echipei au intalniri online in anumite
zile la anumite ore si ofera informatii in legatura cu ceea ce fac; se raspunde la intrebari precum:
ce ai facut saptamana trecuta / saptamana asta pana acum?
ce ai de gand sa faci in continuare?
ce probleme ai?
Astfel fiecare din echipa va fi informat cu cine lucreaza la ce. Toate astea au un rol important in
canalizarea corecta a eforturilor si rezultarea unui produs final mai bun si mai bine testat. E.g. poate va
vine o idee de un test interesant ce l-ati putea genera legat de o anumita functionalitate. Acum ca stiti
cine lucreaza la acea functionalitate, puteti vorbi direct cu responsabilii sau lasa comentarii asupra
statusului, cu cine ce vrea sa faca in continuare, sau sa-l ajutati cu sugestii la ce probleme a intampinat.
Partajarea de cod are un rol crucial in realizarea proiectelor software de dimensiuni medii si mari,
in special in cazuri in care mai multi programatori sau echipe participa la procesul dezvoltare/testare, iar
codul unei parti influenteaza in mod direct o alta parte. Un alt aspect ce merita mentionat este si faptul
ca prin partajarea codului se creeaza de obicei, intr-un fel sau altul, copii redundante ale codului, astfel ca
in cazul defectarii echipamentului pe care este stocata o copie (e.g harddisk-ul laptop-ului lui Ionica) nu
se pierde intreaga munca a echipei.
Directoare partajate
Solutiile de stocare bazate pe structuri de directoare partajate sunt avantajoase atunci cand se
partajeaza fisiere editate rar sau la care accesul concurent este redus si conflictele se pot rezolva usor (e.g
fisiere media, documente, arhive, imagini iso, etc):
- Google Drive - ofera un serviciu de stocare de fisiere, intr-un sistem de foldere care pot fi partajate
intre mai multi utilizatori. Interfata online ofera posibilitatea editarii concomitente a fisierelor, un
utilizator putand sa urmareasca modificarile pe care le fac ceilalti utilizatori in timp real. Exista si
o aplicatie desktop care face o copie locala a fisierelor, insa tratarea conflictelor (modificari
concomitente de catre doi utilizatori) este limitata.
- Dropbox - ofera un serviciu de stocare de fisiere si este utilizat preponderent ca aplicatie desktop
care face o copie locala a fisierelor. In cazul conflictelor (modificari concomitente de catre doi
utilizatori) se pastreaza ambele variante ale fisierelor, fiind responsabilitatea utilizatorilor sa
gestioneze aceasta situatie, sa faca merge intre cele doua versiuni. Dropbox ofera, de asemenea,
si un istoric al versiunilor unui fisier.
Sisteme de versionare
Sistemele de versionare sunt construite in special pentru fisiere text care se modifica des si
concomitent de mai multi utilizatori, facandu-le potrivite pentru partajarea de cod. Pe de alta parte,
utilizarea lor este mai complexa si reprezinta un skill in sine.
- Subversion (SVN) este un sistem de versionare, insotit de clienti in linie de comanda (svn) sau
vizuali (TortoiseSVN) pentru diferite sisteme de operare. Fiecare contributor face modificari in
sistemul local de fisiere si, atunci cand considera, poate urca (commit) noile versiuni pe un
repository remote central sau poate citi (checkout) cele mai recente versiuni. In cazul in care doi
contributori fac modificari concomitente (conflict), sistemul incearca imbinarea modificarilor
(merge), dar nu reuseste intotdeauna. In cazul in care un merge esueaza, modificarile trebuie
facute manual.
- Git, poate cel mai popular sistem de versionare, vine insotit de clienti in linie de comanda (git) sau
vizuali (TortoiseGit, SourceTree) pentru diferite sisteme de operare. Spre deosebire de SVN, in Git
exista un repository local si un repository remote central. Contributorul trebuie sa gestioneze
modificarile cu repository-ul local (commit), dar si intre repository-ul local si cel remote
(pull/push). De asemenea, exista posibilitatea crearii de branche-uri, adica versiuni paralele ale
proiectului in intregime. Aceste elemente aduc posibilitati mai elegante de gestiune a codului si
de rezolvare a conflictelor, dar aduc si o complexitate crescuta utilizarii, facandu-l de cele mai
multe ori sa fie recomandat doar profesionistilor.
- Jira permite gestiunea task-urilor, distribuirea responsabilitatilor, estimarea efortului ramas intr-
o interfata web bazata pe formulare si board-uri. Board-urile sunt modalitati de a prezenta task-
urile introduse intr-o forma care face mai usoara spargerea task-urilor mari in taskuri mici si
prioritizarea acestora. De asemena, Jira poate fi interfatat cu o solutie de versionare si/sau code
review pentru a face update automat la statusul task-urilor, in functie de commit-uri. Va poate
ajuta in faza de planificare si impartire a responsabilitatilor.
- Trello va permite colaborarea in cadrul unei echipe intr-un mod foarte usor prin distribuirea
responsabilitatilor si comunicarea pe baza task-urilor. Puteti discuta in cadrul unui task pentru a
gasi o solutie mai buna, puteti seta diverse etichete cat si unul sau mai multi responsabili de acele
task-uri si deadline-uri pentru ele. Va poate ajuta in a tine evidenta in care se afla proiectul, ce a
fost rezolvat si ce inca e nerezolvat. Va poate ajuta in faza de planificare si impartire a
responsabilitatilor.
3. Concluzii
Cooperarea implica o comunicare si un anumit tip de coordonare. Din aceste doua elemente
rezulta dezvoltarea unei noi paradigme a activitatilor de colaborare.
Colaborarea poate avea succes daca toti membrii participanti arata bunavointa si
responsabilitate. Colaborarea este necesara pentru a face fata la proiecte mari. Caracterul colaborativ
este social, esential pentru munca ce trebuie sa fie apreciata in intreprinderile interactive de proiectare
a sistemelor.
4. Bibliografie
- Resurse curs Structuri de Date – Instrumente colaborative
- „Modelarea, analiza si clasificarea conversatiilor in medii collaborative” - Alexandru Bardas,
Mihai Dascalu, Stefan Trausan-Matu
- Suport de curs SIMRI „Retele colaborative”