Dezvoltarea produselor software cu succes Câteva sfaturi
Dezvoltarea produselor software cu succes: câteva sfaturi

Piața serviciilor software, cum ar fi implementarea, programarea personalizată și întreținerea, se mută din ce în ce mai mult în zona produselor software. Deci, soluții pe care trebuie să le instalați doar și pentru care nu este necesară o dezvoltare majoră.
Cel mai bun exemplu sunt soluțiile software-as-a-service, la care vă puteți abona lunar.
Avantajele unor astfel de soluții sunt evidente, costuri de întreținere mai mici, deoarece actualizările sunt instalate automat și mai puține erori, deoarece acestea sunt remediate de furnizor. Și, desigur, mai puține cheltuieli pentru programatori scumpi.
Cu toate acestea, cum se poate dezvolta un astfel de software care să înlocuiască serviciile IT anterioare? Câteva sfaturi despre asta în postare.
Nu vă grăbiți
Majoritatea proiectelor sunt din păcate începute cu declarația „Acesta este un proiect foarte mare. Dar ia-ți timp. Nu avem nevoie de versiunea terminată timp de două luni ".
Cu toate acestea, realitatea este că, mai ales în cazul soluțiilor software complexe, avem nevoie de câteva zile și săptămâni doar pentru a determina cerințele.
Cadrele de sârmă și crearea proiectelor necesită apoi un efort suplimentar.
Există, de asemenea, o constantă înainte și înapoi. Fie că este vorba între client și furnizorul de servicii sau dacă îl aveți programat intern, atunci între conducere și dezvoltatori. Cerințele trebuie comparate, cererile de modificare luate în considerare și erorile (erori în sistem) eliminate.
Pentru a avea o primă versiune beta a unui produs software, este nevoie întotdeauna de cel puțin 9-12 luni.
După ce ai intrat în direct, obții de obicei primul feedback, unde observi „Oh, am trecut cu vederea această funcționalitate importantă” sau „Oh, nu am testat-o încă în această formă”. Pentru aceste funcționalități mai mici sau mai mari și testarea, aveți nevoie de 6 până la 8 luni.
Așadar, aveți nevoie rapid de unu până la doi ani pentru a crea produsul.
Cu toate acestea, ceea ce este special este că veți avea o soluție care să ofere clientului final o valoare adăugată reală. Și despre asta este vorba despre tot acest exercițiu. Oferirea unei soluții IT care poate oferi clientului o valoare adăugată care durează doar două luni pentru a fi dezvoltată este nerealistă.
Baza tehnologică puternică/alegerea corectă
Abordarea tehnologică este de asemenea importantă.
Unele tehnologii sunt deja mature și, odată programate, le puteți folosi mult timp fără modificări sau actualizări.
Un exemplu este PHP. Acest sistem IT există încă din 1995 și a fost îmbunătățit continuu de atunci.
Cadrele bazate pe PHP au fost, de asemenea, testate și utilizate pe scară largă. Programatorii sunt familiarizați cu problemele, provocările și modalitățile de a remedia erorile.
Arată diferit cu alte abordări. De exemplu, dacă programați cu Node.JS (abreviat și ca N în articol), puteți presupune că va trebui să petreceți timp suplimentar pentru a afla cum să rezolvați o anumită sarcină de programare cu Node.JS.
În același timp, în comparație cu PHP, există doar câțiva specialiști și câteva puncte de contact (forumuri, bloguri, platforme de întrebări și răspunsuri etc.) unde puteți obține informații despre Node și primiți răspunsuri la întrebări.
În plus, continuă să apară noi versiuni ale Node, dintre care unele nu sunt compatibile cu versiunile anterioare, ceea ce înseamnă practic că o parte din software-ul existent trebuie reprogramat de la zero.
Efortul este mai mare cu N. Dar puteți beneficia de aplicații mai rapide și de o scalabilitate mai bună.
Deci, în IT totul are avantajele și dezavantajele sale. În cele din urmă, depinde și care sunt cerințele.
Pentru proiectele de dimensiuni medii (de exemplu, soluții de întreprindere care sunt necesare de un număr ușor de gestionat) PHP poate fi soluția potrivită.
Pentru proiectele mari în care mulți utilizatori accesează aceeași soluție prin internet în același timp, N poate fi abordarea corectă.
ASP.NET, Java, Python, Android, iOS sunt alte abordări care se pot potrivi în unele cazuri.
Păstrați documentația
Una dintre cele mai mari provocări din proiectele software este mentenabilitatea și continuitatea acestora.
Adesea viitorul nu este analizat. Întrebări precum:
- Ce se întâmplă dacă alți dezvoltatori trebuie să lucreze la acest produs?
- Cât de ușor de înțeles este logica dezvoltării pentru un furnizor extern de servicii?
- Cum reacționează programarea la schimbările externe care se pot întâmpla în viitor?
La toate acestea se poate răspunde pozitiv dacă există un comentariu de cod și un document de „instrucțiuni” pentru viitorii colegi care vor lucra la el.
În acest document detaliat, care este actualizat în mod constant de către dezvoltatori, se pot face și alte schimbări în viitor cu capturi de ecran, cod de linie de programare, descrieri, o explicație a logicii din spatele unui anumit modul.
Realitatea din zilele noastre, totuși, arată încă așa că pur și simplu „programarea se desfășoară”, iar programatorii sau noii membri ai echipei care se alătură nu mai au chef să continue să lucreze la vechea soluție și apoi să propună automat o reînnoire a platformei de la zero.
Astfel, o documentare detaliată și bună a lucrărilor anterioare este crucială pentru produsele software care pot fi întreținute, scalabile și bune.
Plătirea clienților chiar de la început
De asemenea, este important ca proiectul să nu devină o groapă fără fund. Cel puțin cheltuielile ar trebui acoperite.
Aici ar trebui să găsiți clienți care efectuează plățile pentru programare.
Acest lucru are multe avantaje:
- Dacă o persoană sau o companie externă este cu adevărat pregătită să ia banii, știți deja că sunteți pe barca potrivită. Deoarece o companie externă ridică un buget doar dacă vede un avantaj pe termen lung (eficiență crescută, economii de timp în procese, reducerea costurilor etc.).
- Veți primi feedback de la început și știți dacă acestea sunt funcționalități utile pe care le dezvoltați. Acest feedback constant asigură în special că produsul software ia forma corectă și că nu vă dezvoltați pe baza ipotezelor.
Alternativa 1: investitori/investitori îngeri
Cealaltă alternativă este să lucrezi cu investitori.
De cele mai multe ori trebuie să plătești cel puțin prototipul din propriul buzunar.
Pentru a avea o versiune accesibilă, numai cele mai importante funcționalități pot fi create, iar restul pot fi funcționalități fictive care pot fi făcute clic.
Acest lucru poate fi apoi prezentat investitorilor.
Aceasta este, de asemenea, o dovadă a conceptului: dacă găsiți oameni care sunt dispuși să ia bani în mâinile lor pentru a le sprijini, atunci acesta este un prim indiciu că sunteți pe drumul cel bun.
Alternativa 2: din veniturile existente
Multe companii și servicii generează deja un surplus. Aceasta poate fi folosită și pentru finanțarea costurilor software-ului.
Alternativa 3: bani proprii
Aceasta este, fără îndoială, cea mai proastă idee pe care o poate avea cineva. Folosirea banilor economisiți pentru dezvoltarea nu este de obicei o abordare bună.
Deoarece bugetul este epuizat prea repede și veți fi, de asemenea, prea ezitant pentru a face cheltuieli mai mari simultan.
Și dacă întregul proiect nu este un succes, atunci banii au fost epuizați.
Așadar, mizează mai degrabă pe alternativele menționate la început.
Pentru a-l rotunji: un sistem de sprijin
Un sistem de sprijin completează totul. Deoarece utilizatorii doresc să își dea feedback-ul și să își rezolve problemele și întrebările cu sistemul.
În același timp, acest suport poate oferi și cunoștințe despre cum să îmbunătățim produsul software.
Și apoi există și faptul că puteți construi într-un fel de departament de vânzări pentru cei care întreabă cine nu plătesc încă clienți.
Concluzie
Principalele domenii pentru software-ul de succes sunt:
- ridicați timpul necesar
- folosiți tehnologia potrivită
- Păstrați documentația
- Găsiți clienți plătitori chiar de la început sau bazați-vă pe investitori (alternativ, finanțați din veniturile existente de la alte companii)
- Construiți într-un sistem de asistență și pre-vânzare
Ce alte puncte vedeți în dezvoltarea produselor software?
Flickr.com/ GDC/Jeremy/thethreesisters
Autorul: Sascha Thattil lucrează la YUHIRO și ajută antreprenorii și companiile să înființeze cu ușurință echipe de programare în India. YUHIRO este o companie germano-indiană care oferă companiilor IT, agențiilor și departamentelor IT dezvoltatori de software.