sâmbătă, 21 martie 2015

Product Management?

Unde am activat pana acum, pe parcursul carierei, echipa Product Management/Business Analysts/Project Management/Whatever_the_name (cei care dau specificatii si sunt clientii directi ai echipelor de dezvoltare) avea un rol specific companiei/workflowului in care activau. Adica, niciodata n-a fost un rol in workflowul de dezvoltare a platformelor/aplicatiilor care sa varieze mai mult decat rolul PM de la o companie la alta.





Din punctul meu de vedere si din experienta, path-ul de evolutie al unui rol tehnic este clar si general valabil. Adica, esti tehnic (dev/qa/sysadmin/etc) si evoluezi. La un anumit nivel al evolutiei in cariera tehnica, ai de luat o decizie - iar optiunile sunt :
- arhitect (de sistem, de aplicatie, etc)
- manager
- PM

Mergand pe ultima optiune, poti activa ca si PM in 2 feluri :
- PM tehnic - care proceseaza cerintele de la business si din prisma tehnica, iar rezultatul muncii lui (specificatiile) au si indicatii de implementare (mai mult sau mai putin) tehnice
- PM atehnic (acesta nu vine pe path-ul evolutiv descris mai sus) - care proceseaza cerintele de business fara sa-si puna probleme tehnice, iar rezultatul muncii lui (specificatiile) sunt doar "user stories", fara nici o farama de informatie tehnica

Cel mai bine/eficient am functionat in prima varianta.



Cel mai prost am functionat in varianta de mai jos :
- PM fara background tehnic care proceseaza cerintele de la business si scrie specificatii folosind termeni tehnici si (cateodata) adaugand si "putin tehnicus" prin cerintele de acceptanta
Adica, o ciorba dintr-o struto-camila. Cu varza.

De ce am functionat cel mai prost (fiind date ipotezele de mai sus):
- PM impune solutia tehnica propusa de el ca si criteriu de acceptanta; neavand expertiza tehnica, aceasta e de cele mai multe ori gresita (din punct de vedere tehnic); incercarea de impunere a unui path de rezolvare tehnic in cerinta de acceptanta face ca echipa de dezvoltare sa nu mai aiba (sau sa nu mai accepte) ownership tehnic
- PM isi limiteaza cerintele de business din specificatiile proiectului din cauza ca (,) crede ca intelege platforma si din perspectiva tehnica; adica, isi pune singur piedici tehnice (care in cele mai multe situatii nu exista si/sau exista, dar necunoscand solutia sau neavand destula expertiza tehnica, este considerat blocked)
- discutiile cu un PM care nu este tehnic (dar crede ca e) in specificatiile rolului sau din acea companie sunt interminabile/ineficiente si neconstructive
- specificand cu "artefacte" tehnice, un ticket poate fi refuzat in dezvoltare pentru ca solutia tehnica ceruta ca criteriu de acceptanta este gresita (desi cerinta de business poate fi valida!)
- aceasta tipologie de PM isi "permite" sa se implice chiar si in workflow-urile de dezvoltare - am observat unii PM dandu-si cu parerea in procesele de estimare si despre starea in care trebuie sa fie un ticket (de exemplu)
- PM care (cred ca) au cunostinte tehnice, dar rolul in companie si workflowurile in care activeaza nu sunt create pe acest criteriu sunt daunatori toate partilor implicate (business/dezvoltare), fie doar din perspectiva filtrarii cerintelor in functie de cunostintele lor tehnice, a delay-urilor de comunicare datorate unor ambiguitati in specificatii si a livrabilelor alterate de nivelul tehnic al specificatiilor



Dragi PM : incercati sa intelegeti in care setup activeaza echipa PM din acea companie si adaptati-va. Daca considerati ca nu este workflow-ul corect, sunteti pe jobul gresit (sau chiar compania gresita).
Puteti incepe evolutia pe partea tehnica, va incurajez chiar! Si cand ajungeti un membru tehnic intr-o echipa de dezvoltare, va doresc sa nu interactionati cu PM mini-tehnicus, pentru ca o sa-l... bateti.

Succes!

luni, 2 martie 2015

Zoo Bucuresti

