Giunsa sa usa ka gamay nga programa ang usa ka gamay nga opisina nga usa ka pederal nga kompanya nga adunay kita nga 100+ milyon nga rubles / bulan

Sa katapusan sa Disyembre 2008, ako gidapit sa usa sa mga serbisyo sa taxi sa Perm uban sa tumong sa automating sa kasamtangan nga mga proseso sa negosyo. Sa kinatibuk-an, gihatagan ako ug tulo ka sukaranang buluhaton:


  • Paghimo ug software package para sa call center nga adunay mobile application para sa mga taxi driver ug automate ang internal nga proseso sa negosyo.
  • Ang tanan kinahanglang buhaton sa pinakamubo nga panahon.
  • Pagbaton sa imong kaugalingon nga software, imbes nga paliton gikan sa mga developer sa ikatulo nga partido, nga sa umaabot, samtang ang negosyo nag-uswag, mahimo nga independente nga ma-scale sa kanunay nga pagbag-o sa kahimtang sa merkado.

Niadtong panahona, wala ako makasabut kung giunsa kini nga merkado ug ang mga nuances niini, apan bisan pa niana, duha ka butang ang klaro kanako. Ang call center kinahanglang matukod base sa open source nga asterisk software nga PBX. Ang pagbinayloay sa kasayuran tali sa call center ug sa mobile application usa ka solusyon sa kliyente-server nga adunay tanan nga katugbang nga mga sumbanan alang sa pagdesinyo sa arkitektura sa umaabot nga proyekto ug ang pagprograma niini.

Pagkahuman sa usa ka pasiuna nga pagsusi sa mga buluhaton, mga tagal ug gasto alang sa proyekto, ug pagkahuman nagkauyon sa tanan nga kinahanglan nga mga isyu sa tag-iya sa serbisyo sa taxi, nagsugod ako sa pagtrabaho kaniadtong Enero 2009.

Pagtan-aw sa unahan, isulti ko dayon. Ang resulta mao ang usa ka scalable nga plataporma nga nagdagan sa 60+ nga mga server sa 12 ka siyudad sa Russia ug 2 sa Kazakhstan. Ang kinatibuk-ang ganansya sa kompanya 100+ milyon nga rubles / bulan.

Unang yugto. Prototype

Tungod kay niadtong panahona wala akoy praktikal nga kasinatian sa IP telephony, ug taphaw lang ako nga pamilyar sa asterisk isip bahin sa "balay" nga mga eksperimento, nakahukom nga magsugod sa pagtrabaho uban sa pagpalambo sa usa ka mobile application ug server nga bahin. Sa samang higayon, pagsira sa mga kal-ang sa kahibalo sa ubang mga buluhaton.

Kung sa mobile application ang tanan mas daghan o dili kaayo klaro. Nianang panahona, mahimo ra kining isulat sa java alang sa yano nga mga push-button nga mga telepono, apan ang pagsulat sa usa ka server nga nagserbisyo sa mga kliyente sa mobile medyo labi ka komplikado:

  • Unsang server OS ang gamiton;
  • Pinasukad sa lohika nga ang usa ka programming language gipili alang sa usa ka buluhaton, ug dili vice versa, ug gikonsiderar ang punto 1, kung unsang sinultian sa programming ang labing maayo alang sa pagsulbad sa mga problema;
  • Atol sa disenyo, gikinahanglan nga tagdon ang gipaabot nga umaabot nga taas nga karga sa serbisyo;
  • Unsa nga database ang makagarantiya sa fault tolerance ubos sa taas nga mga karga ug unsaon pagpadayon sa paspas nga oras sa pagtubag sa database samtang ang gidaghanon sa mga hangyo niini nagdugang;
  • Ang hinungdan nga hinungdan mao ang katulin sa pag-uswag ug ang abilidad sa dali nga pagsukod sa code
  • Ang gasto sa mga ekipo ug ang pagmentinar niini sa umaabot (usa sa mga kondisyon sa kustomer mao nga ang mga server kinahanglan nga mahimutang sa teritoryo nga iyang kontrolon);
  • Gasto sa mga developer nga gikinahanglan sa sunod nga mga yugto sa trabaho sa plataporma;

Ingon man usab sa daghang uban pang mga isyu nga may kalabotan sa disenyo ug pag-uswag.

