Úspešný vývoj softvérových produktov Niekoľko tipov

Úspešný vývoj softvérových produktov: niekoľko rád

tipov

Trh so softvérovými službami, ako je implementácia, zákazkové programovanie a údržba, sa čoraz viac posúva do oblasti softvérových produktov. Takže riešenia, ktoré stačí nainštalovať a pre ktoré nie je potrebný žiadny zásadný vývoj.

Najlepším príkladom sú riešenia typu softvér ako služba, ktoré si môžete predplatiť každý mesiac.

Výhody takýchto riešení sú zrejmé, nižšie náklady na údržbu, pretože aktualizácie sa importujú automaticky, a tiež menej chýb, pretože tieto chyby opravuje poskytovateľ. A samozrejme menšie výdavky na drahých programátorov.

Ako je možné vyvinúť taký softvér pre budúcnosť, ktorý nahradí predchádzajúce IT služby? Niekoľko rád k tomu v príspevku.

Neponáhľajte sa

Väčšina projektov sa, bohužiaľ, začína vyhlásením „Toto je veľmi rozsiahly projekt. Ale daj si na čas. Hotovú verziu nepotrebujeme dva mesiace “.

Realita je však taká, že najmä pri komplexných softvérových riešeniach potrebujeme niekoľko dní a týždňov, aby sme určili požiadavky.

Drôtové rámy a tvorba návrhov si potom vyžadujú určité ďalšie úsilie.

Existuje tiež konštanta tam a späť. Či už medzi zákazníkom a poskytovateľom služieb, alebo ak si ho máte naprogramovať interne, tak medzi vedením a vývojármi. Požiadavky musia byť porovnané, zohľadnené požiadavky na zmeny a odstránené chyby (chyby v systéme).

Ak chcete mať prvú beta verziu softvérového produktu, trvá to vždy minimálne 9 až 12 mesiacov.

Po spustení naživo zvyčajne dostanete prvú spätnú väzbu, kde si všimnete „Och, prehliadli sme túto dôležitú funkčnosť“ alebo „Och, zatiaľ sme ju v tejto podobe netestovali“. Na tieto menšie a väčšie funkcie a na testovanie potom potrebujete 6 až 8 mesiacov.

Na vytvorenie produktu teda potrebujete rýchlo jeden až dva roky.

Špeciálne však je, že budete mať riešenie, ktoré poskytne koncovému zákazníkovi skutočnú pridanú hodnotu. A o tom je celé toto cvičenie. Doručenie IT riešenia, ktoré môže poskytnúť zákazníkovi pridanú hodnotu a jeho vývoj trvá iba dva mesiace, je nereálne.

Silný technologický základ/správna voľba

Dôležitý je aj technologický prístup.

Niektoré technológie sú už vyspelé a po naprogramovaní ich môžete používať dlho bez zmien a aktualizácií.

Jedným z príkladov je PHP. Tento IT systém existuje od roku 1995 a odvtedy sa neustále zdokonaľuje.

Testované a široko používané sú aj rámce založené na PHP. Programátori sú oboznámení s problémami, výzvami a spôsobmi opravy chýb.

S inými prístupmi to vyzerá inak. Napríklad, ak programujete s Node.JS (v článku tiež skrátene ako N), môžete predpokladať, že budete musieť venovať viac času vymýšľaniu toho, ako vyriešiť určitú programovú úlohu s Node.JS.

Zároveň je v porovnaní s PHP iba ​​niekoľko špecialistov a niekoľko kontaktných miest (fóra, blogy, platformy otázok a odpovedí atď.), Kde môžete získať informácie o uzle a získať zodpovedané otázky.

Okrem toho v Node stále vychádzajú nové verzie, z ktorých niektoré nie sú spätne kompatibilné, čo v podstate znamená, že niekedy musíte úplne od začiatku preprogramovať existujúci softvér.

Úsilie je väčšie s N. Môžete však ťažiť z rýchlejších aplikácií a lepšej škálovateľnosti.

Takže v IT má všetko svoje výhody a nevýhody. Nakoniec záleží aj na tom, aké sú požiadavky.

Pre stredne veľké projekty (napr. Podnikové riešenia, ktoré potrebuje zvládnuteľný počet používateľov) môže byť PHP tým správnym riešením.

Pre veľké projekty, pri ktorých veľa používateľov súčasne pristupuje k rovnakému riešeniu cez internet, môže byť N správnym prístupom.

ASP.NET, Java, Python, Android, iOS sú ďalšie prístupy, ktoré sa v niektorých prípadoch môžu hodiť.

Uschovajte dokumentáciu

Jednou z najväčších výziev v softvérových projektoch je ich udržiavateľnosť a kontinuita.