Weekndul asta, fiind 1 Martie, mi-am invins lenea specifica weekendului si am vizitat Zoo din Bucuresti.

Fiind prima data cand am facut acest lucru, voi lista primele impresii :
- ca orice gradina zoologica si aceasta ma deprima (poate fi si vremea frumoasa, tot nu-mi place sa vad animale (mai ales din cele mai mari - vulturi, lei, tigri, pitoni) ingraditi intr-o arie (sau intr-un volum, in cazul pasarilor) mic)

- toate animalele par triste, fara energie si sedate (in afara pestilor din acvarii)
- e plin de copii (lucru bun), dar si de parintii lor (mai mult sau mai putin educati - tatii ma "ingrozesc" cel mai mult, mai ales cei care fumeaza cu o fata din aia "da ba, sunt un tata bun, mi-am dus odraslele la Zoo...")
- majoritatea parintilor fumeaza (poate din cauza ca m-am lasat de fumat remarc si aceste lucruri)

- exista camere accesibile online (poate vrei sa te deprimi si noaptea, daca se vede ceva...)
- exista si QR codes + aplicatie - care foloseste ca un fel de ghid virtual (nu am folosit-o pentru ca-l stiu pe autor, dar am vazut pe unii care o foloseau)

- leul ragea (foarte cool, mai ales ca se auzea din orice parte a gradinii, chiar si din afara ; din pacate, spre finalul vizitei orice raget de-al leului auzit ma facea sa inteleg ca nu era un semnal pozitiv -> ma intrista)
- 3 x tigri (cu aceata ocazie am aflat ca tigrii sunt mai mari ca leii - nu numai la Zoo Bucuresti)

Vizitatorii (oamenii) erau dubiosi (putin spus) iar animalele erau ori "lipsa" (din cauza iernii, sper) sau triste. Cireasa de pe tort a fost o blonda de 2m+, purtand pantaloni din piele (la Zoo :) ) , care incerca sa cheme un tigru intr-un cadru fotografic (adica, incerca sa pozeze un tigru cu telefonul :) ) astfel :
"Pis-pis-pis".
Trist.


sâmbătă, 21 februarie 2015

cum "aduci clienti"



Eram la in zona Centrului Vechi din capitala, la un local cu muzica live impreuna cu niste colegi. Dupa ce s-au consumat "niste" cantitati de alcool (si deja majoritatea oamenilor se gandeau sa se retraga), una dintre colege a sarit de la masa in intampinarea unei fete care tocmai intrase in incinta si cu care se "cunostea foarte bine" (dupa tipetele isterice cu care i-a marcat aparitia, tropaiturile stridente spre ea si sariturile energice cu ea in brate). Ce s-a intamplat in continuare voi detalia cu "linuta", pentru a sugera un plan bine pus la punct :
- colega prezinta fata noua barbatilor din grup (si, cateodata, fetelor)

