Sut y gwnaeth rhaglen fach droi swyddfa fach yn gwmni ffederal gydag elw o 100+ miliwn rubles / mis

Ddiwedd Rhagfyr 2008, cefais wahoddiad i un o'r gwasanaethau tacsi yn Perm gyda'r nod o awtomeiddio prosesau busnes presennol. Yn gyffredinol, cefais dair tasg sylfaenol:


  • Datblygu pecyn meddalwedd ar gyfer canolfan alwadau gyda chymhwysiad symudol ar gyfer gyrwyr tacsis ac awtomeiddio prosesau busnes mewnol.
  • Roedd yn rhaid gwneud popeth yn yr amser byrraf posibl.
  • Sicrhewch fod gennych eich meddalwedd eich hun, yn hytrach na'i phrynu gan ddatblygwyr trydydd parti, y gellir ei graddio'n annibynnol yn y dyfodol, wrth i'r busnes ddatblygu, i amodau'r farchnad sy'n newid yn gyson.

Ar y pryd, nid oeddwn yn deall sut mae'r farchnad hon yn gweithio a'i naws, ond serch hynny, roedd dau beth yn amlwg i mi. Rhaid adeiladu'r ganolfan alwadau ar sail meddalwedd seren ffynhonnell agored PBX. Mae cyfnewid gwybodaeth rhwng y ganolfan alwadau a'r cymhwysiad symudol yn ei hanfod yn ddatrysiad cleient-gweinydd gyda'r holl batrymau cyfatebol ar gyfer dylunio pensaernïaeth prosiect y dyfodol a'i raglennu.

Ar ôl asesiad rhagarweiniol o dasgau, terfynau amser a chostau'r prosiect, ac ar ôl cytuno ar yr holl faterion angenrheidiol gyda pherchennog y gwasanaeth tacsi, dechreuais weithio ym mis Ionawr 2009.

Wrth edrych ymlaen, dywedaf ar unwaith. Y canlyniad oedd platfform graddadwy yn rhedeg ar 60+ o weinyddion mewn 12 dinas yn Rwsia a 2 yn Kazakhstan. Cyfanswm elw'r cwmni oedd 100+ miliwn rubles/mis.

Cam un. Prototeip

Gan nad oedd gennyf ar y pryd unrhyw brofiad ymarferol mewn teleffoni IP, a dim ond yn arwynebol gyfarwydd â seren fel rhan o arbrofion “cartref” yr oeddwn, penderfynwyd dechrau gweithio gyda datblygu cymhwysiad symudol a rhan gweinydd. Ar yr un pryd, cau bylchau mewn gwybodaeth am dasgau eraill.

Os gyda'r cais symudol roedd popeth fwy neu lai yn glir. Bryd hynny, dim ond ar gyfer ffonau gwthio syml y gellid ei ysgrifennu mewn java, ond roedd ysgrifennu gweinydd yn gwasanaethu cleientiaid symudol ychydig yn fwy cymhleth:

  • Pa weinyddwr OS fydd yn cael ei ddefnyddio;
  • Yn seiliedig ar y rhesymeg bod iaith raglennu yn cael ei dewis ar gyfer tasg, ac nid i'r gwrthwyneb, a chan ystyried pwynt 1, pa iaith raglennu fydd orau ar gyfer datrys problemau;
  • Yn ystod y dyluniad, roedd angen cymryd i ystyriaeth y llwythi uchel disgwyliedig ar y gwasanaeth yn y dyfodol;
  • Pa gronfa ddata all warantu goddefgarwch bai o dan lwythi uchel a sut i gynnal amser ymateb cronfa ddata cyflym wrth i nifer y ceisiadau iddi gynyddu;
  • Y ffactor pennu oedd cyflymder y datblygiad a'r gallu i raddfa'r cod yn gyflym
  • Cost offer a'i gynnal a'i gadw yn y dyfodol (un o amodau'r cwsmer yw bod yn rhaid i'r gweinyddwyr gael eu lleoli yn y diriogaeth sydd o dan ei reolaeth);
  • Cost datblygwyr y bydd eu hangen yn ystod camau nesaf y gwaith ar y platfform;

Yn ogystal â llawer o faterion eraill yn ymwneud â dylunio a datblygu.

Cyn dechrau gweithio ar y prosiect, cynigiais y penderfyniad strategol canlynol i berchennog y busnes: gan fod y prosiect yn eithaf cymhleth, bydd ei weithrediad yn cymryd cryn dipyn o amser, felly yn gyntaf rwy'n creu fersiwn MVP, na fydd yn cymryd llawer o amser a arian, ond a fydd yn caniatáu i'w gwmni ennill mantais gystadleuol ar y farchnad sydd eisoes "yma ac yn awr", a bydd hefyd yn ehangu ei alluoedd fel gwasanaeth tacsi. Yn ei dro, bydd datrysiad canolradd o'r fath yn rhoi amser i mi ddylunio'r datrysiad terfynol yn fwy ystyriol ac amser ar gyfer arbrofion technegol. Ar yr un pryd, ni fydd y datrysiad meddalwedd a weithredir yn sicr o gael ei ddylunio'n gywir a gellir ei ailgynllunio'n radical neu ei ddisodli yn y dyfodol, ond bydd yn bendant yn cyflawni'r ymarferoldeb lleiaf angenrheidiol i "dorri i ffwrdd oddi wrth gystadleuwyr." Roedd sylfaenydd y tacsi yn hoffi'r syniad, felly yn y diwedd fe wnaethon nhw.

