2008. gada decembra beigÄs mani uzaicinÄja uz vienu no taksometru pakalpojumiem PermÄ ar mÄrÄ·i automatizÄt esoÅ”os biznesa procesus. KopumÄ man tika doti trÄ«s pamatuzdevumi:āØ
- IzstrÄdÄt programmatÅ«ras pakotni zvanu centram ar mobilo aplikÄciju taksometru vadÄ«tÄjiem un automatizÄt iekÅ”Äjos biznesa procesus.
- Viss bija jÄdara pÄc iespÄjas Ä«sÄkÄ laikÄ.
- Jums ir sava programmatÅ«ra, nevis jÄiegÄdÄjas no treÅ”o puÅ”u izstrÄdÄtÄjiem, kuru nÄkotnÄ, biznesam attÄ«stoties, var neatkarÄ«gi pielÄgot pastÄvÄ«gi mainÄ«gajiem tirgus apstÄkļiem.
Toreiz nesapratu, kÄ Å”is tirgus darbojas un tÄ nianses, bet tomÄr divas lietas man bija paÅ”saprotamas. Zvanu centrs ir jÄveido, pamatojoties uz atvÄrtÄ koda zvaigznÄ«tes programmatÅ«ru PBX. InformÄcijas apmaiÅa starp zvanu centru un mobilo aplikÄciju bÅ«tÄ«bÄ ir klienta-servera risinÄjums ar visiem atbilstoÅ”ajiem modeļiem nÄkotnes projekta arhitektÅ«ras projektÄÅ”anai un tÄ programmÄÅ”anai.
PÄc iepriekÅ”Äja projekta uzdevumu, termiÅu un izmaksu izvÄrtÄÅ”anas un, saskaÅojot visus nepiecieÅ”amos jautÄjumus ar taksometru servisa Ä«paÅ”nieku, darbu sÄku 2009. gada janvÄrÄ«.
Skatoties uz priekÅ”u, teikÅ”u uzreiz. RezultÄtÄ tika izveidota mÄrogojama platforma, kas darbojas uz 60+ serveriem 12 pilsÄtÄs KrievijÄ un 2 pilsÄtÄs KazahstÄnÄ. UzÅÄmuma kopÄjÄ peļÅa bija 100+ miljoni rubļu/mÄn.
Pirmais posms. Prototips
TÄ kÄ tobrÄ«d man nebija praktiskas pieredzes IP telefonijÄ un ar zvaigznÄ«ti zinÄju tikai virspusÄji āmÄjasā eksperimentu ietvaros, tika nolemts sÄkt strÄdÄt ar mobilÄs aplikÄcijas un servera daļas izstrÄdi. Vienlaikus novÄrÅ”ot robus zinÄÅ”anÄs par citiem uzdevumiem.
Ja ar mobilo aplikÄciju viss bija vairÄk vai mazÄk skaidrs. Tolaik to varÄja rakstÄ«t tikai java vienkÄrÅ”iem spiedpogu tÄlruÅiem, bet mobilo klientu apkalpojoÅ”Ä servera rakstÄ«Å”ana bija nedaudz sarežģītÄka:
- KÄda servera OS tiks izmantota;
- Balstoties uz loÄ£iku, ka uzdevumam tiek izvÄlÄta programmÄÅ”anas valoda, nevis otrÄdi, un Åemot vÄrÄ 1. punktu, kura programmÄÅ”anas valoda bÅ«s optimÄla problÄmu risinÄÅ”anai;
- ProjektÄÅ”anas laikÄ bija jÄÅem vÄrÄ nÄkotnÄ paredzamÄs augstÄs slodzes uz pakalpojumu;
- Kura datu bÄze var garantÄt kļūdu toleranci pie lielÄm slodzÄm un kÄ uzturÄt Ätru datu bÄzes reakcijas laiku, palielinoties pieprasÄ«jumu skaitam tai;
- NoteicoÅ”ais faktors bija izstrÄdes Ätrums un spÄja Ätri mÄrogot kodu
- AprÄ«kojuma izmaksas un tÄs uzturÄÅ”ana nÄkotnÄ (viens no klienta nosacÄ«jumiem ir, ka serveriem jÄatrodas viÅa pÄrziÅÄ esoÅ”ajÄ teritorijÄ);
- IzstrÄdÄtÄju izmaksas, kuri bÅ«s nepiecieÅ”ami nÄkamajos platformas darba posmos;
KÄ arÄ« daudzi citi ar projektÄÅ”anu un izstrÄdi saistÄ«ti jautÄjumi.
Pirms uzsÄkt darbu pie projekta, uzÅÄmuma Ä«paÅ”niekam piedÄvÄju Å”Ädu stratÄÄ£isku lÄmumu: tÄ kÄ projekts ir diezgan sarežģīts, tÄ Ä«stenoÅ”ana prasÄ«s jÅ«tami daudz laika, tÄpÄc vispirms izveidoju MVP versiju, kas neaizÅems daudz laika un naudu, bet kas ļaus viÅa uzÅÄmumam iegÅ«t konkurences priekÅ”rocÄ«bas tirgÅ« jau āÅ”eit un tagadā, kÄ arÄ« paplaÅ”inÄs savas iespÄjas kÄ taksometru serviss. SavukÄrt man Å”Äds starprisinÄjums dos laiku pÄrdomÄtÄk izstrÄdÄt gala risinÄjumu un laiku tehniskiem eksperimentiem. TajÄ paÅ”Ä laikÄ ieviestais programmatÅ«ras risinÄjums netiks garantÄts pareizi izstrÄdÄts un nÄkotnÄ var tikt radikÄli pÄrveidots vai nomainÄ«ts, taÄu tas noteikti izpildÄ«s minimÄlo nepiecieÅ”amo funkcionalitÄti, lai āatdalÄ«tos no konkurentiemā. Taksometra dibinÄtÄjam Ŕī ideja patika, tÄpÄc beigÄs viÅi to izdarÄ«ja.
PirmÄs divas nedÄļas pavadÄ«ju, pÄtot biznesa procesus uzÅÄmumÄ un pÄtot taksometra darbu no iekÅ”puses. Veikta biznesa analÄ«ze, kur, ko un kÄ var automatizÄt un vai tas vispÄr ir nepiecieÅ”ams. Ar kÄdÄm grÅ«tÄ«bÄm un problÄmÄm saskaras uzÅÄmuma darbinieki? KÄ tie tiek atrisinÄti. KÄ tiek organizÄta darba diena uzÅÄmuma darbiniekiem. KÄdus rÄ«kus viÅi izmanto?
LÄ«dz treÅ”Äs nedÄļas beigÄm, uzsÄkot darbu un izpÄtot sev interesÄjoÅ”os jautÄjumus internetÄ, Åemot vÄrÄ uzÅÄmuma Ä«paÅ”nieka vÄlmes, kÄ arÄ« manas tÄ brīža zinÄÅ”anas un iespÄjas, tika nolemts pielietot Å”Ädu steku :
- Datu bÄzes serveris: MsSQL (bezmaksas versija ar datu bÄzes failu ierobežojumu lÄ«dz 2GB);
- Mobilo klientu apkalpojoÅ”Ä servera izstrÄde Delphi zem Windows, jo jau bija Windows serveris, uz kura tiks uzstÄdÄ«ta datu bÄze, kÄ arÄ« pati izstrÄdes vide veicina strauju attÄ«stÄ«bu;
- Å emot vÄrÄ zemo interneta Ätrumu mobilajos tÄlruÅos 2009. gadÄ, apmaiÅas protokolam starp klientu un serveri ir jÄbÅ«t binÄram. Tas samazinÄs pÄrsÅ«tÄ«to datu pakeÅ”u lielumu un rezultÄtÄ palielinÄs klientu darba ar serveri stabilitÄti;
VÄl divas nedÄļas tika pavadÄ«tas, izstrÄdÄjot protokolu un datubÄzi. RezultÄtÄ tika izveidotas 12 paketes, kas nodroÅ”ina visu nepiecieÅ”amo datu apmaiÅu starp mobilo klientu un serveri un aptuveni 20 tabulas datu bÄzÄ. Es veicu Å”o darba daļu, Åemot vÄrÄ nÄkotni, pat ja man pilnÄ«bÄ jÄmaina tehnoloÄ£iju kaudze, pakotÅu un datu bÄzes struktÅ«rai vajadzÄtu palikt nemainÄ«gai.
PÄc sagatavoÅ”anÄs darbiem bija iespÄja uzsÄkt praktisku idejas realizÄciju. Lai nedaudz paÄtrinÄtu procesu un atbrÄ«votu laiku citiem darbiem, izveidoju mobilÄs aplikÄcijas melnrakstu, ieskicÄju lietotÄja interfeisu, daļÄji UX un iesaistÄ«ju projektÄ pazÄ«stamu java programmÄtÄju. Un viÅÅ” koncentrÄjÄs uz servera puses izstrÄdi, dizainu un testÄÅ”anu.
LÄ«dz otrÄ darba mÄneÅ”a beigÄm pie MVP bija gatava pirmÄ servera un klienta prototipa versija.
Un treÅ”Ä mÄneÅ”a beigÄs pÄc sintÄtiskÄm pÄrbaudÄm un lauka testiem, kļūdu labojumiem, nelieliem protokola un datu bÄzes uzlabojumiem lietojumprogramma bija gatava ražoÅ”anai. Kas arÄ« tika darÄ«ts.
No Ŕī brīža sÄkas projekta interesantÄkÄ un grÅ«tÄkÄ daļa.
VadÄ«tÄju pÄrejas laikÄ uz jauno programmatÅ«ru tika organizÄta diennakts dežūra. TÄ kÄ pa dienu visi nevarÄja ierasties darba laikÄ. TurklÄt administratÄ«vi, pÄc uzÅÄmuma dibinÄtÄja stingras gribas lÄmuma, tas tika organizÄts tÄ, ka pieteikÅ”anÄs vÄrdu/paroli ievadÄ«ja taksometra dienesta vadÄ«tÄjs un tie netika paziÅoti vadÄ«tÄjam. No manas puses bija nepiecieÅ”ams tehniskais atbalsts lietotÄjiem kļūmju un neparedzÄtu situÄciju gadÄ«jumos.
MÄrfija likums mums saka: "Viss, kas var noiet greizi, noies greizi." Un tieÅ”i tÄ viss nogÄja greizi... Viena lieta, kad es un vairÄki taksometru vadÄ«tÄji pÄrbaudÄ«jÄm lietojumprogrammu vairÄkiem desmitiem testa pasÅ«tÄ«jumu. Un tÄ ir pavisam cita lieta, ja uz lÄ«nijas vairÄk nekÄ 500 autovadÄ«tÄju strÄdÄ reÄllaikÄ pÄc reÄliem cilvÄku pasÅ«tÄ«jumiem.
MobilÄs aplikÄcijas arhitektÅ«ra bija vienkÄrÅ”a un tajÄ bija ievÄrojami mazÄk kļūdu nekÄ serverÄ«. TÄpÄc galvenÄ darba uzmanÄ«ba tika pievÄrsta servera pusei. KritiskÄkÄ kļūme aplikÄcijÄ bija atvienoÅ”anÄs no servera problÄma, kad telefonÄ pazÅ«d internets un sesija atkal tika atjaunota. Un internets pazuda diezgan bieži. PirmkÄrt, tajos gados pats telefons internets nebija pietiekami stabils. OtrkÄrt, bija daudz aklo zonu, kur internets vienkÄrÅ”i nedarbojÄs. MÄs identificÄjÄm Å”o problÄmu gandrÄ«z nekavÄjoties un XNUMX stundu laikÄ novÄrsÄm un atjauninÄjÄm visas iepriekÅ” instalÄtÄs lietojumprogrammas.
Serverim galvenokÄrt bija kļūdas pasÅ«tÄ«jumu sadales algoritmÄ un nepareiza dažu klientu pieprasÄ«jumu apstrÄde. KonstatÄjot kļūmes, es laboju un atjauninÄju serveri.
PatiesÄ«bÄ Å”ajÄ posmÄ nebija tik daudz tehnisku problÄmu. Visa grÅ«tÄ«ba bija tÄ, ka gandrÄ«z mÄnesi dežurÄju birojÄ, tikai reizÄm braucu mÄjÄs. DroÅ”i vien 4-5 reizes. Un es gulÄju lÄkmÄs, jo tajÄ laikÄ pie projekta strÄdÄju viens un neviens, izÅemot mani, neko nevarÄja salabot.
MÄnesi, tas nenozÄ«mÄ, ka visu mÄnesi viss nepÄrtraukti traucÄs un es bez apstÄjas kaut ko kodÄju. MÄs tikko tÄ nolÄmÄm. Galu galÄ bizness jau darbojÄs un guva peļÅu. LabÄk ir droÅ”i spÄlÄt un atpÅ«sties vÄlÄk, nekÄ zaudÄt klientus un peļÅu tagad. MÄs visi to ļoti labi sapratÄm, tÄpÄc visa komanda kolektÄ«vi veltÄ«ja maksimÄlu uzmanÄ«bu un laiku jaunas programmatÅ«ras ievieÅ”anai taksometru sistÄmÄ. Un Åemot vÄrÄ paÅ”reizÄjo pasÅ«tÄ«jumu plÅ«smu, mÄneÅ”a laikÄ noteikti novÄrsÄ«sim visus trÅ«kumus. Nu, slÄptÄs kļūdas, kas var palikt, noteikti neatstÄs kritiskas sekas biznesa procesÄ, un, ja nepiecieÅ”ams, tÄs var regulÄri labot.
Å eit jÄatzÄ«mÄ nenovÄrtÄjamÄ palÄ«dzÄ«ba no taksometru pakalpojumu direktoriem un meistariem, kuri, maksimÄli izprotot situÄcijas sarežģītÄ«bu, pÄrejot uz jaunu programmatÅ«ru, strÄdÄja ar Å”oferiem visu diennakti. PatiesÄ«bÄ, pabeidzot jaunu programmu instalÄÅ”anu tÄlruÅos, mÄs nezaudÄjÄm nevienu draiveri. Un tie kritiski nepalielinÄja klientu neizÅemÅ”anas procentuÄlo daļu, kas drÄ«z vien tika atgriezta normÄlÄ lÄ«menÄ«.
TÄdÄjÄdi tika pabeigts projekta pirmais darba posms. Un jÄatzÄ«mÄ, ka rezultÄts nebija ilgi jÄgaida. AutomatizÄjot pasÅ«tÄ«jumu sadali vadÄ«tÄjiem bez cilvÄka iejaukÅ”anÄs, par lielumu tika samazinÄts klienta vidÄjais taksometra gaidÄ«Å”anas laiks, kas likumsakarÄ«gi palielinÄja klientu lojalitÄti pakalpojumam. Tas izraisÄ«ja pasÅ«tÄ«jumu skaita pieaugumu. PÄc tam palielinÄjÄs taksometru vadÄ«tÄju skaits. LÄ«dz ar to pieaudzis arÄ« veiksmÄ«gi izpildÄ«to pasÅ«tÄ«jumu skaits. Un tÄ rezultÄtÄ uzÅÄmuma peļÅa pieauga. Protams, Å”eit es esmu mazliet priekÅ”Ä, jo viss Å”is process nenotika uzreiz. Teikt, ka vadÄ«ba bija apmierinÄta, nozÄ«mÄ neteikt neko. Man tika dota neierobežota pieeja turpmÄkam projekta finansÄjumam.
TurpinÄt ..
Avots: www.habr.com