- in putin timp s-a hotarat sfarsitul petrecerii si retragerea
- colega & fata insista sa mergem la "un bar" situat "putin mai incolo"
- se pare ca insista destul de bine, eu ramanand singurul care insista sa nu mearga (nu pentru ca banuiesc ceva, ci pentru ca sunt obosit/"batran")
- cedez (eram singurul care nu mergea, eram "acea persoana..." care "sparge petrecerea"); vom merge la bar
- ajungem la bar (intr-adevar nu era departe...)
- colega & fata se pupa cu diversi de acolo
- una dintre ele ma duce la bar si-mi spune, aratandu-mi barmanul "el este Peter, poti comanda orice" (well, D'oh!)
- un nenea se potriveste in dreptul usii de la intrare (nu mai puteai iesi decat daca-l "deranjai"), uitandu-se "interesat" pe geam. pret de minim 10 minute
- toata lumea comanda ceva (desi nu era nimic special in acea locatie, lumea fiind aproape hotarata doar cu cateva minute inainte sa "mergem acasa")

... in afara de mine. Eu "m-am prins" (sau sunt doar paranoic). Ma duc acasa, pentru mine marketingul si PR-ul se face altfel.

miercuri, 4 februarie 2015

ceata, becuri si pietoni

Weekendul trecut m-am intors in Bucuresti din provincie. Provincia in cauza e mai ... speciala (hint : e tara rosie a lu' Dragnea). Dar nu asta e singurul lucru special de acolo - altele :



1. Ceata
- totul se intampla dimineata (in jurul orei 9)
- ceata era omniprezenta, dar in unele zone era periculos de densa



2. Becuri
- sunt unii care circula cu becurile de ceata tot timpul pe "on"
- sunt altii ( #darwinawards ) care merg cu acele lumini pe "off", in timp ce se afla in ceata (si la propriu si la figurat)
- m-a mirat ca proportia dintre cei care foloseau aceste semnalizari versus cei care nu o faceau era drastic in favoarea celor mai prosti dintre cei prosti (adica, cei care nu aveau becurile aprinse) - undeva pe la 80%+




3. Pietoni
- daca esti pieton e sarcina ta principala sa supravietuiesti (nu a altora - soferi, de exemplu)
- pieton fiind, e de preferat sa circuli prin locuri special amenajate (trotuare) si sa traversezi prin alte locuri amenajate pentru siguranta ta (treceri de pietoni, aka "zebre")
- daca insa esti nevoit sa mergi pe carosabil, logica, bunul simt si invatatorul/invatatoarea din generala ne invata sa mergem cu fata spre sensul traficului (adica, pe partea stanga a carosabilului)
- nici un singur pieton care mergea pe suprafata carosabila (pentru ca in majoritatea locurilor nu intretineau conditiile descrise mai sus) nu circula pe partea corecta (stanga/cu fata spre masinile ce vin spre el/"nu muri ba prostule")




E un risc sa circuli pe drumuri. E un "joc" simplu : tu incerci sa eviti puscaria in timp ce ceilalti incearca sa populeze #darwinawards . Unii castiga, pierzand.

miercuri, 28 ianuarie 2015

Note6 - dupa o luna

Am un Nexus6 (cu Lollipop la pachet) in folosinta de o luna. Mai jos o sa detaliez chestiile pe care le-am retinut ca si plusuri/minusuri in "colaborarea" cu acest device.



Plusuri :
- Lollipop
- OS fara bloatware ("curat" , de la Google) - pe viitor, updates "as quick as possible"
- interfata mult mai eficienta (mi-a luat 5 min. sa ma obisnuiesc cu noua interfata si inca 5 sa fiu maxim de eficient folosind-o)
- ecran (mai) mare
- rezolutie (mai) mare
- sunet (2 difuzoare - stereo - amplasate pe partea frontala a telefonului)
- metal - carcasa, capac imovibil, sturdy feel
- nu lucreaza cu Gear2 (adica, trebuie sa renunt la ceasul smart -> nu mai am _inca_ ceva de incarcat)
- nu mai folosesc tableta
- batery life (insa dupa schimbarile descrise mai jos)

Minusuri :
- cpu power - poate fi o impresie, dar cred ca se misca mai prost la cpu_intensive stuff
- a trebuit sa schimb cartela (este una si mai mica decat cea mica pe care o foloseam deja la Note3)
- "alunecos" - este facut din metal (in afara de sticla din fata si cea de la camera, totul e metal) si aluneca usor (din mana, de pe suprafete inclinate, etc) ; "ajutat" si de forma rotunjita a spatelui
- buton (hardware) pentru $home/answer_phone/etc
- nu lucreaza cu Gear2 (a fost "interesant" in primele zile, cand la fiecare notificare a telefonului eu ma uitam la ceas - un ceas standard/normal)
- nu mai folosesc tableta (s-a si descarcat intre timp ; nota bene - s-ar putea sa fie si din cauza ca telefonul e "inca nou" - as in "new toy")
- batery life (initial, telefonul "tinea" mai putin de 1 zi; am aplicat 2 chestii de bun simt - control manual al luminozitatii ecranului + disable "location" (care la lollipop inseamna serviciu de localizare, dar si GPS - nu le poti controla separat)
- unele buguri (cand disablez serviciul "location", cateodata nu mai pot porni wifi)

Google nu "a demonstrat" niciodata pe partea hardware, nu isi propune (cel putin pana in acest moment) sa se pozitioneze strategic pe aceasta piata. Dar a cumparat Motorola (producatorul acestei versiuni Nexus) si alte entitati focusate pe zona hardware - acizitii notate de media ca si "de portofoliu" si "pentru patente". Dar nu i-as crede 100% ...

Concluzie : sunt multumit de alegerea facuta.

Note :
- "mai" <ceva> - e intotdeauna in comparatie cu device-ul anterior (Samsung Galaxy Note3), dar si cu restul deviceurilor din aceeasi categorie pe care le-am detinut (am o istorie destul de lunga in zona "phablets")
- nu credeti benchmarks (deja unii stiu asta) : majoritatea sunt "sponsorizate", astfel incat (de exemplu) note3/note4 au performanta mult prea mare pentru restul telefoanelor (si fata de realitate)

duminică, 25 ianuarie 2015

The Hunters (2013)




http://www.imdb.com/title/tt2963232

Un film care porneste de la idee puerila, o dezvolta pe niste linii usor de prevazut, are dialoguri cretine si aritmetici gresite (vezi filmul, ~ min. 65 - combinatii de 3 luate cate 3 e "one thousand").
Daca vrei sa calci pe unul cu masina, cand aproape il lovesti tragi de volan in partea opusa. Cand cineva are o mini-arbaleta tintita spre tine, cel mai bine joci un "magarusul" cu pantoful Cenusaresei (care, btw, probabil era realizat mai bine la fabrica care produce sticlele pentru berea Suceva/Bermas). Si la o petrecere "black tie" oamenii care servesc biscuiti si caviar (sau dulceata de cirese, ce aveau aia acolo) sunt prinsi in discutii cu invitatii - that happens every day!

Decoruri ieftine, scenaristi idioti, idee cretine - 4.9 IMDB rating. Merita mai putin, dar poate mai vrea cineva sa se distreze. E atat de prost incat va invit sa-l vedeti. E categorisit drept aventura, dar va asigur ca e comedie.

miercuri, 21 ianuarie 2015

Tunel IPsec & why I'm too old for this sh*t

In opinia mea exista o varsta dupa care nu este indicat sa mai faci "tunele". De ce?
"Tunelul" (orice fel de tehnologie, nu conteaza) implica un task/proiect care are, cel putin 1 data, o faza de "la mine merge, problema e la tine" (in cazul special al "tunelelor ipsec", aceasta se intampla de mult mai multe ori decat 1 data...). Ergo, I'm too old for this sh*t.
Un caz real, ultimul dintr-un istoric lung de astfel de interactiuni (pe durata carierei mele), va fi povestit in cele ce urmeaza.

Niste unii trebuie sa acceseze o resursa interna. Bineinteles ca vrei sa limitezi accesul la plaja de resurse interne si in acelasi timp sa ai un minim de control asupra comunicatiei (care trebuie sa fie si criptata, datele fiind sensibile in unele cazuri). Bun, veti spune, e zona propice sa inseram un cuvant care denumeste tehnologia ca si solutie in aceste tipuri de cazuri : tunelul.
In acest caz special, premisa era ca totul va merge "din prima" din 2 motive :
1. am facut asta de mult prea multe ori
2. oamenii ceilalti aveau experienta (cel putin declarativa) cu tehnologia asta (si variatiunea (adica, IPSec) a fost aleasa chiar de ei, pentru ca "deja avem N tunele de acest fel")
3. initierea "proiectului" a inceput cu un email care continea configul folosit de ei in situatii similare (copy&paste, engage!)

De ce nu ar fi mers "din prima" / "simplu" si "rapid" :
1. inca caut sysadmin (suplinesc acest rol in acest moment)
2. vorbim despre "tunel" (vezi primul si al 2-lea paragraf)

Bun.
Am primit emailul initiator, am facut copy&paste-ul de rigoare, am pornit ipsec. Succes - nimic gresit in loguri (ba mai mult, zicea ca merge), "ipsec status" zice ca e up&running, testez din capatul de tunel si raspunde IP-ul de test din capatul celalalt (via tunnel - discutam aici de clase private, in ambele parti, routate prin tunel - nu avea cum sa mearga _decat_ prin tunel).
Wow, cool! Merge din prima! Raspund mailului, tunelul e up, case closed.

But wait. Vine primul raspuns - "la noi nu se ridica tunelul". Wait, what?
Tunel = o gaura / canal prin pamant, cu 2 capete; teoretic, daca bagi ceva prin tunel (like, tren) si iese prin capatul celalalt si apoi il intorci prin tunel si ajunge in "gara initiala", tunelul merge, right? Nu exista "capatul nostru e down". Adica, cum? Ca la mine a ajuns "trenul"! Prin tunel!

Si de aici incepe circul tunelului, asa cum il stiu, il stii si il stim :
- verificare versiune software
- discutii despre filtrarea din firewalls
- de ce e bine sa nu-ti dai cu parerea despre ce ar putea (sau nu ar putea sa aiba) celalalt in retea
- contrarieri despre cum se fac testele
- schimbari (nenumarate) in config
- "va dau acces teamviewer pe masina mea, sa va uitati daca e ceva gresit" <- huh?

- trimis set de date, primit raspuns la cu totul altceva
- intrebari scurte si la obiect, raspunsuri "pe campii"
- insistente de a discuta "telefonic" (*)
- "cu altii merge, acelasi config"
- diferente de sintaxa
- "nu putem da jos doar capatul vostru de tunel" & "nu putem da jos toti clientii conectati" => wtf?
- "nu se poate ridica tunelul doar din capatul nostru?"
- etc
Invariabil, cineva cedeaza. Ca de obicei, eu. Si pun capat balamucului - "am investit destul timp intr-o solutie care se pare ca nu ni se potriveste" - traducere : nu stiti sa va setati porcaria pe care ati cerut-o tot voi, hai sa vedem daca putem face altceva.
Si trece ceva timp. Eu stiu ca asta nu e sfarsitul - niciodata nu e sfarsitul.
Suna "seful" din partea cealalta, cateva zile mai tarziu (v-am spus ca nu e sfarsitul, nu?). "Daca ati putea sa discutati cu noi 20 minute, se rezolva cu siguranta". Nu am 20 minute full pe care sa le petrec, legate, discutand despre ... <bleah> ... un tunel. "Ok, am inteles, revenim noi cu o alta solutie".
Cateva zile mai tarziu (doar nu credeati ca s-a terminat, nu?) vine un email (NB : niciodata un email intr-un thread de emails legate de un "tunel" nu vine singur - vine cu alaiul de calls & missed_calls din jur) cum ca au ajustat $stuff si acum mai trebuie sa schimbam "doar ceva" (in email exista un text de cateva zeci de randuri cu configuri, diferente, markup rosu, concluzii, todos, unde e problema/vina si ce trebuie sa facem noi ca sa mearga - NB : la mine merge din emailul no. 1).
Ok, schimbam acel "doar ceva". Tunelul se comporta la fel, "la mine merge" (toate testele sunt trecute si outputul este frumos impachetat, ca de fiecare data (ca sa ma creada lumea) in email si trimis).
"Tot nu se ridica capatul nostru".
Mai trec zile, mailuri, telefoane (unele cu ton plangacios - "sper ca nu aveti ceva cu mine" like self-flagellation "I have mamma issues" type of stuff). Tunelul e tot acolo, cu ambele lui capete, cu trenul care circula din ambele parti si cu gara din partea cealalta care spune ca nu a vazut trenul niciodata si doar a auzi povesti cum ca ar exista un tren, un tunel si-o gaura.

Sumar :
- start -> $now = 2 saptamani (and counting)
- telefoane pe aceasta tema : ~20 (din care missed vreo 15)
- emailuri in thread(s) (pentru ca "gaura din capatul celalalt de tunel" a rupt threadul la un moment dat (are acelasi subiect insa)) : 45 (and counting)
- clase IP routate prin tunel (incercari) pana in acest moment : 3 * /24, 2 * /32, 1 * /16
- status tunel : LA MINE MERGE

(*) Urasc :
- sa mi se raspunda in "conversatii" folosind un alt mediu decat cel pe care a fost initiat (adica : daca-mi scrii un email, nu ma suni sa-ti raspund la acel email)
- sa folosesc metode de comunicare sincrona (telefon, par example) ; timpul este limitat, planningul nu functioneaza daca poate orice "gaura de tunel" sa te intrerupa oricand
- sa fac TUNELE