Documente Academic
Documente Profesional
Documente Cultură
produs IT
erban r
Sergiu Damian
Silviu Dumitrescu
Zsolt Polgar
Victor Ionescu
Voicu Oprean
Andreea Prvu
Sebastian Big
Diana Ciorba
Monica Soare
Cluj-Napoca, 2014
Dan Suciu
Peter Lawrey
Silvia Rusanu
Simona Bonghez
Mircea Vdan
Bogdan Rus
erban Meza
Zornitsa Tomova
Alexandru Bolboac
Dan Suciu
Andreea Prvu
Silviu Dumitrescu
Bogdan Rus
erban Meza
Monica Soare
CUPRINS
INTRODUCERE
CLUJUL - SILICON VALLEY
TIPARE DE GNDIRE N ANTREPRENORIAT
O METOD STRUCTURAT DE LUCRU PENTRU STARTUP-URI
UN PRIM PAS N DEZVOLTAREA UNUI PRODUS
CUM PUTEM GNDI INTERACTIV USER EXPERIENCE-UL?
PRIVIND CU OCHII UTILIZATORULUI FINAL
MANAGEMENTUL PRODUSELOR PENTRU STARTUP-URI
ARHITECTUR PENTRU STARTUP-URI. PROVOCRI I DECIZII.
SUB PRESIUNEA BIG DATA
TENDINE DE EVOLUIE A COMUNICAIILOR SPRE
INTERNETUL VIITORULUI
PLATFORMA DE CONECTIVITATE PERMANENT PENTRU
TRANSPORTUL PUBLIC INTELIGENT
E-EDUCAIE I PLATFORME EDUCAIONALE ONLINE
JAVA STANDARD 8, NOUTI I MBUNTIRI
CHRONICLE MAP AND YAHOO CLOUD SERVICE BENCHMARK
TENDINE N DEZVOLTAREA DE SOLUII ENTERPRISE
ESTUL NTLNETE VESTUL INTELIGENA CULTURAL
N PROIECTE
DESPRE ANGAJAMENTE N PROIECTE AGILE
MANAGEMENTUL ECHIPELOR VIRTUALE
JOCUL RECRUTRII
9
13
19
27
37
43
51
61
75
83
95
111
123
129
155
161
167
177
185
193
Cuvnt nainte
10
Ovidiu Man
1
www.todaysoftmag.ro i www.todaysoftmag.com
Voicu Oprean
1
CLUJUL - SILICON VALLEY
14
n definitiv, rolul nostru, al IT-tilor este de a mica lucrurile, de a optimiza procese, de a reduce costuri i a mbunti n egal msur activitile
cotidiene ale oamenilor de rnd i ale mediului de afaceri.
16
nc de la nceput, visam la o companie complet, de aceea dup outsourcing i soluiile software, pasul firesc era s dezvoltm produse hardware. Aa,
am nceput fabricarea n mas, n China, a produselor sub brandul Smailo.
Acesta include primul sistem de navigaie din Romnia- un brand 100%
romnesc, tablete Android, camere auto DVR i actioncamera, foarte preuite
de amatorii de sporturi extreme de la scufundri pn la sriturile cu parapanta.
care le aleg.
Trim ntr-un ora n care IT-ul a devenit noua industrie grea a secolului. Clujul ne-a pus la dispoziie resursele sale, iar acum e timpul ca noi s
ne punem n slujba comunitii, oferindu-i, n schimb, produse i servicii de
nalt calitate, performante i inovatoare.
AROBS i-a asumat deja acest rol, dar voi? Ce-ar fi dac, n 2015, fiecare
companie ar lansa cel puin un produs cu valoare adugat? Orice drum ncepe cu primul pas, spune un vechi proverb. Aa c de ce nu ar face fiecare
dintre noi acel pas ca s schimbm faa comunitii?
Doar n acest fel lansnd produse inovative, Clujul va deveni un adevrat
Silicon Valley!
Dac i-am urma sfatul lui Tony Hsieh, fondatorul Zappos - Distrai-v!
Jocul e mult mai savuros atunci cnd ncerci s faci i altceva, nu doar bani -, am
construi pies cu pies o lume mai bun. n definitiv, ceea ce lsm dup noi
este mai presus de orice strategii de moment.
Autor
Voicu Oprean CEO @ Arobs
erban r
2
TIPARE DE GNDIRE N
ANTREPRENORIAT
O INCURSIUNE N MEDIUL ANTREPRENORIAL DIN
ROMNIA
ECOSISTEMUL ANTREPRENORIATULUI
ROMNESC
n Romnia, antreprenoriatul n sine presupune o gndire disruptiv dac
lum n calcul istoria ultimilor ani. nainte de revoluia din 1989 nu se putea
vorbi de antreprenoriat pe teritoriul rii noastre, iar n cei 25 de ani ce s-au
scurs de atunci multe dintre tentativele antreprenoriale high tech au falimentat rapid fie din cauza dezinteresului general n a susine astfel de iniiative,
fie din cauza puterii reduse de cumprare sau de a investi .
Dac dorim s ne concentrm pe domeniul IT, numrm pe degetele de
la o mn antreprenorii ce au pornit din Romnia i au nregistrat un succes
pe plan global. n plus, salariile din mediul IT ofer celor care le primesc o
plas de siguran care face trecerea ctre antreprenoriat cu att mai grea i
netentant. Antreprenoriatul n sine poate fi asemnat cu un salt dificil la
trapez fr plas de siguran: cine reuete, culege toi laurii, iar cine nu
De aceea, considerm c antreprenoriatul n Romnia presupune o gndire disruptiv, o ieire din tipare, un NU ferm spus vieii de salariat i o
dorin acerb de a i lua destinul n propriile mini. n ultimii ani ns
observm c acest curent ncepe s prind n rndul tinerilor care sunt din ce
n ce mai dornici s nvee cum pot deveni proprii stpni. Lor le dedicm
acest articol.
Presupunem c suntei un tnr antreprenor n IT, eventual parte a unei
echipe ce are o idee n care crede cu trie i suntei gata de a renuna la co-
20
moditatea vieii de angajat ntr-o corporaie, pentru a-i vedea visul realizat:
La ce ar trebui s v gndii? Ce ntrebri ar trebui s v punei?
Mai jos ncercm s trecem prin cteva dintre ele. ntmpltor sau nu, n
mare coincid cu punctele pe care un eventual investitor (fie el instituional
sau privat, VC sau business angel) vrea s le aud pentru a lua n calcul o
investiie. Ele constituie scheletul a ceea ce se numete pitch ctre un investitor.
Pentru a face lucrurile mai uor de neles, ne propunem s condimentm
explicaiile tehnice cu exemple de aa nu, parte dintre ele gustate n practic.
Acest articol nu se vrea unul critic la adresa mediului antreprenorial
romnesc, care a evoluat mult n ultimii ani. Greelile subliniate sunt destul
de des ntlnite i pot fi evitate uor cu puin atenie. Se vrea aadar un
ndrumar/ajutor venit n ntmpinarea celor care-i construiesc pitch-ul i se
pregtesc s atrag o investiie.
21
NDA
Vom prezenta ceea este NDA i n ce const semnarea unui NDA. Am
auzit de attea ori Am o idee grozav, i-o voi spune dup ce semnm un
NDA ca s fiu sigur c nu mi-o furai. S furm ce? O idee? Atenie! NDAul este menit s protejeze un business n sine cu specificul i difereniatorii
lui i nu o idee sau o ni de pia. Ca s nu mai adaug c investitorii serioi
nu semneaz NDA.
ANALIZA DE PIA
TAM VS. SAM VS. SOM
Evident c orice antreprenor trebuie s-i neleag piaa n cele mai mici
detalii. n plus fa de aceasta, care este o pre-condiie a succesului unei iniiative antreprenoriale, n cazul n care antreprenorul vrea s obin finanare,
acesta trebuie s tie crei piee se adreseaz. Realitatea arat ns destul de
des confuzii legate de piaa total adresabil i de segmentul pe care sper
antreprenorul s-l obin din aceast pia.
Pentru o mai bun nelegere a acestor noiuni recomandm citirea urmtorului articol explicativ: https://www.thebusinessplanshop.com/blog/en/entry/
tam_sam_som
22
COMPETIIE
Se pare c n Romnia, afirmaia Noi nu avem competiie real este
foarte frecvent asimilat unei stri de fapt care continu s persiste n mediul
antreprenorial. Fii foarte reticeni n a spune acest lucru! Dac nu ai avut
cumva o idee absolut genial (una la un miliard) atunci acest fel de aseriune ascunde o insuficient cunoatere a pieei.
Iat mai jos capitolele care ar trebui atinse ca parte a analizei competiiei:
Ofer altcineva o soluie la problema pe care o rezolvi?
Sunt muli competitori sau civa juctori care controleaz piaa?
Ce oferi tu diferit de acetia? Cu ce eti mai bun fa de ceilali?
Dac o alt companie a ncercat s rezolve aceeai problem, dar a
euat. Care au fost cauzele acestui eec? Ce s-a ntmplat? Unde a
greit? De ce a euat?
POTENIAL DE CRETERE I
SCALABILITATE
Este foarte important de neles c pentru investitorii n high-tech, potenialul de cretere al businessului primeaz n faa unei surse imediate de
venit. Ei i asum faptul c investiiile n startup-uri din zona IT sunt investiii de risc ridicat. Tocmai de aceea in foarte mult ca n cazul unei reuite
aceasta s fie de magnitudine ridicat. n plus, este mult mai uor s creti
profitul obinut dect s atragi utilizatori noi n aplicaie sau s i menii pe
cei deja existeni.
Dei muli dintre antreprenori tiu, subliniem i noi c pentru investitori
este mult mai important ca afacerea s aib un potenial de cretere, scalabilitate mare, dect obinerea unui break-even rapid / venituri imediate.
CLIENI
n general un startup rezolv o problem care i este familiar fondatorului su. Lovindu-se deja de acea problem, fondatorul poate da o direcie iniial n sperana c alte persoane, care s-au lovit de aceeai problem, i se vor
altura n utilizarea produsului / serviciilor oferite. Din acest moment este
23
24
25
Trim ntr-o lume n care chiar conteaz pe cine cunoti. Dei meritocraia nu caracterizeaz nc foarte mult societatea noastr, acest lucru nu
trebuie s ne sperie. Persevernd vom putea crea condiiile instaurrii unei
meritocraii. Cu ct vei nelege mai repede regulile jocului cu att le vei
putea folosi mai repede n avantajul vostru. Ducei-v la conferine, facei
networking i cretei-v cercul de cunotine.
Punei-v n locul unei persoane care ntlnete zilnic zeci de echipe, fiecare cu cte o idee genial i o promisiune de a schimba lumea. Cum faci
diferena ntre cei care vnd iluzii i cei care chiar pot duce visul pn la
stadiul de realitate? ncepi s favorizezi echipele care vin cu referine de la
oameni n care ai ncredere. Dac una sau mai multe persoane din cercul tu
de cunotine recomand pe cineva, priveti cu ali ochi acea echip.
SINDROMUL ANTREPRENORULUI CU
JUMTATE DE NORM
Unul dintre cele mai des ntlnite scenarii este urmtorul: Am un proiect
la care lucrez n timpul liber. Dou ore pe zi i uneori n weekend. Aceasta
poate fi o soluie pe termen scurt, mai ales n ceea ce privete primii pai,
ns pe termen lung este doar o cale sigur ctre eec. Un startup nu ar trebui
s fie acel lucru pe care l faci cnd gseti puin timp liber sau cnd vii deja
obosit dup o zi de munc. Pentru a avea succes va trebui s fii implicat 100%
n startup-ul tu deoarece obstacolele pe care le vei ntlni vor avea nevoie
de toat atenia ta, iar la sfritul zilei aceasta va face diferena ntre cei care
reuesc i cei care rmn n urm.
Cu acest articol ne reafirmm ideea c mediul antreprenorial romnesc
a evoluat mult n ultima perioad i este n continu evoluie. O problem
este nc lipsa de pe piaa autohton a caselor de venture capitalists, dar i n
acest caz credem c este doar o chestiune de timp.
Odat acest ecosistem format din antreprenori-incubatoare-investitori, nu va mai fi mult pn vom vedea startup-uri romneti de real succes
pe pieele globale. Trebuie doar rbdare.
Autori
erban r CTO, Gemini Solutions
Radu Popovici - Associate, Gemini Solutions Foundry
Alexandru Bolboac
Sunt un dezvoltator de software pasionat, o persoan care nva continuu,
mentor i profesor la Mozaic Works. Sunt un programator poliglot, iubesc
provocrile i utilizez toate tehnicile pe care le cunosc pentru a le depi. De
anul trecut, dezvolt i produse.
Cteva informaii despre mine:
Am facilitat primul Code Retreat n afara Statelor Unite (cu Maria Diaconu) i am ajutat la definirea formatului.
15 ani de dezvoltare software
5 ani de C++
7 ani de C#
5 ani de predare, mentorat i instruire
Iubesc arhitectura software, designul, programarea. n prezent nv
cum s creez produse extraordinare.
Am ajutat la crearea comunitilor AgileWorks n ase orae mari din
Romnia.
Nu ezitai s m contactai pentru sfaturi, programare n pereche (chiar
i la distan) sau oportuniti de dezvoltare n acest domeniu, pe website-ul
meu http://alexbolboaca.ro sau prin Mozaic Works http://mozaicworks.
com.
3
O METOD STRUCTURAT DE LUCRU
PENTRU STARTUP-URI
Dezvoltarea unui produs implic mult efort, nelegere i adaptare la realitile pieei. Datorit modificrilor multiple, presupunerea antreprenorilor
este c abordarea f orice e posibil e suficient. Dei dezvoltarea unui produs este o activitate care se desfoar la limita haosului, ea poate fi realizat
ntr-un mod controlat i ordonat.
Iat un model simplificat:
Clarificarea unui scop i a unei viziuni.
Validarea viziunii prin experimente.
Iterat de la 1 (fie clarificarea i mai detaliat, fie pivotare).
Pentru validarea viziunii, urmtoarele unelte pot fi folosite:Identificarea MVP-ului folosind Personas i Storymapping,
Planificarea implementrii folosind user stories,
Identificarea presupunerilor i a experimentelor necesare,
Folosirea Kanban pentru o abordare disciplinat a dezvoltrii,
Utilizarea ATDD i a mockup-urilor pentru a elimina ct mai mult
din necunoscut.
Fiecare dintre tehnicile menionate mai sus este detaliat n rndurile
urmtoare.
28
SCOP I VIZIUNE
Totul pornete de la un scop i de la o viziune asupra produsului. Nu voi
insista mult pe aceste subiecte, pentru c s-au scris nenumrate articole i
cri despre ele. Merit totui reamintite cteva aspecte cheie.
O viziune bine definit ajut la luarea rapid a deciziilor n timpul dezvoltrii produsului i a businessului. Dei ne-am dori s lum toate deciziile
ntr-un mod bazat pe date, realitatea este c rareori un business poate atepta
momentul n care toate datele sunt clare i corect interpretate. Aproape orice
decizie de business se ia pe baza unor informaii pariale. n lipsa informaiilor complete, alte elemente conteaz pentru luarea deciziilor: intuiia
echipei i a antreprenorului i mai ales viziunea produsului.
Viziunea do no evil a Google este clar definit n filozofia companiei1:
Nu permitem ca anunurile publicitare s fie afiate pe paginile noastre de rezultate, dect dac sunt relevante acolo unde apar.
Noi credem c publicitatea poate s fie eficient fr a fi iptoare.
Publicitatea pe Google este ntotdeauna marcat clar drept Link
sponsorizat, astfel nct s nu compromit integritatea rezultatului
cutrii noastre.
Scopul produsului este diferit de viziune. Dac viziunea se refer la filozofia produsului, scopul este msurabil. Acesta poate fi legat de: numr de utilizatori, venituri, numr de vizite, etc. .
Lucrez n acest moment la un produs eHealth. Viziunea lui este s ajute actul
medical al medicilor de familie pentru a preveni greelile i a simplifica partea administrativ. Scopul pe care ne concentrm n acest moment este s reducem timpul
petrecut de doctor n medie cu introducerea datelor pacienilor. Viziunea este greu
de msurat, scopul l putem msura prin compararea cu alte aplicaii similare.
TEHNICI UTILE
PERSONAS
Noiunea de persona provine din comunitatea UX. O persona nu este altceva dect un profil de utilizator, care ofer contextul necesar pentru experimente i alegerea funcionalitilor. Profilul de utilizator poate fi mbogit
1 https://www.google.com/about/company/philosophy/
29
incremental.
Nume: Dan2
Specializare: Doctor de Familie
Vrst: 36 ani
Familie: Necstorit
Alte detalii:
deine o tablet i un iPhone
are cont pe Facebook
i face concediile n strintate
Personas pentru un produs pot fi identificate de echip printr-un workshop de cteva ore.
E important de neles c i personas implic presupuneri legate de produs
i de utilizatori. E bine ca aceste presupuneri s fie pe ct posibil validate, fie
prin statistici demografice fie prin interviuri cu poteniali utilizatori.
STORYMAPPING
Storymapping este o tehnic de a identifica paii necesari pentru ndeplinirea unei activiti, din punctul de vedere al utilizatorului. Fiecare pas poate
fi ndeplinit n mai multe moduri fie n aplicaie, fie n afara ei.
Exemplu de storymap pentru prescrierea unui medicament:
Selectare medicament -> Stabilire doz -> Indicaii administrare -> Imprimare prescriere
Text liber
Cutare medicament
Cutare subst. activ
Cutare clas medicamente
E bine ca echipa s porneasc de la identificarea scenariului complet, urmnd ca apoi s selecteze ce anume va fi implementat i ce anume pare
a oferi cel mai mare beneficiu pentru utilizator. Cu ct sunt implementai
mai repede paii care aduc valoare pentru utilizatori, cu att cresc ansele de
conversie rapid.
2
30
USER STORIES
User story-ul este cea mai rspndit modalitate de gestionare a cerinelor
din Agile (XP, Scrum) i Lean/Kanban. Avantajul unui user story fa de
documentele de cerine este c permite rafinarea incremental a cerinelor
pe msur ce echipa nelege mai bine utilizatorii i piaa.
User story-ul este i un element de dialog ntre utilizatori, programatori,
designeri i testeri. n cea mai simpl form a sa, un user story arat astfel:
Ca un <rol> vreau s <aciune> astfel nct <beneficiu>
De exemplu:
Ca medic de familie vreau s gsesc un medicament pe baz de nume
astfel nct s l pot prescrie rapid
User story-ul este ns foarte adaptabil i permite modificri sau adugarea unor elemente de care au nevoie fiecare din cei implicai n produs. De
exemplu:
Un mockup va permite programatorilor s nceap rapid implementarea i va asigura integritatea designului grafic.
Teste de acceptan vor permite validarea complet a user story-ului i
implementarea sa corect.
Informaii suplimentare pentru deployment, n cazul n care exist
probleme specifice.
n cazul utilizrii personas, user story-ul se poate referi la o persoan n
loc de un rol. Acest lucru ajut la ajustarea sa n funcie de profilul utilizator.
Cum se schimb user story-ul de selectare medicament pentru a converti utilizatorul urmtor?
Nume: Grigore3
Specializare: Doctor de Familie
Vrst: 53 ani
Familie: Cstorit, doi copii
Alte detalii:
puin familiarizat cu tehnologia
scrie la tastatur foarte ncet
are nevoie de ochelari pentru citit
3 http://whatisstomachflu.com/wp-content/uploads/Senior-medical-doctor-Large.jpg
32
MOCKUPS
Fiecare user story care implic interfa utilizator are nevoie de un mockup
pentru a fluidiza dezvoltarea. Mockup-ul poate fi creat n diferite moduri:
desenat pe foaie, ntr-un tool de design precum Adobe Photoshop, n tool-uri
specializate de prototyping sau direct n html.
Mockup-urile sunt cel mai bine create prin colaborarea ntre designeri,
programatori i persoana care a elaborat viziunea produsului. Abordarea interdisciplinar permite identificarea mai multor detalii i clarificri la momentul potrivit.
KANBAN
Cea mai potrivit tehnic de organizare a dezvoltrii pentru un startup
este Kanban. Kanban introduce foarte puine reguli, dar destule pentru a
permite o dezvoltare fluent i mbuntire continu.
Paii pentru a adopta Kanban sunt urmtorii:
1. Identificarea etapelor din procesul de dezvoltare:
Procesul de dezvoltare este reprezentat de etapele : Analiz,
Dezvoltare, Testare, Deployment, Done.
Pot exista ns multe variaii.
Procesul trebuie s fie ct mai aproape de realitate la momentul
respectiv.
Procesul se va modifica n timp, deci nu investii prea mult timp
n identificarea exact a lui.
n cazul unei echipe noi, cel mai simplu proces este i cel mai bun
pentru a ncepe rapid.
2. Construirea unui board conform cu etapele din proces
33
34
CONCLUZIE
Dei dezvoltarea unui produs n cadrul unui startup este o activitate care
se desfoar la limita haosului, ea poate fi organizat ntr-un mod disciplinat
i previzibil. Avantajele acestui mod de organizare sunt evidente: eliminarea
pierderilor datorate problemelor de calitate i rework, micorarea stresului
echipei i deschiderea posibilitii de inovaie prin reducerea administraiei
necesare n condiii de haos.
Echipa Mozaic Works (www.mozaicworks.com) poate ajuta la adopia
rapid i eficient a acestor tehnici, permind echipelor s se concentreze
asupra scopului lor principal: crearea unui produs de succes.
Autor
Alexandru Bolboac - Trainer & Coach @ Mozaic Works
Mircea Vdan
Pasiunile mele sunt tehnologia, educaia i antreprenoriatul. Primele activiti antreprenoriale le-am nceput n studenie, prin mai multe proiecte
non-profit dedicate studenilor, n paralel cu frecventarea facultii (Calculatoare, UTCN).
n ultimii 3 ani, activitile mele s-au desfurat exclusiv n zona startup-urilor, mi se pare domeniul potrivit de a mbina pasiunile enumerate mai
sus. Acum lucrez n cadrul startup-ului ZenQ (www.zenq.co) i ajut la formarea comunitii de startupuri din Cluj (www.clujstartups.com).
4
VALIDAREA PROBLEMEI I A
SOLUIEI PRIN INTERVIURI
UN PRIM PAS N DEZVOLTAREA UNUI PRODUS
38
39
40
1 http://momtestbook.com
2 http://vimeo.com/40192415
3 http://www.slideshare.net/foundercentric/practical-customer-development-lean-startup-groningen
4 http://www.slideshare.net/andreasklinger/actionable-customer-development
5 http://www.cindyalvarez.com/learning/faq-customer-development-for-product-managers
41
Sebastian Big
Sebastian Big, pe care l gsii pe sebastianbig.ro, este unul dintre cei mai
buni clarvztori sintactici pe plan naional, o meserie de viitor n timpuri de
criz nu att economic, ct conceptual.
Profeii semantice de orice natur: social, psihologic, tehnologic etc.,
s-au ncercat de multe ori n trecut, dar rezultatele au fost dezamgitoare iar
direciile de urmat neclare, n ciuda eforturilor asidue ale respectivelor scene
de a le urma.
Interaction Designer, dar de formaie filozofic i cu traduceri din Virilio, Baudrillard, Derrida & Stiegler i un doctorat n Comunicare terminat
prematur, Sebastian Big i valorific talentul pe piaa romneasca de IT,
ncercnd s pun n valoare metodele sale de clarviziune ntr-un sistem deocamdat cantonat n factualitatea imediat.
5
CUM PUTEM GNDI INTERACTIV
USER EXPERIENCE-UL?
Dup cum precizeaz majoritatea ncercrilor de definire a acestui domeniu multidisciplinar, UX-designul ncorporeaz, pe de o parte, aspecte din
discipline tehnice: informatic, arhitectur, design grafic, design industrial
i, pe de alt parte, se strduiete s integreze aspecte din tiinele umane:
tiine cognitive, psihologie, antropologie, sociologie. De ce tiine umane?
Pi, e foarte simplu, pentru c au ca domeniu de activitate tocmai omul (userul) i existena (experiena) lui. tiinele umane sunt ns o invenie destul de
recent (cel mult 150 de ani) fa de disciplina cu acelai obiect de activitate,
din care s-au dezvoltat i ele: filosofia. n ce privete omul i ce i se ntmpl
acestuia, filosofia are o expertiz de peste 2000 de ani.
Istoria filosofiei se mparte ndeobte n trei perioade: antichitatea, modernitatea i contemporaneitatea, fiecare cu tematica ei specific. Obiectul
principal al filosofiei antice a fost ceea ce este, fiina, modernitatea s-a
ocupat de cunoatere, iar tematica vremurilor noastre e comunicarea, tehnologia informaiei fiind un caz particular al acestei ultime etape. Fiecare
dintre aceste etape e marcat conceptual de o relaie opozitiv. Vom vedea pe
parcursul acestei prezentri felul n care a rezolvat filosofia aceste conflicte i
vom ncerca s ne dm seama n ce msur rezolvrile ei ne pot ajuta n mai
buna nelegere a conceptului de user experience.
44
45
care face posibil cunoaterea noastr. Simurile ne dau toate datele brute
despre lume, material fr de care nu ar exista cunoaterea. Percepia este
punctul de plecare al unui proces la finalul cruia ajungem s avem certitudini. Doar percepia este cea care poate aduce cunoatere.
Raionalismul pretinde c nu simurile, ci raiunea e punctul de plecare al
oricrei cunoateri. Raionalitii pretind c fr categorii i principii a priori
furnizate de raiune nu am putea organiza i interpreta experiena noastr
senzorial. Am avea de-a face cu un imens, nedifereniat caleidoscop de senzaii fr semnificaie.
Doar principiile i conceptele generate i certificate de raiune i doar
ceea ce e deductibil logic din ele poate oferi cunoatere.
CONTEMPORANEITATE STRUCTUR VS NARAIUNE
Nu voi descrie aici felul n care se desfoar lucrurile n contemporaneitate. Suntem cu toii prezeni. Voi spune doar c, n ce privete filosofia, avem
n continuare de-a face cu o relaie conflictual, reprezentat de aceast dat
de coala structuralist i de cea hermeneutic. Cele dou au evident moduri
diferite de a vedea comunicarea.
Structuralismul este o orientare teoretic i metodologic interdisciplinar care studiaz structura, funciile i sistemele de relaii ce caracterizeaz
realitatea, punnd n prim-plan totalitatea n raport cu individul i sincronicitatea faptelor n raport cu istoria. Semnificaia e un rezultat al relaiilor
interne ale sistemului ca ntreg. Comunicarea ar fi n acest caz cu att mai
precis cu ct indivizii implicai n actul ei stpnesc structura respectivului
sistem.
Pentru hermenenutic, ce pune n fa individul, realitatea e compus
din mpletirea unor naraiuni individuale. nelegerea se realizeaz prin interpretarea perpetu a propriilor naraiuni i compararea lor cu naraiunile
celorlali i cu poveti generice (biblia, talmudul etc.). Istoria ca desfurare
temporal are preeminen n acest caz, diacronia are ctig de cauz n faa
sincroniei. n cazul hermeneuticii comunicarea e un proces nesfrit n care
semnificaia e ntotdeauna nou, momentan i emoional.
46
47
CONTEMPORAN
Problema cu structuralismul e c semanticul vine ntr-un plan secundar
n raport cu sintacticul. Semnificaia e secundar gramaticii. Comunicarea
e pur funcional i golit de emoie. Riscul abordrii hermeneutice, pe de
alt parte, e acela al unei reele de comunicare fr cap i coad, de tip Turn
Babel, imposibil de gestionat, n care comunicarea real ar fi random.
Rezolvarea conflictului dintre cele dou perspective e ceva ce se ntmpl
as we speak. Structura este cea care ordoneaz diversitatea naraiunilor personale. De la comuniti complet izolate n spaiu i timp am ajuns n satul
global, cu limbaj i pattern-uri de comportament globale. Gndim (structurat) global i acionm (producem naraiuni) local.
CONCLUZII
Dup cum am vzut, fiecare dintre cele trei perioade din istoria filosofiei e
marcat de dou feluri de a vedea lucrurile, la prima vedere diametral opuse,
fr putin de mpcare. Fiecare perspectiv are ns lipsurile ei, niciuna
dintre ele nu reuete s ofere o viziune global, funcional asupra epocii
respective. De fiecare dat, lucrurile ncep s capete sens n momentul n
care apare cineva care s le pun n interaciune. Dei nu e o munc uoar conceptual, simplul fapt de a vedea posibilitatea interaciunii dintre cele
dou perspective deschide un front de lucru care nu poate dect s duc la
rezolvarea situaiei opozitive.
Afirmam mai spus c epoca n care trim e marcat de tehnologie. Dac
pentru antici era vorba despre a tri, pentru moderni despre a cunoate, iar
pentru contemporanul secolului trecut despre a comunica, n prezent, legtura sau felul n care oamenii interacioneaz cu tehnologia poart numele
de user experience. S vedem, n ncheiere, n ce msur ne putem folosi de
know-how-ul filosofiei pentru a defini cuplul opozitiv care marcheaz user
experience-ul i pentru a gestiona aceast relaie aparent dihotomic.
Dac ar fi s analizm user experience-ul printr-un ochi-rezumat al celor
trei etape, avem pe de o parte un nucleu dur, care spune c numai principiile,
categoriile i structura conteaz, c tehnologia este ceva ideal, care nu are nevoie de nicio poveste, de nicio zorzoan care s distrag atenia de la adevrul
ei transcendent, la care user-ul nu poate ajunge dect printr-un travaliu de
aceeai intensitate cu cel depus de nucleul dur de mai sus.
La captul opus se afl cei nzestrai cu harul soft-skill-urilor, din perspectiva crora principiile i categoriile sunt ceva de ocolit, structura e ceva
48
49
Diana Ciorba
Diana Ciorba coordoneaz cu dedicare strategia de marketing a companiei Codespring, din 2009. Furniznd constant informaii despre pia i
despre expertiza echipei, ea a devenit un ambasador activ al comunitii IT
din Cluj.
Srbtorind 11 ani de provocri n marketing i dezvoltarea afacerilor,
de-a lungul ultimilor 7 ani a avut i rolul de consultant independent pentru
investitori din ar i strintate. Alturi de experi i manageri executivi,
pentru ea, munca multi i interdisciplinar este o plcere.
nelegnd antreprenoriatul ca un stil de via diferit, creterea afacerilor
este ntotdeauna o preocupare prioritar. Diana consider activitatea de marketing i dezvoltare n ITC un teren propice pentru o minte jucu.
Studiile din Frana au influenat parcursul academic al Dianei, ea deinnd
n prezent un master n Management. Cu un palmares ce include premii n
domeniul artelor dramatice, scrierii creative i tiinifice, Diana este un autentic specialist hibrid.
6
PRIVIND CU OCHII
UTILIZATORULUI FINAL
52
53
54
Fondatorul companiei, ing. Levente Szelyes alturi de echipa sa, au dezvoltat parteneriate strategice pentru dezvoltarea de produse software complexe cu civa din liderii mondiali n industriile lor. n paralel, compania
are i produse software proprii. Rezultatele pozitive au fost posibile datorit
acurateii cu care se deruleaz procesele de analiz, planificare i dezvoltare.
Acurateea perceptibil n produsele software dezvoltate de Codespring
are la baza acest mecanism sofisticat de reglaj fin al tuturor variabilelor i
resurselor implicate n proces.
55
Figura 2: Reglajul fin ca principiu guvernator al organizaiei / sursa: Catalogul Codespring, ed. 2014
#6 IMPLICAREA UTILIZATORILOR N
PROTOTIPARE I TESTARE
Timpul de proiectare i lansare pe pia a unui produs software de calitate
poate varia n funcie de resursele disponibile: tehnice, financiare i umane.
Practica din domeniu a consacrat prototiparea i testarea ca dou etape ce
pot avea o influen major asupra calitii rezultatului final. Din perspectiva utilizatorului, acestea sunt momente critice n care se poate manifesta i
poate participa la conturarea produsului pe care probabil l va folosi n viitor.
Observarea utilizatorilor n interaciunea cu prototipurile vor oferi informaii valoroase n legtur cu: reacia fa de probabila interfa, modul
n care ar utiliza funcionalitile produsului, experiena pe care ar putea-o
tri utilizatorul. Ulterior, echipa de proiectare va putea propune schimbri,
56
mbuntiri i completri. Avantajul colaborrii n aceast etap este apropierea de un rezultat ct mai util i plcut utilizatorului int.
Testarea cu utilizatorii int este o evaluare concluziv a produsului
nainte de distribuirea pe piaa int. n cazul unei evaluri pozitive, se poate
considera lansarea pe pia i creterea produsului. Este o etap prin care se
pot colecta informaii despre comportamentul utilizatorilor i despre viteza
cu care adopt noul produs sau noua versiune.
#7 PRIETENIA CU NOILE
GENERAII DE UTILIZATORI
Dac pn acum vorbeam de noua generaie de tehnologie, e timpul s
atragem atenia i asupra noilor generaii de utilizatori. Viteza cu care absorbim fiecare nou dezvoltare tehnologic i cea cu care copiii i adolescenii
reuesc s le exploateze, indic o cretere vertiginoas a abilitii acestora de a
interaciona cu tehnologia. Comportamentul acestor noi generaii va diferi,
fiind deja influenat de hiperconectivitate, mobilitate i accesul la realiti
diferite.
Apropierea organizaiilor ITC de noile generaii este imperativ. Consider c persoanele avnd rol de strateg n dezvoltarea afacerilor, respectiv
n dezvoltarea de produse software - n special, pot gsi o surs de inspiraie
pentru viitorul apropiat analiznd comportamentele proeminente din rndul
noilor generaii. Adeseori, sinceritatea brut a copiilor i adolescenilor poate
ajuta dezvoltatorii unui nou produs n identificarea punctelor slabe sau unor
noi oportuniti. Bineneles i pentru obinerea acestor informaii o sistematizare a mijloacelor de colectare este necesar.
57
mare se poate pregti din timp prin adresarea unor ntrebari simple de
genul: Cum am putea opera un pacient la distan? sau Cum am putea
nva tipul de lovituri pe un teren de golf, fr instructor? sau Cum am
putea monitoriza sntatea ecosistemului marin?... ntrebrile se vor adresa
att specialitilor ct i potenialilor utilizatori finali. Adresnd ntrebri i
ateptnd rspunsuri antrenm echipa s vin cu idei, soluii i inducem
utilizatorilor finali ideea c o soluie ar fi posibil pentru nevoia lor.
Aliniind organizaia i beneficiarii direci la ideea de propunerea a unor
soluii, crem podul spre inovare.
#9 UTILIZATOR FINAL NU
NSEAMN CUMPRTOR
Un produs software poate fi construit pentru uz direct, personal (pe computerul personal, pe telefonul mobil personal, etc.) sau pentru uz direct, profesional (pe computerul sau staia de lucru a companiei, pe telefonul de serviciu, n maina de serviciu, etc.). Dei n ambele cazuri, echipa de proiectare
va avea n vedere utilizatorul final, va trebui fcut distincia ntre situaia
n care acesta are i puterea de a decide achiziia i situaia n care echipa de
achiziii a companiei va decide pentru el.
Lanul decizional va afecta resursele alocate dezvoltrii produsului software, versiunea final i modalitatea de punere pe pia.
58
Autor
Diana Ciorba - Marketing Manager @ Codespring
59
Zornitsa Tomova
12
MANAGEMENTUL PRODUSELOR
PENTRU STARTUP-URI:
EXPERIENA ZENQ
62
NCEPE ZENQ
Eu i cu Mircea am nceput s punem la cale ZenQ o aplicaie social
pentru mobil pentru oamenii interesai de dezvoltarea personal i gndirea pozitiv, pentru a spune mulumesc i a-i aprecia prietenii extraordinari. Partea cea mai interesant era c profilul i va fi construit de ctre
prietenii ti care i dezvluiau punctele forte i faptele pozitive, dup cum
au fost vzute prin ochii lor. Am fcut puin cercetare, am derulat cteva
mici experimente care implicau aplicaii funny paper i stickies, am desenat
cteva cadre (wireframes). Dar la Startup Weekend Cluj, lucrurile au luat cu
adevrat vitez. Ne-am ntlnit cu nite oameni extraordinari. Ei au utilizat
codul i alte tipuri de magie pentru a aduce la via n dou zile, un prototip
funcional. Am ctigat locul al doilea mpreun i numai dou luni mai trziu, beta noastr public era lansat pe iOS i Android. Unii dintre noi am
lucrat doar part-time, nu ne-am vzut fa n fa n tot acest timp (deoarece
Mircea i cu mine eram n TechPeaks People Accelerator n Italia), i totui,
ne-am micat cu o vitez incredibil. O jumtate de an mai trziu, nc dezvoltm i rezolvm probleme mai mici sau mai mari mpreun. Avem mai
mult de 1200 de utilizatori beta i interes din partea unor investitori din UK
i Bulgaria, ceea ce ne-a fcut s avem o scurt prezentare la Facebook HQ
n Londra, recent.
LECII NVATE
Chiar dac oferisem consultan multor startup-uri i companii n legtur cu dezvoltarea produselor, ZenQ a fost prima mea ncercare n domeniul
mobil i de a conduce o echip de dezvoltare a produsului. Da, aceasta nseamn multe greeli i lecii nvate. i totui, mai nseamn i c, dac eti
pregtit s i le asumi, este mai uor ca niciodat s iei nite oameni deosebii
n echip i s ncepi un proiect propriu. Niciodat nu va exista un moment
mai potrivit, nu ai nevoie s tii nimic mai mult dect tii acum, vei nva
ceea ce trebuie pe parcurs. Partea cea mai grea este s perseverezi printre
eecurile multiple i s faci ca lucrurile s mearg i dup entuziasmul iniial.
Dureaz cel puin apte ani s construieti o afacere n IT care s poat fi
susinut global i nu exist o cale mai uoar. O ntrebare bun pe care s
i-o pui nainte de a ncepe Vreau s investesc urmtorii 10 ani din viaa
63
mea pentru a face asta s funcioneze? Dac rspunsul este nu, s-ar putea ca
acesta s nu fie proiectul tu. Mai caut. Dac rspunsul e da, nu ai nimic de
pierdut dac ncepi chiar acum.
Urmeaz cteva dintre leciile pe care le-am nvat i care sper c vor
fi folositoare att colegilor startup-eri, ct i celor care se gndesc s construiasc un startup ntr-o zi. i poate, cine tie, managerii de produs care
i ctig din asta existena ar putea beneficia de o perspectiv diferit. nvturile se mpart n patru categorii, mentalitate, echip, proces i utilizatori- Cvartetul Sfnt al startup-urilor la nceput, dac dorii. Exist industrii
mari care se adreseaz problemelor legate de dezvoltarea personal, sudarea
i managementul echipei, procesele afacerii, marketing, fr a mai meniona
startup-urile. i totui, cnd vine vorba de Managementul produselor (Product Management) n contextul startup, exist cteva lucruri specifice pe care
s le avem n vedere, pe care vi le pot mprti din experiena mea personal.
Lectur plcut!
MENTALITATE
Dezvoltarea unui produs extraordinar ncepe din inim. Aici avem trei
puncte cheie. n primul rnd ceva simplu tu ar trebui s iubeti ceea ce
faci, deoarece numai o persoan fericit are perseverena s creeze lucruri
uimitoare. Totui, ar trebui de asemenea s iubeti i oportunitatea care vine
odat cu dezvoltarea produsului. Un produs nu are limit superioar n privina valorii pe care o poate aduce poi ajunge la sute de milioane de oameni
i le poi face vieile mai frumoase. Dac nu visezi la scar mare, dac nu eti
ndrgostit de aceast oportunitate imens, nu are nici un sens s realizezi
un produs. Poi fi mult mai fericit s lucrezi la altceva care este mai aproape
de inima ta s locuieti ntr-o cas n pdure, s cltoreti n jurul lumii,
s furnizezi servicii extraordinare oamenilor, orice. n final, dac nu eti sigur
c aceasta este ceea ce i doreti, nu uita c depinde de tine s faci alegerea.
Dragostea i pasiunea se construiesc, nu i se ofer gratis. Nu poi iubi pe
cineva de la prima vedere dragostea adevrat crete cu timpul i efortul pe
care l investeti n ea. La fel este i cu produsele. Stabilete-i un reminder
zilnic care s i aminteasc de ce faci asta i ce visezi s obii. i apuc-te de
treab. Dragostea ta va crete n fiecare zi. i odat cu ea i succesul tu.
64
Unde s i stabileti obiectivul? Buddha ofer un sfat foarte bun n legtur cu acest lucru. Imagineaz-i c desenezi o persoan pe o coal de hrtie
i apoi cteva cercuri concentrice n jurul su. Persoana aceea eti tu, cercul
cel mai apropiat este familia ta, urmtorul cerc reprezint prietenii ti, apoi
colegii, oraul tu, ara ta, lumea, etc. . Buddha spune c prin stabilirea unui
obiectiv mai aproape de ultimul cerc din desenul tu, tu generezi mult mai
mult energie n tine nsui, iar aceast energie te va ajuta s ajungi acolo. Aa
c fii curajos, nu te mulumi cu obiective care sunt mai prejos de visele tale
cele mai ndrznee.
Alege-i credina cu nelepciune. A aprut o ntreag industrie care ajut startup-urile s nainteze cri, evenimente, maetrii guru, acceleratoare. Toat lumea i ofer perspectiva sa despre cum ar trebui s i dezvoli
startup-ul, iar acest lucru este nemaipomenit. Este o bogie fr precedent
la ndemna ta, i totui este i un pericol. De exemplu, micarea lean este
nc pe val n timp ce vorbim. inei minte, totui, c marile startup-uri au
fost construite nainte de cartea The Lean Startup. i vor fi construite
mult dup ce trece acest val. Am ntlnit oameni care au progresat uimitor
urmnd aceast carte. i alii care au urt-o din tot sufletul i care i-au construit calea spre succes urmnd alte credine proprii. Soluia este s citeti din
rsputeri i s fii deschis la toate perspectivele, pn cnd faci alegerea ta legat de ceea ce s crezi. Am descoperit c este bine s fii puin schizofrenic
n legtur cu asta i s i dezvoli capacitatea de a avea puncte de vedere i
credine conflictuale n minte (ascult-i clienii i nu i asculta, planific-i
traiectoria i resursele financiare i nu le planifica, renun i persevereaz,
etc.). Nu tii niciodat care dintre ele va fi cea mai folositoare n urmtoarea
provocare pe care o vei nfrunta pe drumul tu.
Concentrare! Concentrare! Concentrare! Hai s fim serioi, nu poi
construi Microsoft, Apple i Facebook n acelai timp. Una dintre calitile cheie ale unui manager de produs este s spun nu. Dac nu i dezvoli rapid aceast capacitate, te vei pierde n fluxul de idei ale utilizatorului,
mentorului, echipei i propriile tale idei, nainte de a-i da seama. Lista de
funcionaliti ale produsului tu actual va continua s se extind pn cnd
va exploda i se va transforma ntr-o gaur neagr, din care nu va mai iei
nimic niciodat. Totul pornete de la tine i de la nceput dac viaa ta este
o harababur de proiecte, vei avea o harababur n fiecare dintre proiecte.
65
ECHIPA
Pur i simplu, ai ncredere n ei. Oamenii care se implic n startup-uri
sunt extraordinari, i cnd le dai mn liber, ntotdeauna te vor surprinde.
Exist multe exemple n acest sens, n experiena mea. Claudiu, care acum
este dezvoltatorul nostru backend, nu avea idee de Python (tehnologia pe
care o utilizm) i iniial nu a avut un rol clar n echip. O lun mai trziu,
a vzut c avem o lips pe partea de backend, a nvat s scrie cod n Python
i a nceput s execute n mai puin de dou sptmni. Mihai, care lucreaz
la iOS, s-a oferit voluntar s prezinte proiectul nostru n TSM i s ne ajute
cu interfaa de nscriere a utilizatorului. Cristi a jucat un rol important iniial
n definirea a ceea ce trebuia fcut n termeni tehnici i mai trziu s-a oferit
s fac aplicaia noastr Android (nu avea experien n domeniul mobile).
De asemenea, ajut mult s nu te amesteci n cod ai ncredere n bieii de
pe partea tehnic c vor face ca totul s mearg. Treaba ta este s te asiguri
c produsul final funcioneaz dup cum ai discutat. Cum se ajunge la acest
lucru, este treaba expertului din fiecare domeniu.
Dinamica succesului. Acesta este singurul aspect pe care milionarul pe
care l-am menionat la nceput l cuta la o echip. Formarea ta, experienele,
66
67
PROCESUL
Nu planifica drumul. Exist o tendin natural s vrei s ai totul clar
dinainte s ncepi. Totui, adevrul este c n primele luni ale proiectului tu,
nainte de a ajunge la potrivirea produsului cu piaa, ideea ta se schimb constant. Este un proces aleatoriu un coleg de echip tocmai a avut o idee extraordinar n timpul implementrii, te-ai lovit de o limitare tehnic, ai aflat
despre un competitor care are o strategie interesant, un mentor i-a dat o
idee grozav despre capitalizare, ai citit Hooked i te-a lovit ideea c, pentru a reine utilizatorii, trebuie s ai notificri, e-mailuri care s le aminteasc
de tine. Exist un flux constant de modificri mici i simple care sfresc
prin a-i transforma produsul n ceva foarte diferit fa de ce ai avut n
minte cnd ai nceput. Deci ce poi face n aceast privin? Trei lucruri.
S ai un plan de cel mult cinci pai n minte (ex. s obii investiia, s aduni
echipa, s te mui n US, s obii un parteneriat cu Facebook, s faci minuni).
Dezvolt cu echipa ta o definire detaliat i foarte clar a funcionalitilor
pentru versiunea la care lucrai n prezent. i o idee general cu privire la
principiile/ valorile principale nspre care tindei cu produsul vostru, cu o prioritate clar pe care vrei s o abordai n urmtoarea versiune. Este suficient.
ncepe rapid i murdar. Eu sunt un mare fan al formatului Startup Weekend datorit culturii pe care o promoveaz chiar de la constituirea echipei
tale. Te face s te concentrezi pe vitez, execuie i distracie chiar din prima
zi toate elementele de baz ale unei culturi a startup-urilor de succes. Pe
lng asta, un weekend de munc intensiv mpreun spre un obiectiv clar
arat fiecrui membru din echipa ta ce nseamn s faci lucruri mpreun.
Fiecare dintre voi vede dac exist o dinamic a succesului n echipa voastr sau nu. ansele sunt ca s avei un mic ctig care va suda echipa i v va
motiva s continuai mpreun, ntr-o alt ncercare. Nu trebuie s ateptai
urmtorul Startup Weekend, multe startup-uri au weekenduri de lucru care
funcioneaz de minune. Ceea ce este important e ca tu, n calitate de manager al produsului, s fii foarte clar cu privire la cele 2-3 funcionaliti care
reprezint baza aplicaiei tale. Schieaz trei ecrane pe o bucat de hrtie i
asigur-te c toat lumea nelege, ofer feedback i este de acord cu ceea ce
tu hotrti c poate fi fcut. Cheia este s livrezi ceva mic i simplu, ct mai
curnd posibil.
68
69
70
UTILIZATORII
ntreab-i i nu-i ntreba utilizatorii. Nu este o coinciden c am lsat
utilizatorii pe ultimul loc aici. Valoarea pe care ei o percep din ceea ce faci
este singura metod de a aprecia ct de bine funcioneaz mpreun mentalitatea ta, echipa i procesul. Dac faci bine lucrurile, ei sunt o surs uimitoare
de nvare, inspiraie i motivaie pentru a merge mai departe. Ai nevoie de
o baz pe care s construieti, iar aceast baz este ceea ce vrei s faci, mentalitatea ta, echipa ta i procesele. Aezi baza la locul ei i continui s primeti
feedback de la utilizatorii ti pentru a te asigura c creezi experiena pe care ei
o doresc. n detaliu, nu dac este o cas sau o nav spaial. De multe ori, utilizatorii i vor spune un lucru, iar atunci cnd au produsul n mn vor face
cu totul altceva. Vei auzi sute de idei n legtur cu ce ar trebui mbuntit.
Sute de idei despre cum poate fi aplicat n cazuri diferite de utilizare. Atunci
cnd primeti feedback cantitativ, acesta va fi bazat fie pe ceea ce exist deja,
fie nu va fi suficient de profund pentru ai construi viziunea produsului n jurul su. Cnd primeti feedback calitativ, acesta va fi nesemnificativ din punct
de vedere statistic, zgomotos i greu de sintetizat. Nu te poi baza pe utilizatori ca s i spun care ar trebui s fie viziunea produsului tu. Te poi baza
pe ei s te corecteze pe parcurs, s i ofere idei despre funcionaliti cool i
s te ajute s nvei. Ascult-i n legtur cu acestea!
50% dintre oameni nu vor nelege. Dac eti norocos. i cel mai probabil aceti oameni nu sunt inta ta depinde de tine s i dai seama de ce,
acest lucru te va ajuta s te orientezi mai bine nspre ceilali %50 rmai.
ntreaga afacere Red Bull este creat n jurul a %50 dintre utilizatori, crora
le place. Restul oamenilor ursc chiar i gustul su, dar asta nu mpiedic Red
Bull s fac miliarde de la primul grup. Nu i poi mulumi pe toi, aa c cel
mai bun pariu al tu este s te concentrezi pe punctele luminoase. Acetia
sunt utilizatorii ti fideli, cei care iubesc ceea ce faci tu i care vor s te ajute
s mbunteti produsul. Privind la experienele lor uzuale cu produsul tu
(cum arat fluxul lor exact, pas cu pas), tu poi observa tiparele i i poi
dezvolta interfaa utilizatorului astfel nct s i ncurajezi i pe ali utilizatori
s fac aceiai pai. Pentru asta, ai nevoie de analitic la nivel individual (ex.
oferit gratuit de MixPanel).
71
Experimenteaz din rsputeri. Ajut s ncepi ntotdeauna cu cteva experimente offline (ex. noi am fcut un test al aplicaiei pe hrtie cu 30 de oameni nainte de a construi ceva). Chiar i mai trziu, este bine s experimentezi nainte de a construi funcionaliti noi majore. Aici cheia este s observi
comportamentul mai degrab dect opiniile. Nu explica, urmrete! i din
nou are sens numai dac msori. Imagineaz-i care ar fi comportamentul
ideal pe care ai vrea s l vezi, mparte-l n buci mai mici, gndete-te la
o metric pentru fiecare etap, stabilete o norm pentru ea i vezi cum se
compar rezultatele reale cu aceasta. Pe msur ce avansezi cu MVP-ul tu,
f ct de multe teste A/B poi pentru copia ta, pentru butoane, culori, flux,
etc. . Exist cteva instrumente grozave pentru aceasta, chiar pentru mobile
(ex. noi folosim Vessel). Vei gsi muli biei care construiesc nc astfel de
soluii, care se afl ntr-o etap timpurie i sunt dispui s negocieze preurile
n schimbul feedback-ului. Folosii-v de asta.
Nu explora, persist. Una dintre cele mai mari nenelegeri legate de
micarea lean este despre termenul validare. Iar i iar vedem oameni care fac
dezvoltarea clienilor, ncercnd lucruri pentru a vedea cum funcioneaz.
Apoi spun c nu au primit validare, drept o scuz pentru a renuna la un
proiect dup ce au fost demotivai de rezultatele timpurii descurajatoare sau
disfunciile iniiale ale echipei. Primele semne de validare real au loc atunci
cnd abordezi reglarea produs-pia. Dac dezvoli ceva apropiat de o soluie
existent cu o uoar zvcnire nou, aceasta se poate ntmpla rapid (dac ai
un plan solid pentru a te diferenia de competitori). Dac faci ceva mai inovativ, i va lua multe iteraii (i noroc) s ajungi acolo. Dac vei renuna de la
primul hop din drum, ce rost mai are s ncepi? Dac produse ciudate cum
sunt Snapcat sau Yo pot ajunge la milioane de utilizatori, ideile proaste care
nu pot obine dragostea utilizatorilor pur i simplu nu exist. Totul ine de
execuie. S faci sau s nu faci. Nu exist ncercare.
Greeli ZenQ, vol. 4: Iat una pe care nu am rezolvat-o nici pn n ziua
de azi nu am pstrat relaiile cu utilizatorii suficient de apropiate. Nu vorbesc de postarea unor poze cu pisici drgue pe Facebook, ci despre ceea ce se
ntmpl DUP ce un utilizator vine la tine cu feedback i idei. Este sarcina
ta s menii acea relaie, s implici persoana respectiv mai mult, s i ari
dragostea ta i s obii ajutorul su pe parcurs. Necesit efort s construieti
72
CONCLUZII
n acest articol am artat c, dac eti o fat de 25 de ani fr nici un
pic de experien n dezvoltarea produselor, nimic nu te poate mpiedica s
schimbi acest lucru. Acelai lucru este valabil i pentru voi, oriunde ai fi i
oricare este experiena voastr. De fapt, lumea ntreag i progresul nostru ca
i umanitate depinde de voi s riscai, s ieii din zona voastr de confort i
s facei ceva ce alii nu au mai fcut pn acum. Probabil c vei pierde, dar
dac inspirai pe altcineva s v urmeze i el/ea reuete, milioane de oameni
s-ar putea s o duc mai bine n civa ani. Ce ai putea dori mai mult?
Leciile mprtite aici s-au adresat celor care sunt la nceput de drum
i s-au referit la mentalitate, la cum s i construieti o echip, ce procese s
urmezi i la cum s comunici cu utilizatorii. Acestea sunt n ntregime supuse
criticii, discuiilor i interpretrii din partea voastr. Poate c am greit n
totalitate n legtur cu unele dintre ele i voi afla aceasta sptmna viitoare
sau mine. V doresc s mi descoperii greelile pe msur ce avansai i
facei propriile voastre greeli (dac deja ai gsit cteva, tii despre ce vorbesc).
Dac exist ceva ce ar trebui s reinem, sper s fie o mic mantra pe
care am nvat-o de la tipul din Israel care a fcut minuni pentru mine.
Este o replic simpl pentru a-i nva subcontientul care ar trebui s fie
atitudinea ta fa de toat nebunia care te ateapt n legtur cu startup-ul.
73
Autor
Zornitsa Tomova - Cofondator @ ZenQ
Sergiu Damian
8
ARHITECTUR PENTRU
STARTUP-URI. PROVOCRI I DECIZII.
76
enterprise cu care eram obinuit eu. Echipa sa n acel moment nu avea niciun programator. Era format doar din oameni care dezvoltau un concept, o
idee, un alt fel de a ajuta oamenii. Pentru mine era o noutate i din punctul
de vedere al coninutului era vorba de o suit de aplicaii departe de zona
obinuit de aplicaii de prelucrare a datelor care, ntrun fel sau altul, faciliteaz diverse procese din mediul enterprise.
V invit n continuare s vedem mpreun cum a decurs micul nostru experiment oprindum mai apsat asupra a trei decizii, care cred c ilustreaz
cel mai bine diferena ntre stilul de lucru i arhitectura de startup fa de
cea din mediul corporativ.
COMUNICAREA
Prima constatare a fost c n echip nu exista o imagine clar asupra a
ceea ce vrem s realizm, dar exista dorina acut s avem ct mai repede o
prim aplicaie. Aa c, dei unii ar spune c asta nu e treaba arhitectului,
am reformulat complet modul de lucru. Am stabilit c, dac nu vorbim toi
aceeai limb, nu avem cum s fim coereni, s nelegem despre ce vorbim i
unde vrem s ajungem. Dei instinctul ne mpingea s pornim ct mai repede
construcia tehnic, neam dat repede seama c nu tim suficient i c am
cheltui efort mult, cu riscuri mari de a da gre.
Pare banal, privind n retrospectiv, ns e extrem de important s gsim
mijlocul potrivit de comunicare, de a nota ideile ntrun mod uor de neles
pentru toi, ct mai vizual i ct mai aproape de realitatea nconjurtoare.
Aa c, am folosit unelte de creat schie ale interfeei cu utilizatorul. Echipa de concept a adoptat rapid acest stil i, mai mult, a ales singur unealta
potrivit, trecnd de la Balsamiq (folosit iniial) la Indigo Studio. n scurt
timp, toat echipa adoptase acest limbaj i ideea ne era tuturor din ce n ce
mai clar. ntlnirile noastre au devenit mai eficiente, structura aplicaiilor
devenea clar, ne era uor s ne imaginm cum vor funciona i chiar ce ar
putea simi un utilizator.
n ultimii ani, uneltele specializate pentru crearea i editarea (unele permit chiar rularea) schielor de aplicaii (n englez mockups sau wireframes)
au evoluat n calitate, flexibilitate i uurin n utilizare. A ndrzni s spun
c oricui cu sau fr studii de IT, iar fi acum la fel de uor s creeze schie
de aplicaii ca i cum ar edita un document oarecare. Aadar, orice proiect
77
CALITATEA
A doua provocare de care mam lovit a fost smi redefinesc ateptrile
tehnice. Eram obinuit s analizez n detaliu cerinele clientului (adesea o
organizaie reprezentat de civa indivizi) legate de performan, scalabilitate, securitate, adaptabilitate i alte astfel de atribute (rspund la ntrebarea
Cum?), n plus fa de cele strict funcionale (rspund la ntrebarea Ce?).
Miam dat seama c viitorul utilizator al aplicaiilor create de noi va avea
cu totul alte criterii de judecat, cele mai importante fiind, foarte probabil,
valoarea adus lui i uurina n utilizare (efortul depus pentru a obine acea
valoare).
mpreun cu echipa, am decis c n contextul nostru e mai important
s aducem aplicaia n faa utilizatorilor dect s rspundem acum tuturor
ntrebrilor posibile despre calitate. Am ales, astfel, n cunotin de cauz i
asumndune investiii ulterioare, s implementm aplicaia folosind cea mai
simpl soluie tehnic, dar extensibil ulterior. Nu voi intra acum n detaliile
tehnice, pentru c acelai raionament sar putea aplica oricrei combinaii
de platform i limbaj de programare.
Ne lovim frecvent, mai ales dac suntem obinuii cu proiecte sau produse
software de dimensiuni mari, de dificultatea definirii calitii. A gsi echilibrul perfect ntre calitatea i puritatea tehnic, viteza i costul dezvoltrii i
momentul ieirii pe pia e un aspect dificil de gestionat. n mediul enterprise,
calitatea are impact major n costul total al deinerii i operrii unui sistem
(TCO). Fr s am nite statistici precise, costul calitii e adesea mai mare
dect costul direct al producerii funciilor produsului. Ca outsourcer-i, neam
dori calitate maxim la costuri minime, deziderat care e adesea doar un tru-
78
PLANUL
Odat stabilit modul de comunicare n echip i de documentare a inteniilor noastre, puteam s demarm construcia. Neam dat seama dup
primele estimri c efortul necesar, raportat la timpul disponibil era disproporionat. Aceast disproporie se ntea din faptul c fiecare dintre membrii
echipei folosete pentru a participa o felie limitat de timp personal. Am
decis, cum menionam mai devreme, s renunm la unele aspecte tehnice.
Cu toate astea, complexitatea nu poate fi eliminat complet. A face software
nu e lucru simplu. Astfel, am ntlnit o a treia provocare. Aceea de a planifica
munca ntregii echipe (incluznd aici concept, design grafic i dezvoltare)
n aa fel nct s reducem timpul nefolosit i s maximizm viteza cu care
79
80
Autor
Sergiu Damian - Independent Software Architect
81
Silvia Rusanu
9
SUB PRESIUNEA BIG DATA
SURSE DE PRESIUNE
A fost odat ca niciodat o companie cu o afacere interesant; compania avea un grup devotat de oameni de afaceri care urmreau dezvoltarea
produsului lor pentru a ndeplini necesitile clienilor lor, dar i pentru a-i
menine nivelul veniturilor lor la cel mai bun nivel posibil. De asemenea,
compania avea i un departament tehnic, plin de ingineri i analiti talentai
care fceau ca visele i planurile afacerii s devin realitate, i care, n acelai
timp, erau mulumii i suficient de incitai de munca lor. Acest basm a durat
o vreme ndelungat: datele, instrumentele, procesele erau toate acolo pentru
a menine lucrurile i pentru a mpinge afacerea pe calea succesului. Totui,
nimic nu dureaz pentru totdeauna. Nici lumea afacerilor i nici cea a IT-ului nu stau pe loc. Odat cu creterea exponenial a Internetului i a accesului
pe care oamenii l au la tot felul de resurse online, un fel de domino a fost pus
n micare, iar compania a nceput s simt presiunea.
Datele din jurul afacerii erau ateptate s creasc liniar n volum, an dup
an, conform modului n care au fost iniial proiectate . Baza de clieni era n
continu expansiune, dup cum la fel erau i preteniile lor. Furnizorii de date
au suferit o cretere asemntoare, fiind capabili s livreze cantiti mult mai
mari de informaii. Procedurile dedicate procesrii datelor au fost construite
pentru a fi scalabile doar pentru un anumit volum, dar acum acestea nu mai
par potrivite i, cu siguran, nu mai sunt suficient de performante. Presiune!
84
n jurul lumii, un graf social imens a nceput s se formeze bazat pe platforme precum Facebook, Twitter, Yelp, Youtube i preaputernicul Google.
Utilizatorii i exprim cu mai mult libertate opiniile, ofer feedback imediat
pentru produsele pe care le folosesc, i modeleaz personalitile lor online
prin exprimarea antipatiilor i a preferinelor. O abordare avnd n centru
produsul, cu o linie de suport pentru clieni este de domeniul trecutului;
lumea afacerilor se reorienteaz ctre o perspectiv orientat spre client. Clientul i dorete ca lucrurile s fie personalizate doar pentru el i s nu piard
timp cu informaii inutile. Compania nu a prevzut aa ceva, iar acum trebuie
s gseasc o soluie care s ncorporeze toate aceste forme de date n afacerea lor. Presiune!
Tehnologia avanseaz ntr-un ritm rapid i i face apariia n locuri
neateptate: camere video pentru control, senzori de greutate, senzori pentru
trafic, etc.. Clienii ar aprecia cu siguran informaiile care le-ar putea uura
viaa ct timp sunt offline; totodat, compania ar beneficia de cunoaterea
comportamentului clienilor lor pentru a lua anumite decizii. Totui, produsul afacerii nu este pregtit pentru date ce vin cu vitez att de mare.
Presiune!
Oamenii tehnici din companie erau satisfcui cu munca lor i erau la
curent cu tendinele tehnice. Dar ei aud tot mai des despre big data, i nu
mai sunt att de fericii pentru c nu au ocazia s lucreze cu cele mai noi instrumente despre care vorbete toat lumea: NoSQL, Hadoop, etc.. Presiune!
Dac abstractizezi povestea companiei de basm, chiar poi vedea presiunea generat de volumul, varietatea, viteza i multitudinea de instrumente
generate de big data. Cu aceast presiune se confrunt oamenii de business i
cei tehnici. Citind printre rnduri, devine evident c numrul de lucruri ce
trebuie luate n considerare cnd ndrepi un proiect n zona big data nu este
neglijabil, iar presiunea este mprit ntre cei ce iau decizii att pe partea
de business, dar i pe cea tehnic. Nu exist reete care s rezolve tot, dar
sunt principii de considerat i ntrebri de pus nainte de a ncepe cltoria
de eliberare a presiunii big data. Cteva dintre aceste reete vor fi prezentate
n seciunile urmtoare.
85
86
87
88
89
90
mod de a valorifica ceea ce ofer big data. Cu un volum mai mare de date,
chiar i statisticile devin mai semnificative i exacte, iar o corelaie ce pare o
coinciden poate fi demonstrat cu valori - ceea ce aduce mai multe informaii pentru business.
O alt dimensiune pentru big data este varietatea i aceasta ar putea
reprezenta cheia pentru a descoperi informaii valoroase. Diferite surse de
date pot oferi date despre aceeai entitate, deci modele se pot descoperi i
n date neuniforme. Asemenea informaii pot mbunti reinerea de clieni printr-o experien complet personalizat per utilizator, nu doar pentru
publicitate i marketing, ci i pentru modelul afacerii; s luam de exemplu
poliele de asigurare pentru maini, i modul lor de calculare doar n funcie
de nite parametri fici (cum ar fi vrsta). Cum ar fi dac comportamentul
oferilor n trafic ar putea fi accesibil prin senzori sau o aplicaie? Atunci,
poate oferii tineri ar putea avea polie mai ieftine pentru c ar putea dovedi
cu date c sunt oferi siguri, n ciuda vrstei lor, iar businessul ar atrage mai
mult clientela tnr.
n ceea ce privete algoritmi folosii, nu sunt prea multe nouti pentru
big data; algoritmii de nvare automat primesc n sfrit atenia cuvenit.
Odat cu creterea cantitilor de date din aplicaii i cu progresul fcut pe
sursele adnotate ( pentru procesarea limbajului natural - corpusuri adnotate,
tezaure extensive, ontologii), analiza de sentimente, previziunile, clasificarea
automat a clienilor, ies din laboratoarele de cercetare i pot fi folosite pentru a mbunti afacerea. ntr-adevr, n zona tool-urilor o multitudine de
opiuni au aprut (Mahout, OpenNLP, PredictionIO, Jubatus, Encog, etc.)
pentru a ncuraja uzul ct mai general. n plus, pentru rezultate mai bune i
integrarea cu executoarele de map-reduce, algoritmii au fost uor modificai
pentru a funciona i ntr-o abordare distribuit.
De-a lungul descrierii pailor pentru managementul big data, multe baze
de date NoSQL, executoare distribuite de map-reduce i framework-uri dependente de domeniu au fost precizate, multe dintr ele open source, ceea ce
nu ar trebui s impun limite n ceea ce privete costul. ns e chiar aa?
Pentru mine cea mai bun caracterizare pentru software open source este libertatea exprimrii nu nseamn bere gratis, dar nu datorit modelelor de
liceniere (cum se folosete de obicei). Mie mi place s duc analogia ctre
relaia dintre timp i cost pentru construirea unui produs: i-ai putea exersa
91
92
Autori
Silvia Rusanu - Senior Developer @ ISDC
Dan Danciu - Software Architect @ ISDC
93
Bogdan Rus
Dr. ing. Andrei Bogdan Rus este ef lucrri (lector) n cadrul Universitii Tehnice din Cluj-Napoca, Facultatea de Electronic, Telecomunicaii
i Tehnologia Informaiei. Devenind din anul 2008 membru al colectivului
UC Labs (Unified Communications Laboratories) din cadrul aceleiai faculti, domnul Rus a participat n proiecte de cercetare internaionale ce aveau
ca tem principal tehnici de comunicaii n Internetul viitorului. Rezultatul
ntregii activiti de cercetare a fost validat n diverse articole publicate la
conferine internaionale i reviste de specialitate. Adiional activitilor de
cercetare, Andrei Bogdan Rus este implicat i n activiti didactice cu studenii nscrii la cursurile de licen i masterat.
10
TENDINE DE EVOLUIE A
COMUNICAIILOR SPRE
INTERNETUL VIITORULUI
96
97
TEHNOLOGIA OPENFLOW
Mecanismele de tip SDN fac parte dintr-o arhitectur n care componenta de control a reelei este decuplat de cea de comutaie a datelor i adus
mai aproape de stratul aplicaie prin biblioteci de funcii specializate (API
Application Programming Interface). n consecin, se permite optimizarea deciziilor luate n reea astfel nct s se in cont de cerinele serviciilor
a cror date sunt transmise prin infrastructura de comunicaii (vezi Figura
1). Un alt avantaj al acestei abordri este faptul c echipamentele din reea
pot fi mult simplificate deoarece acestea nu mai trebuie s implementeze o
gam foarte larg de protocoale deoarece toate deciziile sunt luate de ctre
entitatea de control a reelei. Singura cerin pentru aceste echipamente este
ca ele s accepte i s execute instruciuni provenite de la entitatea de control.
Astfel, configurarea securizarea i optimizarea infrastructurii se poate face
automat cu programe specializate n executarea acestor funcii.
Prima soluie aprut
ce permite interfaarea
planului de comutaie a
datelor cu cel de control,
n vederea implementrii paradigmei SDN,
este tehnologia OpenFlow. Aceasta permite
accesul direct i controlul echipamentelor de
comutaie existente n
infrastructura de reea:
comutatoare i router-e
[6]. Figura 1. Arhitectura SDN
98
99
100
ctre Rice University ca entitate de orchestrare a funcionrii reelei, este bazat pe limbajul Java i ofer posibilitatea de extensie a acestuia prin module
adiionale adugate n funcie de necesiti. O alt caracteristic este faptul
c a fost optimizat pentru rularea n paralel a mai multor fire de execuie n
vederea creterii performanelor de control.
Printre beneficiile ce pot fi dobndite n urma utilizrii tehnologiei
OpenFlow am putea enumera [6]:
1. Creterea securitii reelelor prin definirea la nivel nalt a politicilor corespunztoare. Prin intermediul tehnologiei OpenFlow, acestea sunt translatate n instruciuni specifice fiecrui echipament din
reeaua controlat. n cazul n care apar schimbri ale infrastructurii
operaionale, actualizrile se vor executa ntr-un timp mult mai scurt
dect n abordarea clasic. Deoarece tehnica SDN ofer o vizibilitate
global asupra reelei, se asigur faptul c setrile de control acces,
inginerie a traficului i calitate a serviciilor sunt implementate unitar
n ntreaga infrastructur, inclusiv campusuri, centre de date, filiale
distante.
2. Controlul centralizat al unei infrastructuri de reea multi-vendor n
vederea punerii n funciune i a configurrii ct mai rapide a acesteia.
3. Controlul bazat pe flux permite o gestiune granular a ntregii reele
astfel nct se pot specifica politici la nivel de utilizator, echipament
sau aplicaie. Acest fapt permite furnizorilor de servicii cloud s ofere
suport pentru izolarea traficului, securitate i management elastic al
resurselor n scenarii n care mai muli utilizatori partajeaz aceeai
infrastructur.
4. Creterea satisfaciei utilizatorilor. Acest beneficiu este datorat faptului c parametrii ce reflect n timp real proprietile reelei sunt pui
la dispoziia aplicaiilor de nivel nalt, astfel nct deciziile acestora s
fie optimizate la situaia actual. Un exemplu concludent n acest sens
ar putea fi eficientizarea serviciilor de tip IPTV (Internet Protocol
Television) care transmit fluxuri video n timp real. Cunoscnd starea
reelei i rata de transfer disponibil, acestea pot modifica dinamic
rata la care se face compresia fluxului astfel nct s adapteze automat
cantitatea de date transmise pe canal.
5. Accelerarea inovaiei prin implementarea unor noi modele de business. De exemplu, oferirea de servicii de tipul IT-as-a Service n
care este necesar posibilitatea modificrii dinamice a modului de
101
funcionare a infrastructurii astfel nct s fie ndeplinite nevoile aplicaiilor i ale utilizatorilor.
6. Reducerea complexitii de operare prin automatizarea proceselor de
management a reelei. Astfel, se pot minimiza costurile operaionale
i se pot elimina perioadele de instabilitate aprute datorit erorilor
inserate de ctre factorul uman.
Mecanismele de tip SDN i n consecin tehnologia OpenFlow apare ca rspuns la tendinele de virtualizare a resurselor de calcul, dorina de
mbuntire a mecanismelor de mobilitate i apariia soluiilor de tip ITas-a-Service (infrastructur IT ce este utilizat doar la nevoie), care exercit
o presiune semnificativ, creia reeaua clasic nu i poate face fa. Astfel,
este nevoie ca aceasta s se poat adapta n timp real la cerinele dinamice
provenite din partea utilizatorilor, devenind astfel o platform optimizat
pentru livrarea eficient a unei game variate de servicii.
102
n ntmpinarea acestei probleme, propunem unificarea tuturor protocoalelor de rutare ntr-unul singur ce poate fi utilizat n toate scenariile posibile.
Acesta este capabil s i adapteze comportamentul n funcie de cerinele
fiecrui flux de date n parte. Cu alte cuvinte, deciziile de rutare nu mai sunt
luate de ctre un singur algoritm, indiferent de necesitiile curente. GRAS
(Gearbox-like Routing Algorithms Selection) [8] este soluia propus a fi
rspunsul la problema enunat anterior i presupune punerea la dispoziia
protocolului de rutare a unui set de mai muli algoritmi, din care va fi activat
la un moment dat cel mai potrivit pentru scenariul n cauz (vezi Figura 5).
103
REZULTATE EXPERIMENTALE
104
Nodurile SW1, SW2, SW3 i SW4 sunt configurate s efectueze comutaia astfel: de fiecare dat cnd un pachet este recepionat, se ncearc
determinarea fluxului din care face parte. Dac o aciune a fost definit vizavi
de fluxul n cauz, aceasta va fi executat (pachetul va fi transmis pe portul
de ieire corespunztor, determinat cu ajutorul algoritmului de rutare activat
pentru situaia respectiv), n caz contrar, pachetul este ncapsulat i trimis
mai departe ctre entitatea de control (Beacon). Dup procesarea acestei informaii se va trimite ctre nodul de comutaie aciunea ce trebuie aplicat
pentru urmtoarele pachete primite, ce fac parte din acest nou flux.
Scenariul de test implementat presupune transmisia ntre nodurile Surs
i Destinaie a ase fluxuri (F1, F2, .. , F6) a cte 30 Mbps fiecare, ctre nodul
Destinaie. Acestea au fost pornite la un interval de 20 secunde unul de cellalt. Marcm momentele de timp astfel: T1, T2=T1+20s, , T6=T5+20s.
n acest scenariu s-a decis utilizarea algoritmului Dijkstra modificat pentru
identificarea celei mai bune ci ntre surs i destinaie. Deoarece numrul
de fluxuri crete n fiecare pas, se observ faptul c din pasul 3 elementul de
control decide folosirea algoritmului Ford-Fulkerson pentru utilizarea n pa-
105
T1
T2
T3
T4
T5
T6
1-2-4
F3
F3
F3, F5
F3, F5
1-3-4
F4
F4
F4, F6
1-4
F1
F1, F2
F1, F2
F1, F2
F1, F2
F1, F2
106
Rezultatele ilustrate n Figura 8 demonstreaz faptul c implementndu-se un comportament adaptiv al reelei la situaia actual se pot menine
parametri de calitate ai serviciilor (latena) la un nivel mulumitor chiar i n
cazul n care reeaua ncepe s fie utilizat pn aproape de capacitatea maxim. n consecin, acest aspect se va reflecta prin pstrarea unui grad ridicat
de satisfacie a utilizatorilor infrastructurii de comunicaii.
107
CONCLUZII
1. [1] N. Feamster, J. Rexford, E. Zegura, The Road to SDN: An Intellectual History of Programmable Networks, ACM SIGCOMM Computer Communications
Review, Aprilie 2014.
2. [2] S. Jain, A. Kumar, S. Mandal, J. Ong, L. Poutievski, A. Singh,
3. S. Venkata, J. Wanderer, J. Zhou, M. Zhu, J. Zolla, U. Hlzle, S. Stuart, and A.
Vahdat. B4: Experience with a globally deployed software defined WAN, ACM
SIGCOMM, Aug. 2013.
4. [3] ***, Its time to virtualize the network, Nicira Whitepaper 2012, http://nicira.
com/en/network-virtualization-platform
5. [4] ***, Open Networking Foundation, www.opennetworking.org
6. [5] ***, Open Daylight, http://www.opendaylight.org/
7. [6] ***, Software-Defined Networking: The New Norm for Networks, Open Networking Foundation ONF White Paper, April 13 2012
8. [7] N. McKeown, et al., OpenFlow: enabling innovation in campus networks,
ACM SIGCOMM Computer Communication Review, 38 (2), April 2008, 69-74
9. [8] A.B. Rus and V. Dobrota, Case Study of a Gearbox-Like Routing Algorithm
Selection in Runtime, 18th IEEE LANMAN 2011, Chapel Hill, North Carolina,
pp. 1-6, DOI: 10.1109/LANMAN.2011.6076938
10. [9] A.G. Furculita, M.V. Ulinic, A.B. Rus, and V. Dobrota, Implementation Is-
108
Autori
Dr. ing. Bogdan Rus - ef lucrri @ Facultatea de Electronica,
Telecomunicatii si Tehnologia Informatiei, Universitatea Tehnic
din Cluj-Napoca
Dr. ing Virgil Dobrota - Profesor @ Facultatea de Electronica,
Telecomunicatii si Tehnologia Informatiei, Universitatea Tehnic
din Cluj-Napoca
109
Zsolt Alfrd Polgr a obinut diploma de Inginer cu specializarea Telecomunicaii, Master n Tehnici Avansate n Telecomunicaii i Doctor n
Inginerie Electronic i Telecomunicaii de la Universitatea Tehnic din
Cluj-Napoca n 1995, 1996, respectiv n 2002. Din 1996 este angajat la Departamentul de Comunicaii al Universitatii Tehnice din Cluj-Napoca, unde
n prezent este confereniar. Domeniile de cercetare de interes implic tehnici de codare a canalului, tehnici de codare a reelelor de date, reele radio,
tehnici de comunicaii prin cooperare, arhitecturi avansate de reele de comunicaii. El a fcut parte din grupurile de cercetare ale programelor COST
289 i COST 2100, a fost membru al echipelor de cercetare ale proiectelor
FP7 4WARD i FP7 CODIV i a fost coordonator local al proiectului FP7
UCONNECT.
11
PLATFORMA DE CONECTIVITATE
PERMANENT PENTRU
TRANSPORTUL PUBLIC INTELIGENT
112
Utilizarea reelelor publice mobile (3G/4G) pentru asigurarea serviciilor de comunicaii pentru aplicaiile specifice Oraului Inteligent nu este
totdeauna soluia cea mai bun. Capacitile de transmisie ale acestor tehnologii pot fi insuficiente pentru volumul de informaii care este n cretere
continu i care trebuie s fie transmis n anumite condiii de fiabilitate i
disponibilitate impuse. Acest lucru este valabil mai ales n situaia de fa,
cnd conexiunea la Internet trebuie s fie furnizat pentru pasagerii unui
autobuz (30 - 40 utilizatori) i pentru alte terminale care necesit rate de bit
relativ mari (ex. camere de supraveghere, afiaje de informare, etc.).
O soluie alternativ la problema n discuie este oferit de dezvoltarea
reelelor de nou generaie (Next generation Networks - NGN), capabile s
foloseasc mai multe tehnologii de transmisie ntr-un mediu multi-operator
i s asigure mobilitate generalizat. Reelele eterogene pot oferi conectivitate fiabil i permanent, satisfcnd i cerinele serviciilor de comunicaii
caracteristice Oraelor Inteligente i Sistemelor de Transport Inteligente [1].
PROIECTAREA ARHITECTURII
PLATFORMEI DE CONECTIVITATE
Proiectarea arhitecturii platformei de conectivitate poate fi realizat n
mai multe etape plecnd de la arhitectura de sistem prezentat n figura 1.
Arhitectura de sistem include patru entiti de baz : Router-ul Mobil Inteligent (Smart Mobile Router - SMR), instalat n autobuz, Gateway-ul (Service Continuity Gateway - SCG), Serverul de Suport (Ubiquitous Continuity
Support Server - UCSS) i o baz de date central (Central Database - CD)
care stocheaz informaiile de stare ale reelei eterogene (Network State Information - NSI). Entitile SCG, UCSS i CD formeaz o Platform Server de Aplicaie (Application Server Platform - ASP), practic o platform
centralizat de suport pentru realizarea conectivitii permanente. ASP are
rolul de a aduna, procesa i stoca ntr-o baz de date central NSI achiziionat de la rutele SMR. Aceast baze de date poate fi utilizat pentru a
optimiza decizia router-elor SMR n selecia reelelor utilizate pentru transmisie.
SMR este echipat cu unul sau mai multe interfee de reea (radio i prin
cablu), care permit conectarea terminalelor pasagerilor (smartphone-uri, laptop-uri, etc.), precum i a diferitelor terminale ale vehiculului (senzori, com-
113
114
115
pasagerilor.
Arhitectura funcional a SCG este similar cu cea a arhitecturii SMRlui, principala diferen constnd n lipsa subsistemului de decizie. Nicio decizie nu este luat de ctre SCG n ceea ce privete operaiunile de handover,
iar Subsistemul de Monitorizare a reelei are o structur simplificat, acesta
oferind doar un sprijin pentru SMR n efectuarea msurtorilor active.
Arhitectura funcional a UCSS este mai simpl i include Subsistemul
de Management al NSI. Aceast entitate ofer suport pentru SMR n luarea
deciziilor de handover. Este important de menionat c deciziile de handover
pot fi luate i fr intervenia UCSS, doar pe baza msurtorilor locale.
A treia etap de proiectare a platformei const n asocierea entitilor
arhitecturii funcionale cu arhitectura platformei hardware utilizate. SMR
a fost implementat pe un microcalculator care are performanele necesare
pentru efectuarea operaiunilor solicitate de sistemul de conectivitate. Figura
3 prezint arhitectura platformei hardware care este echipat cu mai multe
interfee radio 3G/4G i WiFi. Platforma este echipat i cu o unitate GPS
care permite poziionarea SMR n aria de acoperire a reelei eterogene. Sistemul de operare care ruleaz pe microcalculator este un sistem de operare
Linux minimal, ce include numai bibliotecile necesare pentru operaiunile
efectuate de ctre SMR. Figura 3 prezint de asemenea detalii despre comunicaia dintre modulele arhitecturii funcionale a SMR.
116
117
nologii de acces se poate face uor i fr s fie afectat monitorizarea tehnologiilor de acces deja integrate n platform.
Informaiile de stare sunt grupate n trei categorii principale: parametrii
legturii radio (ex. puterea semnalului, SINR, etc.), parametrii de trafic (ex.
numrul de pachete primite/transmise, clasa de trafic, debitul instantaneu
sau cel mediu, etc.) i parametrii de reea (ex. tipul reelei, clasa de serviciu,
numele operatorului, etc.). Aceast clasificare a parametrilor reelei permite
o procesare mai flexibil n condiiile n care se integreaz n platform noi
tehnologii de acces radio.
Mecanismul de monitorizarea parametrilor reelelor WiFi se bazeaz n
special pe funciile oferite de instrumentele integrate n sistemul de operare
Linux (iw tools), care ruleaz pe platforma de conectivitate. Sistemul de operare Linux ofer, de asemenea, un sistem de fiiere virtual, /proc/net/wireless,
care stocheaz mai muli parametri ai conexiunilor WiFi active. Folosirea
unor seturi specific de funcii oferite de programe Daemon (ex.WPA supplicant), reprezint o alt alternativ pentru monitorizarea WiFi.
Mecanismul de monitorizare a interfeelor de reea celular poate fi implementat prin utilizarea comenzilor AT specifice interfeei sau a unor protocoale de interfaare a echipamentelor modem cu terminalele de date, cum
este protocolul QMI (Qualcomm Station Mobile Modem Interface).
MECANISMUL DE MONITORIZARE I
ANALIZ A TRAFICULUI
Mecanismul este parte a Subsistemului de Monitorizare i Msurare, i
are rolul de a identifica fluxurile de date care tranziteaz router-ul SMR precum i de a msura parametrii acestor fluxuri. Informaiile generate de acest
mecanism sunt utilizate pentru implementarea unor operaii de handover i
agregare de band mai complexe i mai eficiente. Principalele operaii efectuate de acest mecanism sunt:
Identificare flux: un flux aplicaie este clasificat pe baza antetului IP
al pachetelor care ajung la SMR, antet care include cicni cmpuri:
adresa IP surs i destinaie, identificatorul protocolului de transport,
portul surs i destinaie.
Monitorizare trafic n timp real: fiecare flux este mprit n dou
fluxuri simplex i numrul de pachete/octei trimii n fiecare direcie
este contorizat fiind calculat periodic debitul instantaneu i cel mediu.
118
119
120
CONCLUZII
n contextul oferirii de conectivitate radio vehiculelor, au fost dezvoltate
i standardizate diferite sisteme de comunicaii radio. Un astfel de exemplu
este sistemul CALM [6] dezvoltat pentru Sisteme de Transport Inteligente.
Arhitectura sistemului este conceput pe baza funcionalitilor oferite de
stiva de protocoale TCP/IP i ofer conectivitate multi-tehnologie, dar nu
definete mecanismul de execuie al procesului de handover vertical. n acest
caz procesul VHO se realizeaz prin protocolul Mobile IPv6 i, prin urmare,
este nevoie de un grad ridicat de interoperabilitate a reelelor. n comparaie
sistemul CALM arhitectura prezentat n aceast lucrare integreaz mecanismele de decizie i de execuie VHO, ceea ce permite oferirea de conectivitate att n reelele IPv4 ct i IPv6 fr a utiliza funcionaliti oferite de
operatori. Sistemul prezentat permite de asemenea i funcionaliti suplimentare, cum ar fi agregarea de band de la mai multe tehnologii de acces
fr fir, ceea ce asigur conectivitate la Internet chiar i n zonele cu acoperire
slab sau n reele suprancrcate.
REFERINE
121
Autori
Zsolt Alfred Polgar, Andrei Ciprian Hosu, Zsuzsanna Ilona Kiss,
Andrei Bogdan Rus, Gabriel Lazr, Virgil Dobrot
@ Departamentul Comunicaii, Universitatea Tehnic din Cluj Napoca
erban Meza
Activnd la Universitatea Tehnic din Cluj-Napoca, n cadrul Centrului de Tehnologii Multimedia i Educaiei la Distan, erban i pune n
practic pasiunea pentru sistemele video i multimedia n activitile de
cercetare i integrare a acestora n educaie i industrie. A fost activ implicat
n proiectele educaionale romneti www.didatec.ro, www.e-start.ro, www.e-administratie.forhe.ro si a colaborat cu compania Grass Valley Olanda
la realizarea camerelor video profesionale.
Actualmente este interesat de platforme educaionale social interactive
i de sistemele video 3D de realitate augmentat.
12
E-EDUCAIE I PLATFORME
EDUCAIONALE ONLINE
124
125
a materialelor deinute pentru disciplina predat n funcie de specificul existent. Programul de Formare i materialele create pentru cele peste 750 de
discipline sunt accesibile prin intermediul platformei de management educaional dezvoltat n cadrul proiectului1. Tehnologia / platforma de implementare utilizat este MS SharePoint 2010. Imaginea urmtoare descrie
principalele scenarii de utilizare.
Proiectul eSTART a avut drept scop realizarea unui program profesional
de master derulat n regim de frecven redus i folosind platforme educaionale suport pe domeniul interdisciplinar al e-Activitilor i e-Serviciilor cu specializrile: Specialist platforme i servicii electronice n domeniul
medical i de sntate, Specialist platforme i servicii electronice n domeniul afacerilor (i bancar), Specialist platforme i servicii electronice n administraia public, Specialist platforme i servicii electronice new media. n
cadrul parteneriatului proiectului, n baza consultrilor cu partenerii sociali
implicai (mediul economic, studeni, cadre didactice, etc.), s-a dezvoltat ntregul curriculum necesar derulrii programului de studii i s-a implementat
o platform de e-learning specific. Rezultate disponibile n acest sens gsii
la adresa www.e-start.ro. Platforma de implementare utilizat este Moodle.
Detalii generale legate de structura curriculumului sunt prezente n figura
urmtoare:
126
Autor
dr.ing.ec. erban-Nicolae MEZA - ef lucrri @ Universitatea Tehnic
din Cluj-Napoca, n cadrul Centrului de Tehnologii Multimedia i
Educaiei la Distan
127
Silviu Dumitrescu
Dup cum probabil tii sunt braovean, fapt de care sunt foarte mndru.
Am dou licene: n inginerie i n matematic-informatic (pe vremea n
care licena dura 5 ani), un masterat n informatic (jumtate fcut la Universitatea din Oldenburg) i un doctorat n informatic, avndu-l ca mentor pe
dl. academician Solomon Marcus, un profesor i un om absolut remarcabil.
Toat viaa mea mi-am petrecut-o ntre nevoia de a studia, nelege, inova
i dorina de a fi apropiat de tehnologie, de a fi productiv, de a arta ceea ce
am nvat.
Acestea s-au concretizat n educarea multor generaii de oameni crora
am ncercat, i ntr-o bun msur am reuit, s le transmit ideea de a nu se
lsa condui de interese mici, de moment. Pe de alt parte am proiectat i
dezvoltat aplicaii bine vndute i foarte apreciate, am scris cri i articole.
Ca personalitate pot spune c sunt, aa cum o persoan foarte apropiat
declara, complex, fac multe activiti complementare care m ndeprteaz
de viaa monoton, cotidian. Nu v spun ce carte am citit ultima oar, dar v
spun ultimul concert la care am fost: Lenny Kravitz, Munich, 15 noiembrie
2014 (ncnttor).
mi place s triesc printre oameni i de foarte puine ori am dezamgit,
iar cnd iubesc, arareori iubesc, o fac cu tot sufletul meu i mult n plus.
13
JAVA STANDARD 8,
NOUTI I MBUNTIRI
Cartea care nsoeste evenimentul IT Days din acest an, 2014, are titlul
Cum s construieti un proiect IT. Deosebit de generos ca ntindere i ca
subiecte posibil de abordat, titlul i gsete i o important latur tehnic,
pe care o voi dezvolta din prisma noutilor de pe piaa dezvoltarilor de soft
ce folosesc lumea Java. Versiunea 8 a limbajului standard lansat anul acesta
aduce numeroase nouti. Cred c pentru oricine este implicat n munca de
dezvoltare a aplicaiilor Java, o trecere n revist a acestor nouti este binevenit, util i interesant.
Prima parte a articolului aduce n atenie cele mai importante repere ale
versiunii, cel puin din perspectiva autorului. A doua parte este mult mai
pragmatic i vine n ntmpinarea nevoilor unei echipe de dezvoltare, care-i dorete s pun n valoare avantajele implementrilor predefinite ale
design pattern-ilor, ale numeroasele API-uri cu funcii grafice, n a crea clieni rich folosind Java ntr-un mod mai facil, mai productiv avnd consecine
importante n creterea calitii soft-ului.
Java SE8 este considerat revoluionar prin cteva dintre noile caracteristici introduse. Programat iniial pentru luna septembrie 2013, lansarea a
fost amnat pentru martie 2014. Motivele sunt numeroase, dar in n special
de corectarea bug-urilor i mbuntirea securitii, mai ales pe acelea legate
de client, avnd ca principal motiv JavaFX.
130
131
Elementul de baz al coleciei este clasa Product, care este o clas POJO
cu getter-i si setter-i. Clasa conine dou implementri anonime ale comparatorului, determinnd sortarea cresctoare respectiv descresctoare a elementelor coleciei.
package model;
import java.util.Comparator;
public class Product {
private String name;
private int price;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public void printProduct() {
System.out.println(this.toString());
}
@Override
public String
return
];
}
public static
{
return
};
-> {
toString() {
Product [name= + name + , price= + price +
132
};
}
Clasa de test va aduce ceva n plus fa de o clas folosit pn n versiunea 8 i anume procesarea coleciei, care nu se va face ntr-un foreach clasic.
Ca parte a API-ului Collections avem noul API java.util.stream ce
ofer suport pentru operaii funcionale pe stream-uri de elemente. n exemplul nostru vom folosi o interfa de baz a acestui API i anume Consumer, care reprezint o operaie ce accept un singur argument de intrare i
nu returneaz ceva. Cu Consumer vom putea folosi lambda expresii:
import java.util.Set;
import java.util.TreeSet;
import java.util.function.Consumer;
import model.Product;
public class TestLambda {
public static void processProducts(Set<Product> products,
Consumer<Product> block) {
for (Product p : products) {
block.accept(p);
}
}
133
Product.descendingPrice);
descendingPriceProducts.add(p1);
descendingPriceProducts.add(p2);
System.out.println(\nIn descending order:);
processProducts(descendingPriceProducts, p -> p.printProduct());
}
}
134
n clasa de test vom crea dou obiecte Product, p1 i p2, pe care le vom
pune ntr-un array:
Product[] basket = { p1, p2 };
Vom sorta array-ul folosind lambda expresii:
ProductComparisons myComparison = new ProductComparisons();
Arrays.sort(basket, (a,b)->myComparison.compareByName(a, b));
135
Arrays.sort(basket, myComparison::compareByName);
La un constructor:
Supplier<Product> s = Product::new;
136
}
}
Ca test avem:
public static void main(String[] args) {
MyInterface mine = new MyClass();
mine.myClassicMethod();
mine.myDefaultMethod();
MyInterface.myStaticMethod();
}
137
JAVAFX - INTRODUCERE
138
JavaFX. Codul minim necesar pentru a rula o aplicaie JavaFX const din:
O clas ce extinde clasa abstract javafx.application.Application;
O metod main() ce apeleaz metoda launch() i suprascrie metoda abstract start(). Ca bun practic, apelul metodei launch()
este singurul apel din main();
Un stage primar ce este vizibil ca argument al metodei start().
Avem trei tipuri de aplicaii JavaFX:
Aplicaii propriu- zise, ce folosesc sintaxa Java tradiional i API-ul
JavaFX.
Aplicaii FXML. FXML se bazeaz pe XML i este folosit pentru a
defini interfee utilizator n aplicaii JavaFX. Cu FXML vom defini
layout-uri statice precum formulare, controale sau tabele. Putem construi de asemenea layout-uri dinamice prin includerea unui script.
Aplicaii preloader, folosite n procesul de deployment
import javafx.application.Application;
import javafx.stage.Stage;
public class JavaFXApplication extends Application {
@Override
public void start(Stage stage) {
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
139
Frunz.
Primul nod din arbore este numit rdacin i nu are printe.
Scena grafic este aadar o structur arborescent. API-ul JavaFX face ca
interfaa grafic s fie mai uor de creat, mai ales cnd sunt implicate efecte
vizuale complexe i transformri.
API-ul scenei grafice JavaFX este un retained mode, adic el gestioneaz
un model intern al tuturor obiectelor grafice din aplicaie. n orice moment
el tie ce obiecte s afieze, ce zone ale ecranului necesit redesenare i cum
s fie renderizat n cel mai eficient mod. Aceasta reduce semnificativ cantitatea de cod necesar n aplicaie.
mbuntesc aplicaia anterioar prin adugarea unui buton cu text i al
unui container de layout. Butonul va fi un nod frunz, iar StackPane-ul nod
rdcin.
import
import
import
import
import
import
import
javafx.application.Application;
javafx.event.ActionEvent;
javafx.event.EventHandler;
javafx.scene.Scene;
javafx.scene.control.Button;
javafx.scene.layout.StackPane;
javafx.stage.Stage;
140
root.getChildren().add(btn);
primaryStage.setScene(new Scene(root, 300, 250));
primaryStage.show();
}
}
Voi dezvolta o aplicaie echivalent folosind FXML. FXML ofer urmtoarele avantaje:
Fiind bazat pe XML este familiar multor dezvoltatori, n special dezvoltatorilor web i celor care utilizeaz alte platforme RIA.
FXML nu se compileaz, de aceea modificrile sunt mult mai uor
de fcut.
Asigur o structur uor vizibil a aplicaiei.
Cnd crem o aplicaie JavaFX FXML avem de creat trei fiiere:
Clasa main ce conine cod pentru crearea scenei aplicaiei, a stage-ului
i pentru lansarea aplicaiei. Una dintre aciunile importante este dat
de secvena urmtoare:
Parent root=null;
try {
root = FXMLLoader.load(getClass().getResource(Sample.fxml));
} catch (IOException e) {
e.printStackTrace();
}
stage.setScene(new Scene(root));
141
<children>
<Button id=button layoutX=126 layoutY=90 text=Click Me!
onAction=#handleButtonAction fx:id=button />
<Label id=label layoutX=126 layoutY=120 minHeight=16
minWidth=69 prefHeight=16 prefWidth=69 fx:id=label />
</children>
</AnchorPane>
javafx.event.ActionEvent;
javafx.fxml.FXML;
javafx.fxml.Initializable;
javafx.scene.control.Label;
142
CONCURENA N JAVAFX
Pachetul javafx.concurrent gestioneaz codul multifir al interaciunii
cu UI-ul i asigur ca aceast interaciune s aib loc n firul corect. Pachetul
const din interfaa Worker i dou clase de baz: Task i Service, ambele
implementnd interfaa Worker.
Interfaa Worker furnizeaz API-ul folosit de un background worker
ce comunic cu UI-ul. Clasa Task este o implementare complet observabil
a clasei java.util.concurrent.FutureTask i permite dezvoltatorilor
s implementeze task-uri asincrone n aplicaiile JavaFX. Clasa Service execut aceste task-uri.
Un Worker este aadar un obiect ce lucreaz ntr-un fir din background.
Starea obiectului Worker este observabil i utilizabil din firele aplicaiei
JavaFX.
Ciclul de via al lui Worker este definit astfel: cnd este creat obiectul
Worker este n starea READY. Dup ce a fost programat pentru lucru, obiectul Worker tranziteaz ctre starea SCHEDULED. Dup aceea, cnd obiectul
Worker ruleaz, starea sa devine RUNNING.
Observaie: chiar dac obiectul Worker a pornit imediat, fr a fi programat, el tranziteaz totui n starea SCHEDULED i apoi n RUNNING.
Starea obiectului Worker, atunci cnd se execut cu succes, devine SUCCEEDED, iar proprietatea valoare va fi setat la rezultatul obiectului Worker. Altfel, dac sunt aruncate excepii pe timpul execuiei obiectului Worker, starea sa devine FAILED, iar proprietatea excepie este setat la tipul de
excepie aprut. n orice stare obiectul Worker poate fi ntrerupt utiliznd
metoda cancel(), ceea ce trimite obiectul n starea CANCELLED.
Progresul nregistrat la rularea obiectului Worker poate fi obinut prin
trei proprieti diferite: totalWork, workDone i progress.
Clasa Task poate fi pornit n unul dintre urmtoarele moduri (primele
dou ar fi preferabile):
Folosind ExecutorService API: ExcecutorService.submit(task);
143
ca parametru.
Putem apela obiectul Task direct prin FutureTask.run(), ceea ce ne
permite s apelm acest task dintr-un alt fir.
Vom crea o clas CounterTask ce extinde clasa Task.
public class CounterTask extends Task<Void> {
@Override
public Void call() {
final int max = 10000000;
updateProgress(0, max);
for (int i = 1; i <= max; i++) {
updateProgress(i, max);
}
return null;
}
}
Clasa Service este destinat executrii unui obiect Task dintr-unul sau
mai multe fire. Metodele i strile clasei Service trebuie accesate din firul
aplicaiei JavaFX. Aceast clas ajut dezvoltatorii s implementeze o inter-
144
aciune corect ntre firele din background i firul aplicaiei JavaFX. Putem
porni, opri, anula i restarta un Service. Un Service poate rula un task
mai mult dect o dat. Aadar, un serviciu poate fi definit declarativ i restartat la cerere.
Un Service poate fi executat n unul dintre urmtoarele modaliti:
De un obiect Executor, dac este specificat pentru serviciul dat;
De un fir daemon, dac niciun Executor nu este specificat;
De un executor custom precum ThreadPoolExecutor;
Exemplu de creare a unui service custom este dat n exemplul de mai jos:
public class CounterService extends Service<Void> {
@Override
protected Task<Void> createTask() {
CounterTask ct = new CounterTask();
return ct;
}
}
145
pendene.
n exemplul nostru anterior am folosit funcia bind() pentru a lega progress bar-ul de counterTask.
Iat codul complet al aplicaiei JavaFX:
public class CounterBarAppService extends Application {
StackPane root = new StackPane();
VBox mainBox = new VBox();
ProgressBar bar = new ProgressBar(0.0);
CounterService cs = new CounterService();
@Override
public void init() throws Exception {
super.init();
mainBox.setAlignment(Pos.CENTER);
mainBox.setSpacing(10);
@Override
public void handle(ActionEvent event) {
System.out.println(Count Started);
bar.progressProperty().bind(cs.progressProperty());
if (cs.getState() == State.READY) {
cs.start();
}
}
});
Button restartBtn = new Button();
restartBtn.setText(Restart);
restartBtn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
System.out.println(Count Started);
bar.progressProperty().bind(cs.progressProperty());
cs.restart();
}
});
mainBox.getChildren().add(btn);
mainBox.getChildren().add(restartBtn);
146
}
@Override
public void stop() throws Exception {
super.stop();
}
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle(JavaFX Service Example);
}
147
Cnd crem o instan TableColumn, probabil cele mai importante proprieti de setat sunt textul (adic ce afim n capul de tabel al coloanei) i
cell value factory (utilizat pentru popularea celulelor individuale din coloan).
Clasa TableCell<S,T> reprezint intersecia unei linii cu o coloan n
TableView. Conine urmtoarele proprieti:
tableColumn: instana TableColumn din spatele TableCell,
tableView, TableView-ul asociat cu TableCell,
tableRow, TableRow-ul n care TableCell-ul este plasat.
Pentru a identifica intersecia TableCell conine o proprietate de index.
Cell<T> este utilizat pentru o celul individual ntr-un TableView.
148
Fiecare celul este asociat unui singur item de date, reprezentat de proprietatea item. O celul este responsabil de renderizarea item-ului care rezid
n el, care este de obicei un text. O celul permite customizarea printr-un cell
factory.
API-ul Cell este utilizat pentru virtualizarea controalelor precum ListView, TreeView i TableView. Un Cell este un control etichetat, folosit
pentru a renderiza o unitate ntr-unul dintre controalele mai sus amintite.
Cell este responsabil att pentru afiare ct i pentru editarea itemului. Pe
lng text, Cell poate fi reprezentat de alte controale precum CheckBox,
ChoiceBox sau orice Node precum HBox, GridPane sau chiar Rectangle.
Deoarece ListView, TreeView, TableView precum i alte asemenea
controale pot fi folosite pentru afiarea unei cantiti mari de date, nu este
practic s crem un Cell pentru fiecare item din control. Fiecare celul este
reutilizat, ceea ce face acest control virtualizat.
Deoarece Cell este un Control, el are n spate un model. Skin-ul su
este responsabil pentru definirea look and layout-ului, n timp ce Behaviour
este responsabil pentru manipularea evenimentelor i utilizarea acelor informaii coninute pentru a modifica starea. Cell este stilizat prin CSS ca
orice alt control.
Pentru a specializa o celul utilizat pentru un TableView trebuie s
furnizm o implementare a funciei callback cellFactory() definit pe
TableView. Cell factory este apelat de platform ori de cte ori o nou celul trebuie s fie creat. Implementarea unui cell factory este responsabil
pentru crearea unei instane Cell i pentru configurarea necesar pentru ca
Cell s reacioneze la schimbrile strii sale.
Cell factory este responsabil de virtualizarea skin-urilor de container pentru a renderiza reprezentarea predefinit a unui item Cell. Spre exemplu,
ntr-un ListView convertete itemii la un String i apeleaz Labeled.
setText(String). Dac dorim s specializm celula utilizat n ListView
trebuie s furnizm implementarea funciei callback definit pe ListView.
Cell factory este apelat de platform ori de cte ori determin c o celula
trebuie s fie creat.
Spre exemplu, un ListView are 10 milioane de itemi. Crearea tuturor
celor 10 milioane este foarte costisitoare. Aadar, implementarea skin-ului
ListView va crea doar attea celule ct s umple spaiul vizual. Dac se
redimensioneaz spaiul vizual, sistemul va determina dac este nevoie de
crearea altor celule. n acest caz va apela cellFactory() (dac exist vre-
149
Am definit astfel un tabel primar. Modelul de date este creat pe baza unui
@Override
public void init() {
150
String>(First Name);
firstNameCol .setCellValueFactory(new PropertyValueFactory<Person,
String>(firstName));
TableColumn<Person, String> lastNameCol = new TableColumn<Person,
String>(Last Name);
lastNameCol.setCellValueFactory(new PropertyValueFactory<Person,
String>(lastName));
table.getColumns().setAll(firstNameCol, lastNameCol);
mainBox.getChildren().add(centerLbl);
mainBox.getChildren().add(table);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle(Data Table);
root.setCenter(mainBox);
primaryStage.setScene(new Scene(root, 400, 300));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
151
}
public void setAlignment(TextAlignment alignment) {
this.alignment = alignment;
}
public Format getFormat() {
return format;
}
public void setFormat(Format format) {
this.format = format;
}
@Override
public TableCell<S, T> call(TableColumn<S, T> p) {
TableCell<S, T> cell = new TableCell() {
@Override
public void updateItem(Object item, boolean empty) {
if (item == getItem())
return;
super.updateItem(item, empty);
if (item == null) {
super.setText(null);
super.setGraphic(null);
} else if (format != null) {
super.setText(format.format(item));
} else if (item instanceof Node) {
super.setText(null);
super.setGraphic((Node) item);
} else {
super.setText(item.toString());
super.setGraphic(null);
}
}
};
cell.setTextAlignment(alignment);
switch (alignment) {
case CENTER:
cell.setAlignment(Pos.CENTER);
break;
case RIGHT:
cell.setAlignment(Pos.CENTER_RIGHT);
break;
default:
152
cell.setAlignment(Pos.CENTER_LEFT);
break;
}
return cell;
}
}
Respectiv:
FormattedTableCellFactory<Person, String> xx = new FormattedTableCellFactory<>();
xx.setAlignment(TextAlignment.CENTER);
firstNameCol.setCellFactory(xx);
153
.table-row-cell:odd{
-fx-background-color:lightblue;
}
Autor
Silviu Dumitrescu - Line Manager @ Accesa
Peter Lawrey
13
CHRONICLE MAP AND YAHOO
CLOUD SERVICE BENCHMARK
Yahoo Cloud Service Benchmark is a reasonably widely used benchmarking tool for testing key value stores for a significant number of key e.g
100 million, and a modest number of clients i.e. served from one machine.
In this article I look at how a test of 100 million * 1 KB key/values performed using Chronicle Map on a single machine with 128 GB memory, dual
IntelE5-2650 v2 @ 2.60GHz, and six Samsung 840 EVO SSDs.
The 1 KB value consists of ten fields of 100 byte Strings. For a more optimal solution, primitive numbers would be a better choice. While the SSDs
helped, the peak transfer rate was 700 MB/s which could be supported by
two SATA SSD drives.
These benchmarks were performed using the latest version at the time of
the report, Chronicle Map 2.0.6a-SNAPSHOT.
MICRO-SECOND WORLD
156
and other features Chronicle Map doesnt support, for performance reasons.
So how would a key-store built for performance look with YCSB?
THROUGHPUT MEASURES
The 50/50 tests 50% random reads and 50% random writes, the 95/5
tests 95% reads to 5% writes. It is expected that writes will be more expensive, and a higher percentage of reads results in higher throughputs.
Threads
50/50 read/update
95/5 read/update
339 K/s
910 K/s
1
2
122 K/s
235 K/s
262 K/s
496 K/s
565 K/s
1.010 M/s
30
816 K/s
1.787 M/s
15
973 K/s
1.445 M/s
LATENCIES
The following latencies are in micro-seconds, not milli-seconds.
Threads: 8
average
95th
99th
worst
50/50 read
5.7 s
15 s
25 s
52 ms
95/5 read
4.9 s
13 s
30 s
52 ms
50/50 update
13 s
27 s
44 s
52 ms
95/5 update
12.9 s
25 s
47 s
52 ms
157
CONCLUSION
Make sure the key-value store has the features you need, but if performance is critical, look for a solution designed for performance as this can be
100x faster than full featured products.
OTHER HIGH PERFORMANCE EXAMPLES
Aerospike benchmark - Single server benchmark with over 1 M TPS,
sub-micro-second latencies. Uses smaller 100 byte records.
NuoDB benchmark - Supports transactions across a quorum. 24 nodes
for 1 M TPS.
Oracle NoSQL benchmark - A couple of years old, uses a lot of threads,
otherwise a good result.
VoltDB benchmark - Not tested to 1 M TPS, but promising. Latencies
around 1-2 ms, report has 99th percentile latencies which others dont include.
ROOM FOR IMPROVEMENT
MongoDB driver benchmark- Has 1000s of micro-seconds instead of
milli-seconds.
Cassandra, HBase, Redis- Shows you can get 1 million TPS if you use
enough servers, 288 nodes for 1 M TPS.
Report including Elasticsearch - Report includes runtime in a resource
Austere Environment
Hyperdex - Cover throughput only.
WhiteDB - Reports latencies in micro-seconds for 170 K records, and
modest throughputs.
Benchmark including Aerospace - Reports
158
FOOTNOTE
Using smaller values helps, and we suggest trying to make values closer to
100 bytes. This is the result of the 95/5 workload B, using 10x10 byte fields,
and 50 M entries as the Aerospike benchmark does. (30 clients)
[OVERALL], RunTime(ms), 60,669
[OVERALL], Throughput(ops/sec), 3,296,576
[READ], Operations, 190002671
[READ], AverageLatency(us), 4.81
[READ], MinLatency(us), 0
[READ], MaxLatency(us), 74864
[READ], 95thPercentileLatency(ms), 0.009
[READ], 99thPercentileLatency(ms), 0.014
[READ], Return=0, 115841209
[READ], Return=1, 74161462
[UPDATE], Operations, 9997309
[UPDATE], AverageLatency(us), 12.23
[UPDATE], MinLatency(us), 1
[UPDATE], MaxLatency(us), 75015
[UPDATE], 95thPercentileLatency(ms), 0.017
[UPDATE], 99thPercentileLatency(ms), 0.028
[UPDATE], Return=0, 9997309
Autor
Peter Lawrey - CEO @ Higher Frequency Trading
159
Victor Ionescu
14
TENDINE N DEZVOLTAREA DE
SOLUII ENTERPRISE
n domeniul software, termenul enterprise a fost folosit ntotdeauna asociat ideii de complexitate. Prin definiie, o soluie enterprise trebuie s ofere
un spectru larg de funcionaliti, s fie configurabil pn la ultimul detaliu,
s fac fa n condiii de utilizare masiv i s aib multe alte caracteristici similare, ce fac ca n mod inevitabil astfel de soluii s devin un soi de
aplicaii-mamut, care tiu s fac orice, mai puin s fie intuitive i uor de
utilizat.
Dar studiile au artat c, dei multitudinea de funcionaliti este adesea
considerat esenial, n realitate scenariile complexe reprezint mai puin
de 20% din volumul de munc tipic al unui utilizator de software enterprise.
Prin urmare e de ateptat ca aceast situaie s se schimbe n viitor, din ce n
ce mai muli clieni declarnd c uurina n utilizare a software-ului are un
rol cel puin la fel de important cu multitudinea de funcii pe care acesta le
aduce.
O cauz a acestei schimbri de mentalitate este probabil i discrepana
foarte mare dintre aplicaiile pe care le folosim n viaa personal (vezi aplicaiile Google, Facebook, Twitter etc. ), i experiena enterprise, marcat n
primul rnd de interfeele complexe i implicit de o curb de nvare mult
prea lin.
Ca dovad a faptului c aceast necesitate este ct se poate de real, putem
lua exemplul [1] companiei de cosmetice Avon. Aceasta a fost nevoit s
stopeze n anul 2013 implementarea unei noi soluii de gestiune a comenzilor este vorba de un proiect cu o valoare de 125 milioane USD- datorit
faptului c angajaii au nceput s demisioneze , considernd c noua soluie
este prea dificil de utilizat i le ngreuneaz munca de zi cu zi.
Alt indicator al schimbrii sunt diversele iniiative implementate de ctre
companii, iniiative precum BYOD (Bring your own device) [2], prin care
162
163
User Experience este att de mare, nct este nevoie de o serie de artificii tehnice pentru a facilita orice fel de remprosptare a experienei utilizatorului.
n acest fel ar putea fi caracterizat n linii mari situaia n care se afl
soluiile enterprise la momentul de fa: un punct de cotitur, care trebuie
gestionat cu foarte mult atenie de ctre fiecare productor de astfel de soluii, orice pas greit n aceast privin putnd nsemna pierderea clienilor n
favoarea competitorilor care au reuit s profite mai bine de noile tehnologii.
n continuare, vom realiza un studiu de caz n care vom analiza modul n
care SAP, liderul global n ceea ce privete soluiile business enterprise, a tiut
s rspund noilor cerine din pia, prin definirea unor strategii de adopie
a tehnologiilor state-of-the-art.
SAP se afl printre companiile care au reuit s identifice (sau chiar s
preconizeze) aceste tendine n urm cu civa ani, putnd astfel s pregteasc din timp terenul pentru schimbrile ce vor urma.
n 2013, SAP a pus la punct o strategie de User Experience [4] ce are la
baz trei mari piloni:
NEW: Dezvoltarea tuturor noilor aplicaii respectnd noile norme de
usability.
RENEW: mprosptarea experienei aplicaiilor existente prin interfee noi.
ENABLE: Sporirea posibilitilor de extindere ale aplicaiilor ce stau
la dispoziia clientului.
Aceast strategie specific tipurile de tehnologii care trebuie folosite n
funcie de context i care sunt regulile ce trebuie respectate n dezvoltarea
164
aplicaiilor.
n continuare, din multitudinea de soluii tehnice menionate n cadrul
strategiei de dezvoltare SAP vom aminti cteva, care vin s soluioneze tocmai problemele semnalate n prima parte a acestui articol: SAP Fiori, UI5 &
Netweaver Gateway.
La origine, SAP Fiori a fost numele dat unui val de noi aplicaii concepute pentru a acoperi cele mai frecvente Use Case-uri ntlnite n practic.
Specific acestor aplicaii sunt interfeele intuitive, toate construite dup acelai tipar, cu ajutorul framework-ului JavaScript SAP UI5. Acesta la rndul
su poate fi privit ca o extensie a popularului framework JavaScript JQuery,
ce aduce n plus o serie de funcionaliti specifice SAP.
Datorit succesului acestor aplicaii, SAP a decis s dea posibilitatea oricrui dezvoltator ter de a implementa propriile aplicaii Fiori. Astfel conceptul SAP Fiori a fost generalizat, aa nct n momentul de fa acesta nu
mai reprezint valul iniial de aplicaii al SAP-ului, ci mai degrab o serie
de principii de dezvoltare comune ce trebuie respectate atunci cnd vine vorba de implementare de noi aplicaii Fiori: role-based, responsive, simple,
coherent, delightful [5]
Pe scurt, aplicaiile Fiori ofer utilizatorului o experien mbuntit,
adaptat la nevoile acestuia (personalizat n funcie de rolul utilizatorului n
cadrul organizaiei), prin interfee simple & intuitive, indiferent de dispozitivul prin intermediul cruia acestea sunt accesate.
Dar dup cum am menionat deja, metodologiile i tehnologia pe baza
crora sunt construite noile aplicaii nu reprezint dect jumtate din poveste. Cealalt jumtate se refer la modul n care aplicaiile pot fi integrate
pentru a premite reutilizarea funcionalitilor deja existente.
i n cazul SAP aceast problem este cu att mai apstoare, cu ct n
portfoliul companiei se afl o mulime de soluii business consacrate, care
ns au fost dezvoltate n urm cu mai muli ani, chiar naintea erei Web 2.0.
Aici intervine rolul componentei SAP Netweaver Gateway, conceput
pentru a facilita integrarea dintre interfeele de ultim generaie (v. SAP Fiori) i backend-ul SAP. Practic Netweaver Gateway vine cu un set de adaptere
pentru diferitele tipuri de tehnologii care pot fi regsite n backend-ul SAP, i
permite expunerea acestor funcionaliti sub forma unor servicii REST care
pot fi consumate de ctre orice client SAP sau non-SAP.
n ceea ce privete protocolul de comunicare folosit pentru aceste servicii,
SAP a ales OData, un protocol open, specificat iniial de ctre Microsoft [6],
165
1. 1. Wall Street Journal, Avon to Halt Rollout of New Order Management System, - http://online.wsj.com/articles/SB10001424052702303932504579251941
619018078.
2. 2. Forrester Consulting, Key Strategies To Capture And Measure The Value Of
Consumerization Of IT, - http://www.trendmicro.com/cloud-content/us/pdfs/
business/white-papers/wp_forrester_measure-value-of-consumerization.pdf.
3. 3. Forbes, Time To Reset Enterprise Softwares Future And Focus On Business
Value First, - http://www.forbes.com/sites/louiscolumbus/2014/03/26/time-toreset-enterprise-softwares-future-and-focus-on-business-value-first/.
4. 4. SAP, SAP User Experience Strategy, - http://www.sapdesignguild.org/User_
Experience_Strategy_2013_10.pdf.
5. 5. SAP, Fiori Guidelines, - http://experience.sap.com/fiori-guidelines/.
6. 6. OData Protocol Specification, - www.odata.org
Autor
15
ESTUL NTLNETE VESTUL
INTELIGENA CULTURAL
N PROIECTE
CULTURA N CONTEXTUL
MANAGEMENTULUI DE PROIECT
Globalizarea are un impact major asupra modului n care companiile i
desfoar afacerile, acest lucru fiind reflectat, de asemenea, n modul n care
i gestioneaz proiectele. Mediul internaional ndeamn spre o mentalitate
diferit, una care nelege i accept diversitatea cultural ca un fapt n cadrul
proiectele noastre. Avnd echipe de proiect multi-disciplinare, multiculturale
care i desfoar activitatea la nivel transfrontalier, peste fusuri orare, precum i n mai multe limbi i culturi, crete i complexitatea procesului de management de proiect. Dincolo de presiunea de a realiza tripla constrngere
(satisfacerea cerinelor n timpul estimat i n condiiile de cost acceptate de
client) cerinele de calitate, asigurarea unei bune gestionri a echipei de proiect, asigurarea comunicrii pe ntreg ciclul de via al proiectului, diminuarea riscurilor, precum i echilibrarea nevoilor i ateptrilor prilor interesate
(al stakeholderilor), globalizarea a adus noi provocri cu privire la cultura i
diversitatea cu care managerii de proiect trebuie s se confrunte. Diferenele
lingvistice pot crea confuzii n ceea ce privete sarcinile i ateptrile proiectului. Dei limba englez a devenit o limb de circulaie internaional, nu
toate persoanele care lucreaz ntr-un proiect internaional sunt la acelai
nivel de fluen, dificultatea de a nelege sau a traduce exact termenii i conceptele este aplicabil att verbal, precum i n scris. Lucrul cu parteneri din
zone cu fus orar diferit creeaz probleme n sincronizarea membrilor echipei
168
169
170
Modelul Lewis include toate elementele majore ale culturii, ele putnd fi
folosite de ctre managerii de proiect sau de membrii echipei de proiect pentru a nelege mai bine i pentru gestiona diferitele naionaliti i grupuri
etnice existente n echipele lor.
ntr-unul dintre interviurile luate, managerul de proiect (peste 15 ani
experien n context multicultural) ne-a dat exemplul unei echipe n care
membrii echipei erau romni, germani, englezi iar clientul arab. Cea mai
important dintre provocri a aprut odat cu comunicarea, dar nu numai
din cauza limbii. Limba englez este vorbit de obicei n lumea afacerilor
din Orientul Mijlociu. Cu toate acestea, contextul de comunicare este cu
mult diferit. Cuvintele comunicate n Occident sunt destinate pentru ceea
ce sunt i rspunsurile sunt furnizate ca suport pentru ceea ce a fost spus sau
scris; n lumea arab, este opusul. Comunicarea trebuie s fie interpretat
iterativ pentru a nelege lucrurile nespuse i trebuie citit printre rnduri.
Este tipic pentru arabi s suprainterpreteze ceea ce se comunic de ctre
omologii lor occidentali i pentru occidentali de a subinterpreta ceea ce este
comunicat de ctre omologii lor arabi. Pentru a simplifica i mai mult, o co-
171
172
Just
Encouraging
Obstacles to Effective
Leadership
Loner
Foresight
Plans ahead
Motive arouser
Confidence builder
Motivational
Effective Bargainer
Win-win problem
solver
Communicative
Team builder
Coordinator
Noncooperative
Excellence oriented
Honest
Egocentric
Positive
Intelligent
Administrative
skilled
Dynamic
Decisive
Irritable
Dependable
Ruthless
Informed
Nonexplicit
Asocial
Dictatorial
173
a folosit un cuvnt interesant cnd a fost ntrebat despre abilitile interculturale: Worldmindedness. El s-a referit la o contientizare global a altor
culturi i oameni, trstur care poate fi nvat. Potrivit Merryfield et al,
worldmindedness, de multe ori ncepe ca o contientizare la nivel global i
crete n momentul n care persoanele ncep s aprecieze punctele de vedere,
experienele i viziunile asupra lumii ale celorlali, n special cele destul de
diferite de ale lor (Merryfield et al, 2008). Parafrazndu-l pe Merryfield,
din perspectiva managerului de proiect, fiind worldminded nseamn c
acesta a dobndit obiceiul de a gndi despre efectele deciziilor sale asupra
tuturor stakeholder-ilor din proiect, avnd n vedere consecinele deciziilor
din proiect dintr-o perspectiv mai larg. De asemenea, fiind un manager de
proiect worldminded nseamn c el sau ea ncep s utilizeze noi pentru a
se referi nu numai la membrii echipei, dar i la parteneri, la clieni, furnizori,
utilizatori. Managerul de proiect cu peste 20 de ani experien n proiecte
complexe, a considerat implicarea n echipe multi-culturale ca fiind o oportunitate pentru educaie i dezvoltare cultural. El a menionat, de asemenea,
creativitatea ca fiind o abilitate necesar n gsirea de modaliti acceptabile
i eficiente de a motiva membrii echipei care provin din medii culturale diferite.
174
CONCLUZII
Globalizarea este un proces complex cu faete multiple, iar impactul ei
asupra abilitilor cerute managerilor de proiect i membrilor echipelor de
proiect este din ce n ce mai pregnant. Se pare c mai degrab dect s unifice
lumea, globalizarea divizeaz culturile, construind un mediu internaional,
multicultural n aproape orice proiect, reclamnd o stare de spirit diferit, una
care nelege i accept diversitatea cultural ca un fapt, ca un context pentru
proiectele noastre. n aceste condiii cresc din ce n ce mai mult - cerinele
privind competenele celor implicai n proiecte. Pentru a sprijini managerii
de proiect n gestionarea noilor situaii cu care sunt confruntai, pentru a-i
ajuta s fac fa diferenelor culturale n mod eficient, un prim pas este
creterea gradul de contientizare: nelegerea conceptului de cultur, a caracteristicilor acesteia i a efectelor ei asupra dinamicii echipei de proiect i a
alegerii cilor optime de a gestiona proiectul.
REFERINE
1. Ang, S., Van Dyne, L. (2008), Handbook of Cultural Intelligence: Theory, Measurement, and Applications. www.culturalq.comds ,3
2. Hofstede, G. (1999), Cultures Consequences:International Differences in Work-related
Values, Sage Publications, Thousand Oaks, CA
3. Hofstede, G, Hofstede, G.J., Minkov, M. (2010), Cultures and Organizations: Software for the Mind. Intercultural Cooperation and Its Importance for Survival, McGraw
Hill, US.
4. Merryfield, M.M., Lo, J. T-Y., Po, S.C., Kasai, M., (2008), Journal of Curriculum
and Instructions, January 2008, vol.2, no.1.
5. Moran, R.T, Harris, Ph.R., Moran, S.V., (2012), Managing Cultural Differences:
Global Leadership Strategies for Cross-Cultural Business Success, Eighth Edition, Elsevier Inc, UK
6. Northouse, P. G. (2007). Leadership: Theory and Practice. 4th ed., Sage Publications,
Thousand Oaks, CA
7. http://geert-hofstede.com/dimensions.html visited on July 24, 2014
8. http://www.tlu.ee/~sirvir/IKM/Leadership%20Dimensions/globe_project.html
visited on July 24, 2014
9. http://www.riversdown.com/cross-culture/the-lewis-model/ visited on July 24,
2014
10. http://www.nafsa.org/_/file/_/theory_connections_adjustment.pdf visited on August 20, 2014
175
Autor
Simona Bonghez, Ph.D. Managing Partner @ Colors in Projects
Dan Suciu este lector la Facultatea de Matematic i Informatic a Universitii Babe-Bolyai unde susine att cursuri tehnice de baz (Baze de
date, Gestiunea tranzaciilor i baze de date distribuite) ct i cursuri dedicate
metodologiilor de dezvoltare i coordonare a proiectelor software (Gestiunea
proiectelor software, Analiza i gestiunea sistemelor informatice complexe).
De mai bine de 5 ani de zile colaboreaz cu compania 3Pillar Global unde
a avut ocazia s aplice n practic o mare parte din elementele ce compun
cursurile sale. La 3Pillar ocup n prezent poziia de Director of Technical
Training.
n viaa personal este un mare consumator de filme de animaie i jocuri
video.
16
DESPRE ANGAJAMENTE
N PROIECTE AGILE
Sunt contient c titlul este din start unul care poate s agite spiritele.
Aceasta deoarece auzim de multe ori c n Agile ideea de angajament (commitment) este depit, lsnd loc altor termeni ce exprim mai bine rezultatul colaborrii continue ntre client i echipa de proiect pentru implementare
produsului dorit. Acest lucru nu a rmas doar la nivelul de idee. n 2011
s-au adus cteva modificri importante ghidului Scrum care se bucur la
ora actual de prestigiul de a fi una dintre cele mai populare metodologii
Agile. Una dintre aceste modificri const n nlocuirea integral a cuvntului commitment cu o alternativ mai puin dur cum este cea de predicie sau
prognoz (forecast).
178
179
180
181
CONCLUZII
Scopul acestui articol a fost acela de a arta c a prefera un termen ca
predicia n detrimentul angajamentului nu reprezint o abordare n spiritul
valorilor Agile i c ambii termeni pot coexista cu succes n economia unui
proiect software. Faptul c echipele de dezvoltare se simt mai confortabil i
sunt mai capabile s fac i s lucreze cu predicii nu reprezint un argument
suficient pentru a ncerca s redefinim mentalitatea clientului i s-l convingem c nu are nevoie de angajamente. Mai mult, practica ne arat c un
istoric consistent de predicii ne poate duce la mbuntirea calitii angajamentului pe care trebuie s ni-l lum n faa clientului.
182
REFERINE
1. Bob Galen - The Agile Project Manager Whats the Big Deal about Commitment?,
MATRIX blog, 2012 (http://blog.matrixresources.com/blog/agile-project-manager-%E2%80%94-what%E2%80%99s-big-deal-about-commitment)
2. Scott Sehlhorst - Agile Estimation, Prediction, and Commitment, Tyner Blain
articles, 2011 (http://tynerblain.com/blog/2011/08/09/agile-estimation/)
3. John Clifford Agile Estimation:Key Principles and Practices for Successful Agile Projects, Construx presentation
Autor
183
Monica Soare
17
MANAGEMENTUL
ECHIPELOR VIRTUALE
n 1999 gigantul NASA a lansat n spaiu un satelit orbitator, care la scurt
timp dup lansare a explodat. Aceast greeal aducnd prejudicii de peste
125 milioane $ Statelor Unite.
n urma anchetei s-a descoperit c la acest proiect lucra o echip virtual
cu mari probleme de comunicare. Una era localizat n California i cealalt
n Colorado. n mare parte, comunicarea dintre aceste dou echipe se fcea
prin mail, eund n a realiza c echipa din Colorado lucra cu uniti metrice
iar cea din California cu uniti imperiale.
Comitetul care a anchetat accidentul a descoperit c discuiile dintre cele
dou echipe erau mult prea informale i c ambele echipe triau cu impresia
c se neleg perfect.
Acest exemplu dateaz din 1999 pe cnd echipele virtuale erau la nceputuri ns i astzi, dup 15 ani, ne confruntm cu aceleai probleme, firete
gravitatea deosebind de la o industrie la alta.
Aprute prima dat n domeniul IT&C, echipele virtuale au crescut de
la o zi la alta, fiind eficiente din punct de vedere al costurilor pentru orice
companie i n aproape orice domeniu.
Recent, Economist Intelligence Unit, aripa de cercetare a editorialului
The Economist a realizat o cercetare asupra persoanelor care lucreaz n
echipele virtuale, oamenii care i conduc i provocrile cu care se confrunt.
Astfel, au descoperit c unul din trei manageri recunote c echipele virtuale sunt conduse defectuos datorit faptului c managerii aplic aceleai
practici de leadership precum n cazul echipelor clasice.
CT DE VIRTUALI SUNTEM DE FAPT?
Din ce n ce mai multe companii mbrieaz ideea echipelor virtuale
pentru reducerea costurilor sau pentru a crete flexibilitatea livrrii servicii-
186
lor, astfel, apariia echipelor virtuale a fost o stare natural care a aprut i s-a
dezvoltat pe zi ce trece tot mai mult.
Evoluie sau nu, echipele virtuale sunt prezente aproape n fiecare companie. Studiul realizat de Forbes la nceputul anului 2014, n rndul companiilor americane relata c n general, 30% din numrul total de angajai
lucreaz n echipe virtuale, n cretere fa de 2010 cnd acest procent era de
23%.
CUM ARAT O ECHIP VIRTUAL?
nfiarea ei, asemntoare cu cea a unei echipe clasice, are ntre 5 i 20
de oameni. Marea majoritate sunt project-based i membrii acestora fac parte
i din alte proiecte, n timp ce pentru alii este un full-time job i deloc surprinztor c majoritatea se afl n industria IT&C.
Membrii echipelor virtuale sunt omniprezeni i provin n mare parte din
Generaia Y. Din fericire, IT-ul a spart orice barier geografic i de timp,
elibernd oamenii s lucreze oricnd de oriunde i orice vor.
PROVOCRI
Echipele virtuale vin cu foarte multe provocri. n primul rnd colegii nu
se vd ntre ei, fapt ce mpiedic stabilirea unei relaii bazat pe ncredere.
Dac nu este gestionat corect, aceast lips de ncredere poate sabota toate
obiectivele pe care aceast echip le are.
O alt provocare major este comunicarea, n special atunci cnd n echipa virtual intr persoane din alte ri sau culturi. Comunicarea prin mail sau
telefon poate fi dificil, deoarece lipsete contactul vizual sau alte elemente
ale limbajului corporal.
Motivarea fiecrui membru n parte este un element greu de obinut precum i organizarea de edine, datorit diferenelor de fus orar.
Mai mult, soluionarea unui conflict este mult mai dificil. Amnarea rezolvrii conflictului se las de obicei cu prsirea echipei de ctre oamenii
cheie.
MOTIVELE EURII UNEI ECHIPE VIRTUALE
Muli manageri nu reuesc s creeze un mediu motivant de lucru la distan. Acest minus aflndu-se pe locul 2 n topul dificultilor gestionrii
unei echipe virtuale, dup diferenele culturale. n condiiile actuale, membrii unei echipe virtuale pot fi din localiti, ri sau continente diferite i
provocarea de a colabora nu este doar din partea managementului ci i a
187
membrilor.
Capcanele mediului virtual pot fi: ntrzierea feedback-ului, prejudeci,
interpretri greite ale e-mailurilor, care s-ar putea soluiona uor dac neam afla fa n fa la o discuie.
Dac facei parte dintr-o echip virtual multe din aceste probleme vi se
pot prea familiare.
CUM ARAT ECHIPA VIRTUAL DE SUCCES?
Echipele virtuale sunt separate de timp, cultur i atribute lingvistice.
Echipele virtuale globale sunt foarte uor de format i sunt foarte agile n
natura lor. Ele pot ajuta companiile s scad din timpii de rspuns n aceast
pia hiper-competitiv, tocmai profitnd de avantajul fusului orar i al echipei dispersate pe ntreg globul.
Pentru ca o echip virtual s aib succes, managerul trebuie s neleag
n primul rnd c echipa virtual este precum joaca ntre copii suprcioi
dintr-o grdini internaional.
Tocmai aici apare dificultatea managerului unei astfel de echipe.
Grdinia are foarte mare nevoie de aceti copii deoarece sunt motorul
de supravieuire al businessului. Copiii cu un background foarte diferit risc
s nu se neleag ntre ei i s se jigneasc constant fr a ajunge la consens,
dar educatoarea asemenea managerului trebuie s mpace pe toat lumea n
vederea dezvoltrii att a grdiniei ct i a copiilor.
Obiective clar definite, un set de reguli bine delimitat, membri angajai
proactiv n realizarea obiectivelor, dispui s mprteasc informaiile eseniale sunt cteva dintre ingredientele eseniale succesului echipelor virtuale. La fel de important este ca membrii unei astfel de echipe s aib abiliti
de comunicare foarte bune i s i ofere n mod constant feedback. Nu n
ultimul rnd o practic a echipelor virtuale de succes este cel puin o ntlnire
fa n fa a membrilor, mcar o dat pe an.
Dar pentru ca toate acestea s funcioneze, managerul echipei trebuie s
creeze un cadru propice comunicrii att formale ct i informale, a feedbackului i a nelegerii diferenelor impuse de spaiu i timp.
Ca urmare, am stabilit cinci direcii importante pe care managerul de
succes al unei echipe virtuale trebuie s le stpneasc i s le dezvolte:
188
1. COMUNICAREA
Comunicarea eficient este esenial ntr-o echip virtual. Deschiderea,
comunicarea onest nu doar c ne ajut la nlturarea nenelegerilor ci ne
crete eficiena.
Cnd vorbim de comunicare eficient, evident vorbim de ascultare activ
i de dorin de cooperare.
De asemenea, comunicarea nseamn i feedback care alturi de vetile
proaste se ofer cel mai bine ntre patru ochi. Cnd nu este posibil, ncercai
s folosii Skype, Video Chat-ul sau telefonul, n niciun caz e-mailul.
2. CULTURA
Diferenele culturale sunt tocmai valoarea adugat a echipelor virtuale
dar n acelai timp pot crea probleme.
O modalitate bun de abordare a diferenelor culturale este nvarea
ctor mai multe lucruri despre background-ul membrilor echipei. Acest fapt
implic o cercetare srguincioas din partea managerului care s pun n
valoare aceste diferene.
3. CONSTRUIREA RELAIILOR
Cnd faci parte dintr-o echip virtual trebuie s faci un efort suplimentar n ceea ce privete relaiile.
Meninerea ncrederii, deschiderea, rspunsul prompt la telefoane sau
e-mailuri este esenial. Un rspuns rapid le arat colegilor ti c i pas de
problemele lor. Ca manager, fii sensibil fa de colegii aflai n zone cu fus
orar diferit. Dac o ntlnire este stabilit prea trziu ine minte c unii vor fi
mai puin vocali i angrenai n discuii dect ceilali.
Folosete-te de uneltele pe care le ai la dispoziie. Folosete-te de Facebook sau LinkedIn pentru a vedea care este background-ul colegilor sau ce
preferine au. Apoi mcar o dat pe an ofer posibilitatea ca echipa ta s se
ntlneasc i fa n fa.
4. COOPEREAZ CU IZOLAREA
Profesionitii care lucreaz n echipe virtuale se confrunt de multe ori cu
sentimente de singurtate i izolare, care nu sunt deloc productive. Sunt persoane care datorit faptului c nu lucreaz n cldirea organizaiei vor simi
c nu fac partea din ea sau vor crede adeseori c nu sunt importani pentru
organizaie. Aceste situaii sunt i mai greu de combtut dac unele persoane
189
190
191
CONCLUZII
Echipele virtuale sunt un fenomen n aflat n cretere i majoritatea executivilor au o atitudine pozitiv asupra beneficiilor acestei formule.
Persoanele care deja lucreaz n echipe virtuale sunt de acord c munca
virtual le permite s colaboreze cu colegi din mai multe organizaii i le
ofer acces la piaa global a talentelor, lucru benefic n competitivitatea organizaiei i al creterii potenialului profesional.
Un lucru cert este c modul n care trebuie gestionate nu este de ignorat,
ba din contra este o provocare bine venit care ne dezvolt autenticitatea n
leadership.
Autor
Monica Soare - Managing Partner @ Artwin
Andreea Prvu
Absolvent a masteratului de Psihologia Resurselor Umane, i-a nceput
cariera ca HR Generalist la o companie de logistic, unde i-a descoperit i
dezvoltat o pasiune pentru aria de Resurse Umane. Experiena international ca membru al echipei globale de Talent Management din cadrul unei
companii de telecomunicaii, a contribuit la dobndirea i mbuntirea
cunotinelor n acest domeniu. n plus, acest context a avut un impact pozitiv n momentul n care a decis s ncerce domeniul IT ca freelancer. Din
2012, Andreea este Senior Recruiter la Endava - Cluj, una dintre companiile
de IT recunoscut ca avnd una din cele mai accelerate creteri pe piaa din
Romnia.
Pe lng activitile corporate, a iniiat cteva proiecte de succes n domeniul educaiei, printre cele mai cunoscute sunt colaborrile cu organizaiile
studeneti clujene pentru oferirea de suport studenilor n definirea unui
career path.
Totodat pentru comunitatea mobile din Cluj, a fost deschizator de
drumuri n dezvoltarea unui proiect Mobile Operation Systems, de mbuntire a abilitilor i cunotinelor tehnice. Proiectul a fost la o prim
ediie, dar vor urma cu siguran i altele. Implicarea n comunitatea de IT
este dovedit i prin publicarea de articole n Today Software Magazine, una
dintre cele mai cunoscute reviste de pe piaa IT clujean.
18
JOCUL RECRUTRII
194
Definiia Talentului
JOCUL RECRUTRII
195
PRIMA SOLUIE
Nu mai folosi anunurile tradiionale i plictisitoare!
Candidaii pasivi nu caut joburi bazate pe abiliti, cunotine i experien ci oportuniti i provocri. Ca s poi face acest lucru, fiecare job description (fia postului) s fie transformat ntr-un job cu adevrat real. Job
description-urile sunt o niruire de cteva elemente: abilii, competene,
studii, iar unele cuprind i o succint prezentare a responsilitilor postului. Practic ele se rezum mai mult la o descriere a persoanei, nu a postului. Schimbarea de paradigm nseamn definirea clar a posibilitilor de
cretere i dezvoltare, responsabilitile i indicatorii de performan pentru
atingerea rezultatelor. Recomandarea este de a se face trecerea ctre nite
profile de performan care s fie folosite n procesul de screening, evaluare
i recrutare pentru fiecare candidat n parte.
Joburile vacante sunt greu de gsit? Pentru c se folosesc n continuare
deja mult prea cunoscutele platforme de joburi online. Prin schimbarea paradigmei, compania trebuie s ajung la candidat ntr-un mod ct mai atractiv.
n contextul n care sunt 11.000 depoziii deschise pe pia i aproximativ
9 000 de IT professionals candidaii nu vor pierde timpul cautnd joburile
vacante. Compania trebuie s vin n ntmpinarea lor cu un site atractiv
dedicat paginii de cariere care s prezinte posibiliti de cretere profesional, acces la training-uri, mediu de lucru prin folosirea de testimoniale
ale persoanelor care deja au un rol n cadrul companiei. Mai mult dect att
SEO i social media vor juca un rol esenial n promovarea companiei pe
pia. O pagin de LinkedIn sau Facebook foarte atractiv care promoveaz
cultura i filosofia companiei, valorile i principiile va fi un atuu n poziionarea companiei ca un angajator preferat.
A DOUA SOLUIE
Arunc la gunoi tot ce tii despre angajri!
Lou Adler spune c 50-60% din angajri se fac pe baza percepiei pe care
intervievatorul o are despre candidat. Emoii, stereotipuri, preri personale
influeneaz luarea deciziei. De menionat este faptul c muli dintre candidai ofer piste false, iar principalul motiv pentru care se ntmpl aceasta
este c nu le sunt adresate ntrebrile corespunztoare. Problema este c se
acord o atenie deosebit interaciunii stabilite cu candidatul ca acesta s
se simt ct mai confortabil i s nu perceap interviul ca pe un interogatoriu
i prea puini dintre cei care recruteaz se concentreaz pe a afla informa-
196
JOCUL RECRUTRII
197
198
Dimensiuni
CE?
CUM?
Comunicarea ctre
exterior a culturii
organizaionale
Poziionarea companiei
ca fiind prima opiune a
candidailor (employer of
choice)
Comunicarea strategiilor
de cretere ale companiei
sustenabilitatea i posibilitatea construirii unei
cariere
Evidenierea realizrilor
notabile ale companiei
UNDE?
Intervievatorii
sunt educai i
pregtii intern
Participarea la
evenimente specifice
comunitii
Utilizarea unor
elemente vizuale
care definesc cultura
organizaional
Folosirea de
testimoniale de la
angajai
Crearea unui site
atractiv de cariere care ofer o
descriere detaliat a
elementelor culturii
organizaionale
Revizuirea eforturilor depuse n
procesul de selecie
pentru ocuparea
posturilor vacante
JOCUL RECRUTRII
199
200
JOCUL RECRUTRII
201
activ n oferirea de burse i premii celor mai buni. Companiile din vest
practic demult acest sistem prin care i asigur un pool de candidai juniori
care vor fi crescui n cultura companiei nc de la nceput.
Evenimente de tipul open days n care candidaii s poat interaciona cu
cultura organizaiei, cu reprezentani din diferite departamente, cu mediul
de lucru, proiecte, tehnologii i metodologii care pot constitui un real interes
pentru cei implicai. Mai mult dect att, astfel de evenimente ncurajeaz
activ networking-ul i consolidarea unei relaii pe termen lung cu candidaii
i o mai bun cunoatere de ambele pri a nevoilor.
Odat identificat modalitatea de promovare a poziiei vacante, schimbarea paradigmei const i n oferirea de cariere pe termen lung nu doar de joburi, aa cum menionam i la nceputul articolului. Doresc s fac urmtoarea
meniune, criteriul financiar este i va fi mereu unul important, dar procesul
decizional al candidailor are la baz cinci factori pe care i vd eliminatorii:
Alinierea obiectivelor de dezvoltare personal i profesional cu cele ale
companiei persoanele performante caut provocri i oportuniti care s
i ajute s evolueze.
A oferi candidatului posibilitatea de a avea o interaciune cu eful direct,
deoarece candidaii foarte buni caut s identifice lideri/ mentori care s i
impulsioneze n atingerea obiectivelor.
Amploarea proiectelor i nivelul tehnologiilor implicate, precum i
echipele angrenate ntr-un mecanism agile care s ofere produse calitative
clientului.
Poziionarea companiei pe pia companiile mari i cu un employer
branding eficient vor atrage ntotdeauna candidai.
Pachetul de beneficii - care s ofere diferite faciliti la transport, sli de
sport, asigurri medicale i de sntate, etc. .
Odat cu atragerea candidailor printr-un proces eficient de sourcing, urmtorul pas este modul n care este condus interviul. Comparaia cea mai la
ndemn este principiul foilor de ceap. Fiecare strat trebuie s reprezinte
un aspect care urmeaz s fie evaluat pn cnd se ajunge la aspectele cele
mai eseniale. n cele ce urmeaz va fi prezentat un decalog al Top 10 predictori folosii n interviuri:
1. Competenele tehnice necesare: nu vor fi detaliate pentru c predictorul
este unul mai mult dect evident n contextul n care discutm despre
industria IT.
2. Potenialul de nvare datorit evoluiei tehnologice, tehnologii sau
202
3.
4.
5.
6.
JOCUL RECRUTRII
203
7. Definirea unui trend de definire a evoluiei profesionale pe parcursul anilor i identificarea rolurilor pe care candidatul dorete s se concentreze n viitor i cum acestea se mapeaz pe planurile de cretere ale
companiei.
8. Abilitile de organizare i planificare unul din principiile fundamentale din Scrum este capacitatea echipelor de auto-organizare, iar acest
aspect este bine de evaluat pe parcursul interviului. Accentul ar trebui
s fie pus pe capacitatea de a livra n intervalul de timp prestabilit,
modalitatea n care se fac estimrile, user story-uri rmase neterminate
pe sprint.
9. Potrivirea cu cultura organizaional i modul n care se regsete n
viziunea, misiunea i valorile companiei.
10. Caracterul nsumeaz trsturi bine mpmntenite care foarte greu
pot fi modificate. Dac caracterul candidatului are un impact negativ
n echipa din care face parte, sugestia ar fi ca decizia de angajare s nu
fie una favorabil. Toi cei nou predictori analizai anterior pot fi educai, pe cnd modificrile comportamentale care in de caracter sunt
mult mai greu de schimbat, iar volumul de timp alocat este aproape
dublu.
Concluzia articolului este una foarte simpl: nu e nimic mai important
pentru succesul tu i al companiei dect angajarea de talente acei great
people. Un candidat slab nu va ajunge niciodat un angajat de succes orict
de mult ai crede n acest lucru ca recruiter. Este important s angajezi inteligent.
Schimbarea de paradigm a procesului de recrutare va fi elementul de
succes pentru o angajare inteligent.
Succes!
Autor
Andreea Prvu - HR professional @ Endava
www.gemsfoundry.com
Parteneri
ISBN 978-973-0-17970-5