Sunteți pe pagina 1din 10

Metode, tehnici si

sisteme support
pentru lucrul
colaborativ
Sisteme Integrate pentru Managementul Resurselor de
Intreprindere

Andreea Elena Circiumaru


Cuprins
I. Fundamentarea teoretica a retelelor colaborative
II. Sisteme colaborative aplicate in cadrul dezvoltarii software
a. Introducere
b. Instrumente de colaborare, medii si infrastructura
c. Instrumente si servicii IT pentru colaborare/Comunicare
d. Sistemele colaborative
e. Tipuri de sisteme colaborative
f. Solutii de lucru colaborativ
i. Platforme web colaborative
1. Slack
2. Appear.in
3. Skype
4. Hangouts
ii. Platforme pentru dezvoltatori
1. WebStandup
iii. Partajarea de cod
1. Directoare partajate
a. Google Drive
b. Dropbox
2. Sisteme de versionare
a. Subversion (SVN)
b. Git
iv. Gestiunea taskurilor
1. Jira
2. Trello
III. Concluzii
IV. Bibliografie
1. Fundamentarea teoretica a retelelor colaborative

Prin prisma schimbarii de paradigma propuse de trecerea de la societatea informationala la


societatea bazata pe cunoastere, comportamentul economic al intreprinderilor si plasarea lor in
contextul social cunoaste modificari esentiale, desigur urmarind aceleasi scopuri fundamentale ale
mediului economic legate de economia de piata.
Se pot retine doua idei esentiale:
 evolutia intreprinderii intr-un mediu distribuit, interconectat si
 necesitatea acordarii modurilor de lucru al intreprinderilor ce evolueaza in acest mediu.

Retelele colaborative (Collaborative Networks -CN) constituie o noua disciplina stiintifica


focalizata pe structura, comportarea si dinamica evolutiva a retelelor de entitati autonome care
colaboreaza pentru o mai buna realizare a unor obiective comune sau compatibile, ceea ce raspunde
primei idei enuntate mai sus.

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.

Intreprinderea virtuala dinamica (Virtual Organization - VO) constituie aliante temporare de


organizatii care se reunesc din punct de vedere al partajarii calificarilor, competentelor si resurselor
pentru a raspunde mai bine ocaziilor de afaceri si a produce servicii cu valoare adaugata si produse si a
caror cooperare este sustinuta de retele de calculatoare.

Comunitatea virtuala profesionala (Professional Virtual Community - PVC) reprezinta


combinatia conceptelor de comunitate virtuala si comunitate profesionala. Comunitatile profesionale
sunt definite ca un sistem social de retele sau indivizi care utilizeaza tehnologia informatiei pentru a
media relatiile de colaborare. Comunitatile profesionale furnizeaza medii in care profesionistii
partajeaza nucleul de cunostinte al profesiilor lor ca, de exemplu, culturi de lucru similare, perceptii de
probleme, tehnici de rezolvare a problemelor, valori profesionale si comportamente profesionale.
2. Sisteme colaborative aplicate in cadrul dezvoltarii software
2.1. Introducere

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.

2.2. Instrumente de colaborare, medii si infrastructura

Instrumentele create pentru a sprijini colaborarea in dezvoltarea software se incadreaza in patru


mari categorii:

 Instrumentele de colaborare model-based - permit inginerilor sa colaboreze in cadrul


reprezentarilor software: diagramele UML, de exemplu.
 Instrumentele de colaborare process-based reprezinta toate sau o parte a proceselor dezvoltarii
software. Sistemele care utilizeaza procese explicite de reprezentare permit procese de
modelare si adoptare software.
 Instrumentele care utilizeaza reprezentari implicite incorporeaza un proces de munca specific
precum checkout, edit, checkin.
 Instrumentele de tip awarness nu suporta taskuri specifice dar, in schimb, informeaza
dezvoltatorii despre munca altora, in parte pentru a evita conflicte.

Colaborarea infrastructurala a fost dezvoltata pentru a imbunatati interoperabilitatea intre


instrumentele de colaborare si se concentreaza, in primul rand, asupra datelor lor si asupra controlului
integrat.

2.3. Instrumente si servicii IT pentru colaborare/Comunicare

Colaborarea poate fi definita in linii mari ca o cooperare a persoanelor individuale angajate in