Sa wala pa magsugod ang pagtrabaho sa proyekto, gisugyot nako ang mosunud nga estratehikong desisyon sa tag-iya sa negosyo: tungod kay ang proyekto medyo komplikado, ang pagpatuman niini magkinahanglan usa ka mamatikdan nga gidugayon sa oras, mao nga maghimo una ako usa ka bersyon sa MVP, nga dili magkinahanglan daghang oras ug kwarta, apan nga magtugot sa iyang kompanya nga makaangkon og competitive advantage sa merkado nga "dinhi ug karon", ug mopalapad usab sa mga kapabilidad niini isip serbisyo sa taxi. Sa baylo, ang ingon nga intermediate nga solusyon maghatag kanako og panahon sa mas mahunahunaon nga pagdesinyo sa katapusang solusyon ug panahon alang sa teknikal nga mga eksperimento. Sa samang higayon, ang gipatuman nga software nga solusyon dili garantiya nga husto nga pagkadisenyo ug mahimong radikal nga pagdesinyo pag-usab o pulihan sa umaabot, apan kini siguradong magbuhat sa minimum nga gikinahanglan nga gamit aron "makapalayo sa mga kakompetensya." Ang nagtukod sa taxi nakagusto sa ideya, mao nga sa katapusan ila kining gibuhat.

Gigugol nako ang unang duha ka semana sa pagtuon sa mga proseso sa negosyo sa kompanya, ug sa pagtuon sa trabaho sa usa ka taxi gikan sa sulod. Naghimo usa ka pagtuki sa negosyo kung diin, unsa ug kung giunsa mahimo nga awtomatiko ug kung kinahanglan ba kini. Unsang mga kalisdanan ug problema ang giatubang sa mga empleyado sa kompanya? Giunsa kini pagsulbad. Giunsa pag-organisar ang adlaw sa pagtrabaho alang sa mga empleyado sa kompanya. Unsa nga mga himan ang ilang gigamit?

Sa katapusan sa ikatulo nga semana, human sa pagsugod sa trabaho ug sa pagtuon sa mga isyu sa interes sa Internet, nga gikonsiderar ang mga pangandoy sa tag-iya sa negosyo, ingon man ang akong kaugalingon nga kahibalo ug mga kapabilidad nianang panahona, nakahukom nga gamiton ang mosunod nga stack :

  • Database server: MsSQL (libre nga bersyon nga adunay limitasyon sa file sa database hangtod sa 2GB);
  • Pag-uswag sa usa ka server nga nagserbisyo sa mga mobile nga kliyente sa Delphi sa ilawom sa Windows, tungod kay adunay na usa ka Windows server diin ma-install ang database, ingon man ang palibot sa pag-uswag mismo nagpadali sa paspas nga pag-uswag;
  • Gikonsiderar ang mubu nga katulin sa Internet sa mga mobile phone kaniadtong 2009, kinahanglan nga binary ang exchange protocol tali sa kliyente ug server. Kini makapakunhod sa gidak-on sa gipadala nga mga pakete sa datos ug, isip resulta, makadugang sa kalig-on sa trabaho sa mga kliyente sa server;

Laing duha ka semana ang gigugol sa pagdesinyo sa protocol ug database. Ang resulta mao ang 12 ka pakete nga nagsiguro sa pagbinayloay sa tanang gikinahanglan nga datos tali sa mobile client ug server ug mga 20 ka lamesa sa database. Gibuhat nako kini nga bahin sa trabaho nga gikonsiderar ang umaabot, bisan kung kinahanglan nako nga bag-ohon ang stack sa teknolohiya sa hingpit, ang istruktura sa mga pakete ug database kinahanglan magpabilin nga wala mausab.

Human sa buluhaton sa pagpangandam, posible nga sugdan ang praktikal nga pagpatuman sa ideya. Aron mapadali ang proseso sa gamay ug libre nga oras alang sa ubang mga buluhaton, naghimo ako usa ka draft nga bersyon sa mobile application, nag-sketch sa UI, bahin sa UX, ug nag-apil sa usa ka pamilyar nga java programmer sa proyekto. Ug siya naka-focus sa server-side development, disenyo ug pagsulay.

Sa pagtapos sa ikaduhang bulan sa pagtrabaho sa MVP, ang unang bersyon sa server ug kliyente nga prototype andam na.

Ug sa katapusan sa ikatulo nga bulan, pagkahuman sa sintetikong mga pagsulay ug mga pagsulay sa uma, pag-ayo sa bug, menor de edad nga pagpaayo sa protocol ug database, ang aplikasyon andam na alang sa produksiyon. Nga mao ang gibuhat.

Gikan niini nga higayon nagsugod ang labing makapaikag ug labing lisud nga bahin sa proyekto.

Atol sa pagbalhin sa mga drayber ngadto sa bag-ong software, XNUMX-oras nga katungdanan ang giorganisar. Tungod kay dili tanan makaadto sa oras sa pagtrabaho sa adlaw. Dugang pa, sa administratibo, pinaagi sa usa ka lig-on nga desisyon sa founder sa kompanya, kini giorganisar sa paagi nga ang login / password gisulod sa manager sa serbisyo sa taxi ug wala sila gipahibalo sa drayber. Sa akong bahin, gikinahanglan ang teknikal nga suporta alang sa mga tiggamit sa kaso sa mga kapakyasan ug wala damhang mga sitwasyon.