Treuliais y pythefnos cyntaf yn astudio'r prosesau busnes yn y cwmni, ac yn astudio gwaith tacsi o'r tu mewn. Cynnal dadansoddiad busnes o ble, beth a sut y gellir ei awtomeiddio ac a oes angen o gwbl. Pa anawsterau a phroblemau y mae gweithwyr cwmni yn eu hwynebu? Sut maen nhw'n cael eu datrys. Sut mae'r diwrnod gwaith yn cael ei drefnu ar gyfer gweithwyr y cwmni. Pa offer maen nhw'n eu defnyddio?

Erbyn diwedd y drydedd wythnos, ar ôl dechrau gweithio ac astudio materion o ddiddordeb ar y Rhyngrwyd, gan ystyried dymuniadau perchennog y busnes, yn ogystal â'm gwybodaeth a'm galluoedd fy hun bryd hynny, penderfynwyd defnyddio'r pentwr canlynol :

  • Gweinydd cronfa ddata: MsSQL (fersiwn am ddim gyda chyfyngiad ffeil cronfa ddata hyd at 2GB);
  • Datblygu gweinydd sy'n gwasanaethu cleientiaid symudol yn Delphi o dan Windows, gan fod gweinydd Windows eisoes y byddai'r gronfa ddata yn cael ei gosod arno, yn ogystal â'r amgylchedd datblygu ei hun yn hwyluso datblygiad cyflym;
  • Gan gymryd i ystyriaeth y cyflymder Rhyngrwyd isel ar ffonau symudol yn ôl yn 2009, rhaid i'r protocol cyfnewid rhwng y cleient a'r gweinydd fod yn ddeuaidd. Bydd hyn yn lleihau maint pecynnau data a drosglwyddir ac, o ganlyniad, yn cynyddu sefydlogrwydd gwaith cleientiaid gyda'r gweinydd;

Treuliwyd pythefnos arall yn dylunio'r protocol a'r gronfa ddata. Y canlyniad oedd 12 pecyn sy'n sicrhau cyfnewid yr holl ddata angenrheidiol rhwng y cleient symudol a'r gweinydd a thua 20 o dablau yn y gronfa ddata. Gwneuthum y rhan hon o'r gwaith gan ystyried y dyfodol, hyd yn oed os oes rhaid imi newid y pentwr technoleg yn gyfan gwbl, dylai strwythur y pecynnau a'r gronfa ddata aros yn ddigyfnewid.

Ar ôl y gwaith paratoi, roedd yn bosibl dechrau gweithredu'r syniad yn ymarferol. Er mwyn cyflymu'r broses ychydig a rhyddhau amser ar gyfer tasgau eraill, fe wnes i fersiwn ddrafft o'r cymhwysiad symudol, braslunio'r UI, yn rhannol yr UX, a chynnwys rhaglennydd java cyfarwydd yn y prosiect. A chanolbwyntiodd ar ddatblygu, dylunio a phrofi ochr y gweinydd.

Erbyn diwedd yr ail fis o waith ar yr MVP, roedd y fersiwn gyntaf o'r prototeip gweinydd a chleient yn barod.

Ac erbyn diwedd y trydydd mis, ar ôl profion synthetig a phrofion maes, atgyweiriadau nam, mân welliannau i'r protocol a'r gronfa ddata, roedd y cais yn barod i'w gynhyrchu. Sef a wnaed.

O'r eiliad hon mae rhan fwyaf diddorol ac anoddaf y prosiect yn dechrau.

Yn ystod y broses o drosglwyddo gyrwyr i'r feddalwedd newydd, trefnwyd dyletswydd 24 awr. Gan na allai pawb ddod yn ystod oriau gwaith yn ystod y dydd. Yn ogystal, yn weinyddol, trwy benderfyniad ewyllys cryf gan sylfaenydd y cwmni, fe'i trefnwyd yn y fath fodd fel bod rheolwr y gwasanaeth tacsi wedi cofnodi'r mewngofnodi / cyfrinair ac ni chawsant eu cyfleu i'r gyrrwr. Ar fy rhan i, roedd angen cymorth technegol i ddefnyddwyr rhag ofn methiannau a sefyllfaoedd annisgwyl.