indeplinirea unei sarcini commune prin utilizarea tehnologiilor electronice. Internetul a revolutionat
lumea calculatorului si a comunicarii cum nimeni altcineva nu a facut-o mai inainte. Internetul este in
acelasi timp o posibilitate de a transmite in intreaga lume, un mecanism pentru diseminarea informatiei
si un mediu de colaborare si interactionare intre indivizi si calculatoarele lor fara a se tine seama de
localizarea lor geografica. Internetul a fost inventat pentru a grabi comunicarea dintre cercetatori si
armata. Pe langa asta, oamenii in general au dorit sa se poata conecta la orice calculator din retea,
indiferent de locul in care se afla acesta.
Cateva din instrumentele dezvoltate pentru a intampina aceste nevoi:

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.

La baza functionarii webului stau 3 standarde, si anume:

 (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

2.4. Sistemele colaborative

Sistemele colaborative reprezinta un subiect important al societatii bazate pe cunoastere si o


parte importanta a activitatilor umane sunt implicate in acest domeniu. Stiinta are un mare impact
asupra dezvoltarii diferitelor tipuri de sisteme de colaborare din domenii de activitate variate.
2.5. Tipuri de sisteme colaborative

Exista mai multe criterii pentru clasificarea sistemelor de colaborare. Dupa tipul de criterii de
aplicare, sistemele de colaborare sunt:

 sisteme colaborative in domeniul educatiei: sunt aplicate in domeniul educational si vizeaza


evaluarea si consolidarea performantei din procesul educational;
 sisteme colaborative de aparare: vizeaza domeniul militar si sunt caracterizate de reguli stricte
de functionare si organizare;
 sisteme colaborative in productie: sunt concepute pentru a creste capacitatea de productie si
calitatea in diferite unitati producatoare de bunuri si servicii;
 sisteme colaborative bancare: sunt proiectate cu scopul de a analiza, si de a determina factorii
care afecteaza sistemul bancar si componentele sale.

2.6. Solutii de lucru colaborativ

2.6.1. Platforme web colaborative

In general, colaborarea faciliteaza munca in echipa si ofera posibilitatea cresterii productivitatii,


alocarii mai bune a resurselor si dobandirii mai usoare de informatii noi (Stahl, 2006). O aplicatie
colaborativa poate fi vazuta ca un program accesat din Internet sau dintr-o retea, care ofera o serie de
functionalitati menite sa ajute la dezvoltarea si indeplinirea rapida a sarcinilor de lucru. Principalele
categorii de software colaborativ sunt destinate:

 coordonarii: calendare, foi de calcul online, sisteme de management al proiectelor;


 comunicarii: wiki, email, blog;
 consfatuirii: mesageria instantanee, forum.

Pentru a argumenta utilizarea unei anumite tehnologii in cadrul experimentelor educationale


derulate in cadrul facultatii, s-a considerat necesara analiza minutioasa a celor mai bune alternative web
disponibile. Multe platforme online au rolul de a pune in legatura utilizatorii prin oferirea unor solutii
eficiente, cat mai usor de utilizat, furnizand totodata seturi diferite de functionalitati. Modalitatile de
colaborare sunt diferite, de la solutii de tipul intrebi si primesti raspuns (Stackoverflow, Quora), la
aplicatii de management de proiect (Asana, Jira, Trello), pana la solutii ce ofera mesagerie instantanee
(Campfire, HipChat, Slack si Appear.in).

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.

2.6.2. Platforme pentru dezvoltatori

Generalitati: integrare scrum, sprinturi

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.

2.6.3. Partajarea de cod

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.

2.6.4. Gestiunea taskurilor

Platformele pentru gestiunea task-urilor permit distribuirea responsabilitatilor, estimarea


efortului ramas si compararea efortului depus cu estimarile de pana acum.

- 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.

Dezvoltarea de sisteme colaborative conduce la cresterea complexitatii lor si caracterul global al


economiei este proiectat pentru a determina de asemenea un caracter global pentru cele mai multe
dintre sistemele colaborative. Din punct de vedere al infomatiei acestor sisteme globale de colaborare
trebuie sa le corespunda indicatori globali de performanta, procedurilor de conversie de date, si trebuie
definite matricile sistemelor colaborative. Pe baza acestor indicatori de agregare ar trebui sa decida
adecvat nivelul global, nivelul intermediar si nivelul de executie a oricarui sistem colaborativ organizat
pe niveluri ierarhice.
Un sistem colaborativ creeaza un mediu in care oamenii pot lucra mai bine impreuna, pot
partaja informatii fara constrangerile de timp si spatiu, deoarece acesta este caracterizat prin trei
aspecte fundamentale: activitati comune, schimbul de mediu si modul de interactiune.

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”

S-ar putea să vă placă și