Focus Focus Focus
In umila mea cariera de developer, constructor de aplicatii, lucrator cu clientul, consultant, ce vreti voi, am observat o chestie: poti sa fii tu Mos Craciun, clientul e mai expert ca tine in cadouri, sanii si reni .
Luam o aplicatie simpla (vorba vine) care trebuie sa satisfaca o nevoie simpla (macar la prima vedere). Totul bine pana aici. Problema e ca clientul nu vrea lucruri simple, el vrea si X si Y si Z, eventual si un WT care sa faca AX. N-are nevoie de ele, dar sistemul lui trebuie sa fie potent, sa stie orice.
Degeaba ii explici ca mai mult or sa-l incurce, ca nu are nevoie de ele , ca nevoile lui sunt simple si ca ar fi mult mai usor de utilizat / invatat etc. Nu. Ce stii tu despre industria de barberit oua, nu merge ca la voi, in programare.
Rari sunt clientii care te asculta, care stiu ca stii mai bine despre ei, ca le urmaresti interesul si care se lasa pe mana ta. Atunci iese treaba buna, putine bug-uri, interfata e fluenta, isi face treaba, si asta e cel mai important.
In fine, cu chiu cu vai termini aplicatia, o livrezi, clientul e multumit, tu poate si nu prea, nu mai conteaza. La cateva zile, saptamani, o luna, vine Ionel prieten/cunoscut cu clientul si-l intreaba: “Bai, aplicatia ta nu stie sa faca X? Foai de capu’ vostru…”.
Clientul pune mana pe telefon: “Bai baieti, e groasa, ne trebuie musai X, nu se poate fara!”, “pai cum, ce faceti cu X? si cum de nu v-ati gandit de la inceput daca e asa vitala?”, “Nu stiu, nu m-am gandit, dar userii o cer, trebuie.”… si te apuci iar, bug-uri, nervi etc. Intr-un sfarsit iti dai seama ca ai dezvoltat un feature pe care nici Ionel nu-l foloseste, ca nici lui nu-i trebuie.
So FOCUS.
Gandeste-te bine care e scopul, goal-ul aplicatiei pe care o vrei, care e nevoia principala pe care trebuie sa o satisfaca si concentreaza-te asupra ei. Asta e important, restul e balast. O aplicatie are succes atuinci cand reuseste sa satisfaca nevoia pentru care a fost conceputa in cel mai usor mod cu putinta.
Teorii:
- nu poti multumi pe toata lumea. punct.
- 80% din utilizatori folosesc 20% din feature-uri (unii inclina spre 90-10)
- o aplicatie e gata nu atunci cand nu mai ai ce pune pe ea, ci atunci cand nu mai ai ce scoate (de pe twitter zilele astea)
- pune feature-urile in 2 coloane “must have” si “nice to have”, rupe foaia in jumatate, pastreaza must have si apoi mai repeta procesul o data cu alea
- 90 – 95% din useri lucreaza cu aplicatia asa cum le-o dai, setarile sunt inutile pentru majoritatea – “good defaults”
- userul nu e prost, dar el crede asta daca aplicatia e proasta / complicata
- userul nu se da batut usor, daca ii este absolut necesar rezultatul aplicatiei tale, daca poate obtine ceva relativ la fel din alta parte insa, il pierzi repede.
- 80% din utilizatori sunt incepatori sau mediocri
- etc, e o intreaga stiinta pe tema asta, astea mi-au venit acum in minte
Deci, tine minte ca nu toti utilizatorii sunt importanti, importanta e majoritatea lor, pe ei trebuie sa-i satisfaci, lor trebuie sa li se adreseze aplicatia. Nu incerca sa ii multumesti pe toti, nu vei reusi niciodata, keep it simple si ai intotdeauna in vedere scopul aplicatiei.
December 9th, 2008 at 4:10 pm
sorry pt eventualele pasaje cam incoerente si “romgleza”
December 9th, 2008 at 4:25 pm
Foarte adevarat! Ar fi misto daca mai multi “clienti” ti-ar citi blogul. Din pacate, am un feeling ca “it’s just us developers over here!”.
December 9th, 2008 at 4:54 pm
Unul de la 37signals, în cartea gettin real (da mă, mă dau cult, şi?
) spunea că fiecare feature este ca un bebeluş de care trebuie să ai grijă. Şi cu cât sunt mai mulţi bebeluşi, cu atât e mai mare riscul să înceapă toţi să plângă (aka bugs).
December 9th, 2008 at 7:12 pm
Haha, buna asta! Pai inseamna ca clientul din articol vrea un fel de fertilizare in vitro (features in vitro), ca doar acolo ies mai multi decat ai nevoie.
December 9th, 2008 at 7:56 pm
un fel de don’t make me think
December 9th, 2008 at 8:05 pm
ah, and users ARE dumb!
December 9th, 2008 at 8:05 pm
probabil se regasesc multe din invataturile lui Steve Krug aici, fur si eu de unde pot si cat pot, ca Nastase
December 10th, 2008 at 9:16 am
@ionut, nu-i neaparat adevarat, users are average…
December 10th, 2008 at 3:49 pm
Average dumb … some are more dumb than others.
December 10th, 2008 at 9:17 pm
vezi si http://steve-yegge.blogspot.com/2008/08/business-requirements-are-bullshit.html
December 12th, 2008 at 3:42 am
Am citit de-am capiat principiul lui Pareto in ultima vreme. Pana acum 6 luni, abia daca citisem pe undeva, in afara de wikipedia si scoala, despre el. Acum insa… S-a deschis un blog nou, a bagat Diverta vreo promotie la vreo carte de genul?!
Acum on, e normal ca clientii sa nu te creada din prima atunci cand le spui ca o chestie pe care ei o cer nu le trebuie. Refuzul tau nu ii face decat sa creada ca acea chestie e extrem de greu de facut, deci importanta, deci trebuie facuta! Cea mai buna metoda e sa le spui riscurile si sa ii lasi sa ia decizia. Daca se intampla chestii naspa, bagi traditionalul “eu ti-am zis!” si apoi, macar de jena, n-o sa te mai contrazica.
December 13th, 2008 at 12:20 pm
Din cauza situatiilor de genul asta cred ca e nevoie de un salesman, sau client service care sa stea intre tine(dezvoltator) si client…. El trebuie sa vanda ce ii spui tu .. si sa convinga clientul ca solutia oferita e cea mai buna pentru el. Nu toti dezvoltatori pot sa sustina o alegere in dezvoltare in fata unui client (mai ales unul cu putine cunostinte tehnice). Un salesman poate sa faca asta, dar trebuie sa fie de partea ta si nu un pupincurist care sa urmeze principiul “clientul nostru, stapanul nostru” in orice situatie.
December 13th, 2008 at 9:21 pm
o sa vezi ca e greu pt un salesman sa inteleaga ce zic eu aici
December 14th, 2008 at 1:08 pm
Am o vaga impresie ca multi clienti vor primi acest link pe mail
.