Mae Cyfraith Murphy yn dweud wrthym: "Bydd unrhyw beth a all fynd o'i le yn mynd o'i le." A dyna'n union sut aeth pethau o chwith... Mae'n un peth pan wnes i a sawl gyrrwr tacsi brofi'r cais ar sawl dwsin o orchmynion prawf. Ac mae'n fater hollol wahanol pan fydd 500+ o yrwyr ar y llinell yn gweithio mewn amser real ar archebion go iawn gan bobl go iawn.

Roedd pensaernïaeth y rhaglen symudol yn syml ac roedd llawer llai o fygiau ynddo nag yn y gweinydd. Felly, roedd prif ffocws y gwaith ar ochr y gweinydd. Y glitch mwyaf hanfodol yn y cais oedd y broblem o ddatgysylltu o'r gweinydd pan gollwyd y Rhyngrwyd ar y ffôn ac adferwyd y sesiwn eto. Ac mae'r Rhyngrwyd yn diflannu yn eithaf aml. Yn gyntaf, yn y blynyddoedd hynny nid oedd y Rhyngrwyd ar y ffôn ei hun yn ddigon sefydlog. Yn ail, roedd llawer o fannau dall lle nad oedd y Rhyngrwyd yn gweithio. Gwnaethom nodi'r broblem hon bron yn syth ac o fewn 24 awr trwsio a diweddaru pob rhaglen a osodwyd yn flaenorol.

Roedd gan y gweinydd wallau yn bennaf yn yr algorithm dosbarthu archeb a phrosesu anghywir rhai ceisiadau gan gleientiaid. Ar ôl nodi diffygion, cywirais a diweddarais y gweinydd.

Mewn gwirionedd, nid oedd cymaint o broblemau technegol ar hyn o bryd. Yr holl anhawster oedd fy mod ar ddyletswydd yn y swyddfa am bron i fis, dim ond yn achlysurol yn mynd adref. Mae'n debyg 4-5 gwaith. Ac fe wnes i gysgu mewn ffitiau a dechrau, oherwydd bryd hynny roeddwn i'n gweithio ar y prosiect ar fy mhen fy hun ac nid oedd unrhyw un heblaw fi yn gallu trwsio unrhyw beth.

Mis, nid yw hyn yn golygu bod popeth yn glitching yn gyson am fis ac roeddwn yn codio rhywbeth heb stopio. Rydym newydd benderfynu hynny. Wedi'r cyfan, roedd y busnes eisoes yn gweithredu ac yn gwneud elw. Mae'n well ei chwarae'n ddiogel a gorffwys yn hwyrach na cholli cwsmeriaid ac elw nawr. Roeddem i gyd yn deall hyn yn dda iawn, felly gyda'i gilydd rhoddodd y tîm cyfan y sylw a'r amser mwyaf i gyflwyno meddalwedd newydd i'r system tacsis. A chan gymryd i ystyriaeth y traffig presennol o orchmynion, byddwn yn bendant yn dileu'r holl ddiffygion o fewn mis. Wel, yn sicr ni fydd bygiau cudd a all fod ar ôl yn cael canlyniadau hollbwysig ar y broses fusnes ac, os oes angen, gellir eu cywiro yn rheolaidd.

Yma mae angen nodi'r cymorth amhrisiadwy gan gyfarwyddwyr a fformeniaid gwasanaethau tacsi, a oedd, gyda'r ddealltwriaeth fwyaf o gymhlethdod y sefyllfa o drosglwyddo gyrwyr i feddalwedd newydd, yn gweithio gyda gyrwyr o gwmpas y cloc. Mewn gwirionedd, ar ôl cwblhau gosod rhaglenni newydd ar ffonau, ni wnaethom golli un gyrrwr. Ac ni wnaethant gynyddu'n feirniadol ganran y cleientiaid nad oeddent yn cael eu symud, a ddychwelwyd yn fuan i lefelau arferol.

Cwblhaodd hyn gam cyntaf y gwaith ar y prosiect. A dylid nodi nad oedd y canlyniad yn hir i ddod. Trwy awtomeiddio dosbarthu archebion i yrwyr heb ymyrraeth ddynol, gostyngwyd yr amser aros cyfartalog am dacsi gan gleient gan orchymyn maint, a oedd yn naturiol yn cynyddu teyrngarwch cwsmeriaid i'r gwasanaeth. Arweiniodd hyn at gynnydd yn nifer yr archebion. Yn dilyn hyn, cynyddodd nifer y gyrwyr tacsi. O ganlyniad, mae nifer yr archebion a gwblhawyd yn llwyddiannus hefyd wedi cynyddu. Ac o ganlyniad, cynyddodd elw'r cwmni. Wrth gwrs, dyma fi ar y blaen i mi fy hun, gan na ddigwyddodd yr holl broses hon ar unwaith. Nid yw dweud bod y rheolwyr yn falch o ddweud dim. Cefais fynediad diderfyn i gyllid pellach ar gyfer y prosiect.

I'w barhau..

Ffynhonnell: hab.com

Ychwanegu sylw