Budúcnosť sa často nepozerá. Otázky ako:

  • Čo ak na tomto produkte musia pracovať ďalší vývojári?
  • Aká pochopiteľná je logika vývoja pre externého poskytovateľa služieb?
  • Ako programovanie reaguje na vonkajšie zmeny, ktoré sa môžu stať v budúcnosti?

Na toto všetko možno pozitívne odpovedať, ak existuje kódový komentár a „inštruktážny“ dokument pre budúcich kolegov, ktorí na tom budú pracovať.

V tomto podrobnom dokumente, ktorý vývojári neustále aktualizujú, je možné v budúcnosti vykonať ďalšie zmeny pomocou snímok obrazovky, kódu programovacieho riadku, popisov, vysvetlenia logiky určitého modulu.

Realita v dnešnej dobe však stále vyzerá tak, že jednoducho „programovanie pokračuje“ a programátori alebo noví členovia tímu, ktorí sa pridajú, už nemajú náladu pokračovať v práci na starom riešení a potom automaticky od nuly navrhujú obnovu platformy.

Preto je pre udržiavateľné, škálovateľné a dobré softvérové ​​produkty rozhodujúca podrobná a dobrá dokumentácia predchádzajúcej práce.

Platenie zákazníkom hneď od začiatku

Je tiež dôležité, aby sa projekt nestal bezodnou jamou. Mali by byť pokryté aspoň výdavky.

Tu by ste mali nájsť zákazníkov, ktorí platia za programovanie.

To má veľa výhod:

  • Ak je externá osoba alebo spoločnosť skutočne pripravená vziať si peniaze, už viete, že ste na správnej lodi. Pretože externá spoločnosť zvyšuje rozpočet, iba ak vidí aspoň v dlhodobom horizonte výhodu (vyššia efektivita, úspora času v procesoch, zníženie nákladov atď.).
  • Dostanete spätnú väzbu hneď od začiatku a budete vedieť, či ide o užitočné funkcie, ktoré vyvíjate. Táto neustála spätná väzba predovšetkým zaisťuje, aby softvérový produkt mal správnu formu a aby ste ho nevyvíjali na základe predpokladov.

Alternatíva 1: anjelskí investori/investori

Druhou alternatívou je spolupráca s investormi.

Väčšinou musíte aspoň za prototyp zaplatiť z vlastného vrecka.

Aby sme mali dostupnú verziu, je možné vytvoriť iba najdôležitejšiu funkčnosť a zvyšok môžu tvoriť klikacie atrapy.

Toto potom môžete prezentovať investorom.

Toto je tiež dôkaz konceptu: Ak nájdete ľudí, ktorí sú ochotní vziať do svojich rúk peniaze, aby ich podporili, potom je to prvý údaj o tom, že ste na dobrej ceste.

Alternatíva 2: z existujúcich príjmov

Mnoho spoločností a služieb už teraz vytvára prebytok. To možno tiež použiť na financovanie nákladov na softvér.

Alternatíva 3: vlastné peniaze

Toto je pravdepodobne najhorší nápad, aký môže niekto mať. Využitie nasporených peňazí na vývoj zvyčajne nie je dobrý prístup.

Pretože rozpočet je vyčerpaný príliš rýchlo a budete tiež príliš váhať, aby ste naraz dosiahli väčšie výdavky.

A ak celý projekt nebude úspešný, potom sa peniaze minuli.

Stavte teda radšej na alternatívy spomenuté na začiatku.

Na záver: podporný systém

Celú vec završuje systém podpory. Pretože používatelia chcú poskytnúť spätnú väzbu a nechať vyriešiť svoje problémy a otázky systémom.

Táto podpora vám zároveň môže poskytnúť vedomosti o tom, ako vylepšiť softvérový produkt.

A potom je tu ešte skutočnosť, že môžete vytvoriť akési obchodné oddelenie pre tých, ktorí sa pýtajú a zatiaľ neplatia zákazníkom.

Záver

Hlavné oblasti úspešného softvéru sú:

  1. zvýšiť potrebný čas
  2. používať správnu technológiu
  3. Uschovajte dokumentáciu
  4. Nájdite platiacich zákazníkov hneď od začiatku alebo sa spoľahnite na investorov (alternatívne financovanie z existujúcich výnosov z iných firiem)
  5. Integrovaný systém podpory a predpredaja

Aké ďalšie body vidíte pri vývoji softvérových produktov?

Flickr.com/ GDC/Jeremy/threesisters

Autor: Sascha Thattil pracuje v spoločnosti YUHIRO a pomáha podnikateľom a spoločnostiam pri jednoduchom vytváraní programovacích tímov v Indii. YUHIRO je nemecko-indická spoločnosť, ktorá poskytuje IT firmám, agentúram a IT oddeleniam vývojárov softvéru.