Produkty AGY Reservations a AGYcrm.com

Už niekoľko týždňov pracujeme na vývoji jadra nášho databázového informačného systému, ktorý slúži ako základ pre dva rôzne softwarové produkty. Prvým je modulárny rezervačný systém a druhým je systém pre riadenie vzťahu so zákazníkmi (Customer Relationship Management - CRM). Obidve riešenia implementujeme presne na mieru podľa potrieb zadávateľa. V ďaľších odstavcoch sa dočítate, ako postupujeme pri implementácii software na mieru pre našich zákazníkov.

Programovanie na mire

 

Úvodná konzultácia a zber požiadaviek

Pred vývojom samotného systému je nutné poznať všetky kľúčové požiadavky zákazníka. Na mieste je tu fráza „zákazník nevie čo chce“ a preto tu dôležitú úlohu zohráva konzultant, ktorého úlohou je zmapovať doménu v ktorej bude prebiehať použvanie systému a taktiež získať od zákazníka čo najviac požiadaviek, tak aby sa v budúcnosti predišlo nepochopeniu zadania. Výsledkom úvodnej konzultácie a zberu požiadaviek je štruktúrovaný dokument (Software requirements specification - SRS), ktorý je rozdelený na 3 hlavné časti.

  • Funkčné požiadavky
  • Požiadavky na grafiku (vzhľad)
  • Technické požiadavky 

Analýza a návrh

Vstupným dokumentom analýzy je špecifikácia požiadaviek (SRS), ktorú analytik dopĺňa o detaily vo funkcionalite a taktiež o wireframy (náčrt rozložena prvkov užívateľského rozhrania). Výsledkom analýzy a návrhu je rozšírený dokument špecifikácie požiadaviek, ktorý detailne zachytáva všetky funkcie, ktoré sa budú implementovať. Rozšírená špecifikácia požiadaviek taktiež slúži ako príloha ku zmluve o dielo, kde sú jasne zadefinované pojmy a funkcie a jedná sa o dohodu medzi zadávateľom a vývojármi.
Po odsúhlasení analýzy pokračujeme návrhom systému. Jednak sa jedná o návrh databázového modelu a taktiež o návrh aplikačnej časti v rámci jadra architektúry nášho riešenia AGYcrm.

Agilný vývoj software

Vývoj prebieha v iteráciách (iterácia je časovo ohraničená jednotka). Štandartne trvá jedna iterácia 3-4 pracovné týždne. Do vývoja je zahrnutá aj práca analytika a softwarového architekta. Inými slovami analýza a návrh sú súčasťou vývoja. Po analýze a návrhu jedného celku následne prebehne programovanie a otestovanie implementovanej časti aplikácie.
Počas vývoja prebiehajú pravidelné osobné, alebo skype meetingy vývojárov, ktoré sú založené na dennej báze. Cieľom meetingu je odkomunikovať:

  • to čo sa urobilo od posledného meetingu
  • to čo sa bude robiť do ďalšieho meetingu
  • to čo bráni pri vývoji prípadne ho spomaľuje

Po dokončení implementácie, dôkladom otestovaní a odladení chýb je produkt pripravený na nasadenie do prevádzky.

Nasadenie

Nasadenie do prevádzky je činnosť, ktorá prebehne po odprezentovaní produktu zadávateľovi (zákazníkovi) a tento produkt je ním aj odsúhlasený. Po nasadení produktu na verejný webový server, zabezpečení aplikácie a vytvorení administrátorských užívateľských účtov, môže zákazník svoj systém na mieru začať spokojne a bezpečne používať.

Údržba, zabezpečenie a technická podpora

Vzhľadom na to že našími zákazníkmi sú firmy ktorých prevádzku ovplyvňuje používanie nášho software, je nutné aby sme im zabezpečili kvalitnú službu technickej podpory. Do technickej podpory sú štandartne zahrnuté webhostingové služby, zálohovanie a kontinuálna prevádzka systému. Ďalej tu je zahrnuté priebežná kontrola zabezpečenia v podobe testov a skenovania zdrojových kódov. Súčasťou zabezpečenia je aj pravidelná aktualizácia jadra systému AGYcrm.

Ďalšou dôležitou súčasťou je aj zmluvne dohodnutý reakčný čas na opravu chýb, prípadne riešenia požiadaviek na zmenu funkcionality systému. V prípade že zákaník dopredu počíta s pravidelnými úpravami systému, môže si predplatiť kredit, ktorý obsahuje určitý počet hodín vyhradených na zmenu funkcionality a úpravu systému. Tento predplatený kredit je cenovo zvýhodnený oproti štandardnej hodinovej sadzbe.