Analiza de produs si Consultanta tehnica

Dezvoltare de concept si Consolidare


Dezvoltare de concept si Consolidare

Ideea unei aplicații software îți poate veni când te uiți la ceva similar și îți dai seama că l-ai putea face mai bun, sau când în munca ta de zi cu zi realizezi că un software care ar face asta și asta, te-ar ajuta enorm pe tine și pe alții sau, și chiar se întâmplă, când stai la o bere cu un prieten și dintr-una în alta ajungi să vorbești despre un site web la care nu s-a gândit nimeni până atunci. Lista ar putea continua, căci o idee de fapt poate veni oricînd și oricui este deschis s-o primească.

Partea mai grea începe, însă apoi. Ideea trebuie materializată în ceva vizual și funcțional, în ceva folosit de alții și, de cele mai multe ori, în ceva vandabil și profitabil. Primul pas în acest drum lung este consolidarea ideii în ceva realizabil din punct de vedere tehnic și măcar interesant din punct de vedere comercial.

Pentru transcrierea și îmbunătățirea ideii unui client până la o formă clară și concisă ne folosim de experiența noastră în implementarea zecilor de proiecte web din vari domenii de business. Încercăm să fim realiști, dar și să ne lăsăm puțin duși de val când lucrăm la un concept online nou, să balansăm în interesul clientului aspectele tehnice și cele comerciale ale viitorului produs.

Ne place să lucrăm aproape de client când încercăm să-i punem pe hârtie idea (chiar la propriu în unele situații), când elaborăm scheme logice de flux sau ciorne de interfață (în EN: mockups). Feedbackul său rapid contează și îl căutăm cât mai curând pentru a scuti timp și bani.

Analiza SWOT pentru produs


Analiza SWOT pentru produs

Chiar dacă un client vine cu o idee și un studiu bine făcut tot trecem împreună cu el prin elementele de ”strengths”, ”weakness”, ”oportunities” și ”threats” ca parte din metodologia de Agile Development pe care o urmăm în munca noastră.

Sunt și cazuri în care ni se cere și expres să facem analiza SWOT pentru a evalua plasarea în mediul online a unui nou jucător.

Ghidați de experiența noastră și de scopul clientului analizăm produse similare de pe piață, punctele forte și slabe în utilizarea viitorului sistem sau modificările pe care le-ar putea suferi în caz de succes sau eșec. Suntem sinceri și nu odată s-a întâmplat ca clientul să renunțe la proiect pentru că analiza de piață a dovedit că el ar fi fost mult sub limitele așeptate de client.

Alegerea Arhitecturii si Tehnologiilor potrivite


Alegerea Arhitecturii si Tehnologiilor potrivite

Poți avea un obiectiv foarte clar, dar e foarte important cum ajungi la el. Sumedenia de tehnologii web compusă din limbaje de programare, servere web sau de aplicații, baze de date, chestii open-source, gratuite sau comerciale pun de multe ori clientul în fața unei alegeri dificile.

În discuțiile pe care le avem cu clienții noștri ne străduim să explicăm în cuvinte simple avantajele și dezavantajele fiecărei opțiuni tehnologice și să demitizăm unele păreri cu care aceștia intră pe ușă.

În alegerea unei soluții tehnologice ținem cont și balansăm atent câteva aspecte esențiale ale unui produs software:

  • Cine va dezvolta aplicația și ce expertiză tehnică are?
  • Ce este mai important: timpul scurt de finalizare sau calitatea sistemului?
  • Cât de flexibil este scopul proiectului, cât de mult se pot schimba lucrurile în timp cu el?
  • Care este abordarea comercială pentru acest produs?

Schite de Interfete si Interactiune


Schite de interfete si interactiune

Dacă suntem fizic unii lângă alții scoatem hârtie și creioane colorate. Dacă suntem la distanță deschidem Screen Sharing-ul Skype-ului. În oricare din situații știm cât este de important să traducem în schițe de interfață o idee.

Este uimitor cât de repede înaintează analiza unui produs software în momentul în care apar la mijloc aceste desene de principiu. Clientul începe să fie mai precis în a-și explica ideea, de partea cealalaltă programatorul sau analistul pune întrebări mai pertinente sau vine în întâmpinare cu completări și îmbunătățiri.

Nu este vorba de design, ci doar de machetarea unor interfețe cheie ale sistemului din care toți cei implicați în proiect își fac idee despre ce este de făcut sau cât de mult este făcut. De fapt noi ne și ferim să facem o cotație de preț pentru un proiect până nu vedem aceste mockups de interfețe. Fără ele nivelul de ghicire al bugetului este chiar foarte mare.

Securitate si Scalabilitate


Securitate si Scalabilitate

Luăm de la început în considerare că produsul pe care îl realizăm va fi unul de succes. Mare succes. Iar asta înseamnă soluții tehnice bune pentru a suporta foarte mulți utilizatori paraleli (în cazul aplicațiilor web, desigur) și măsuri de securitate atent proiectate.

Încercăm astfel încă din faza de analiză a unui produs să transmitem spre echipa de dezvoltare cerințele necesare asigurării unui sistem securizat și scalabil:

  • Cerem și realizăm teste automate pentru evaluarea sistemului la funcționarea cu un număr considerabil de accesări simultane.
  • Alegem acele soluții tehnice care protejează aplicația de accesările malițioase, atât de frecvente în mediul web.

Planificare


Planificare

Alegerea pe care am făcut-o în urmă cu doi ani de a merge pe calea Agile Development ne-a învățat multe pe lângă teoria din cărți. Și despre planificarea unui proiect am putea vorbi zile întregi. Pe scurt, cum procedăm:

  • împărțim în cât mai multe chestii care trebuie implementate și care să funcționeze proiectul.
  • dacă o anumită funcționalitate ia mai mult de două săptămîni o mai divizăm până când obținem elemente care pot fi livrate în mai puțin de o săptămână.
  • terminăm o funcțiune și o trimitem spre evaluare clientului
  • apoi reevaluăm planul.

Planificarea noastră este una vie. Revenim continuu și revedem ce s-a făcut, care este viteza și ce ar trebui făcut mai departe. Suntem sinceri, prezenți, direcți și încercăm să livrăm software corect funcțional. Și planul acesta merge :).

Estimari de cost


Estimari de cost

Dificilă treabă. Nu vrei nici să ajungi să termini proiectul pe banii tăi, dar nici să te întorci la client să mai ceri. Cert este că (asemenea ca și în construcții) sunt foarte puține proiectele software care nu-și depășesc bugetele.

Și ni se întâmplă să nu facem nici noi excepție. Dar am învățat unele lucruri care ne ajută să evaluăm corect și să ne încadrăm în bugetul clientului:

  • nu proiectăm mai mult decât este necesar pentru fiecare fază a produsului.
  • planificăm atent activitățiile și functionalitățile pe care trebuie să le livrăm (vezi Planning).
  • știm exact costul orar al serviciilor noastre
  • întrebă direct clientul de ce buget răspunde. Doar nu poți construi un avion cu bani de-o bicicletă.