Ang Balaod ni Murphy nagsulti kanato: "Bisan unsa nga mahimong sayup, mahimong sayup." Ug mao gyud kana kung giunsa ang mga butang nga sayup ... Usa kini ka butang sa dihang gisulayan nako ug daghang mga drayber sa taxi ang aplikasyon sa daghang dosena nga mga mando sa pagsulay. Ug kini usa ka hingpit nga lahi nga butang kung ang 500+ nga mga drayber sa linya nagtrabaho sa tinuud nga oras sa tinuud nga mga order gikan sa tinuud nga mga tawo.

Ang arkitektura sa mobile application yano ug adunay mas gamay nga mga bug niini kaysa sa server. Busa, ang nag-unang tumong sa trabaho mao ang bahin sa server. Ang labing kritikal nga glitch sa aplikasyon mao ang problema sa pagkadiskonekta gikan sa server kung nawala ang Internet sa telepono ug ang sesyon gipahiuli pag-usab. Ug ang Internet nawala kanunay. Una, niadtong mga tuiga ang Internet sa telepono mismo dili igo nga lig-on. Ikaduha, adunay daghang mga blind spot diin ang Internet wala gyud molihok. Nahibal-an namon kini nga problema hapit dayon ug sa sulod sa XNUMX oras naayo ug gi-update ang tanan nga na-install nga aplikasyon.

Ang server nag-una nga adunay mga sayup sa algorithm sa pag-apod-apod sa order ug sayup nga pagproseso sa pipila nga mga hangyo gikan sa mga kliyente. Sa pag-ila sa mga glitches, akong gitul-id ug gi-update ang server.

Sa tinuud, wala’y daghang mga teknikal nga problema sa kini nga yugto. Ang bug-os nga kalisod kay halos usa ka buwan akong nag-duty sa opisina, panagsa ra mopauli. Tingali 4-5 ka beses. Ug ako natulog sa mga angay ug nagsugod, tungod kay niadtong panahona ako nagtrabaho sa proyekto nga nag-inusara ug walay bisan kinsa gawas kanako ang makaayo sa bisan unsa.

Usa ka bulan, wala kini magpasabut nga ang tanan kanunay nga nag-glitching sa usa ka bulan ug nag-coding ako sa usa ka butang nga wala’y hunong. Nakadesisyon na lang mi. Tuod man, nag-operate na ang negosyo ug nakaganansya. Mas maayo nga magdula kini nga luwas ug mopahulay sa ulahi kaysa mawad-an mga kustomer ug kita karon. Kitang tanan nakasabut niini pag-ayo, mao nga ang tibuok team sa kolektibong paggahin sa labing taas nga pagtagad ug panahon sa pagpaila sa bag-ong software ngadto sa sistema sa taxi. Ug sa pagkonsiderar sa kasamtangan nga trapiko sa mga order, atong wagtangon ang tanan nga mga kakulangan sulod sa usa ka bulan. Aw, ang mga tinago nga mga bug nga mahimong magpabilin siguradong wala’y kritikal nga mga sangputanan sa proseso sa negosyo ug, kung kinahanglan, mahimo silang matul-id sa naandan nga sukaranan.

Dinhi gikinahanglan nga timan-an ang bililhon nga tabang gikan sa mga direktor ug kapatas sa mga serbisyo sa taxi, kinsa, uban ang labing taas nga pagsabot sa pagkakomplikado sa sitwasyon sa pagbalhin sa mga drayber ngadto sa bag-ong software, nagtrabaho uban sa mga drayber sa tibuok nga orasan. Sa tinuud, pagkahuman nakompleto ang pag-install sa mga bag-ong programa sa mga telepono, wala kami nawala usa ka drayber. Ug wala nila kritikal nga gipataas ang porsyento sa dili pagtangtang sa mga kliyente, nga sa wala madugay gibalik sa normal nga lebel.

Nakompleto niini ang unang yugto sa trabaho sa proyekto. Ug kinahanglan nga matikdan nga ang resulta dili pa dugay nga moabut. Pinaagi sa pag-automate sa pag-apod-apod sa mga order sa mga drayber nga wala’y interbensyon sa tawo, ang kasagaran nga oras sa paghulat alang sa usa ka taxi sa usa ka kliyente gikunhuran sa usa ka han-ay sa kadako, nga natural nga nagdugang ang pagkamaunongon sa kostumer sa serbisyo. Kini misangpot sa pagdugang sa gidaghanon sa mga order. Nunot niini, nidaghan ang mga taxi driver. Ingon usa ka sangputanan, ang gidaghanon sa mga malampuson nga nahuman nga mga order misaka usab. Ug ingon nga resulta, ang kita sa kompanya misaka. Siyempre, ania ako nag-una og gamay sa akong kaugalingon, tungod kay kini nga tibuuk nga proseso wala mahitabo dayon. Ang pag-ingon nga nalipay ang tagdumala mao nga wala’y gisulti. Gihatagan ko og walay kinutuban nga pag-access sa dugang nga pagpondo sa proyekto.

Ipadayon..

Source: www.habr.com

Idugang sa usa ka comment