Кантип кичинекей программа кичинекей кеңсени айына 100+ миллион рубль кирешеси бар федералдык компанияга айландырды

2008-жылдын декабрынын аягында мен учурдагы бизнес процесстерин автоматташтыруу максатында Пермдеги такси кызматтарынын бирине чакырылдым. Жалпысынан мага үч негизги тапшырма берилди:


  • Таксисттер үчүн мобилдик тиркеме менен колл-борбор үчүн программалык пакетти иштеп чыгуу жана ички бизнес процесстерин автоматташтыруу.
  • Баарын эң кыска мөөнөттө жасоо керек болчу.
  • Үчүнчү тараптын иштеп чыгуучуларынан сатып алгандын ордуна, өзүңүздүн программалык камсыздооңузга ээ болуңуз, келечекте бизнес өнүккөн сайын, дайыма өзгөрүп туруучу рынок шарттарына өз алдынча масштабдалат.

Ал убакта мен бул базардын кандай иштээрин жана анын нюанстарын түшүнгөн эмесмин, бирок ошого карабастан мага эки нерсе ачык эле көрүнүп турду. Колл-борбор АТСтин ачык булактуу жылдызча программасынын негизинде түзүлүшү керек. Колл-борбор менен мобилдик тиркеменин ортосунда маалымат алмашуу – бул келечектеги долбоордун архитектурасын жана аны программалоону долбоорлоо үчүн бардык тиешелүү үлгүлөрү бар кардар-сервер чечими.

Долбоор боюнча милдеттерди, мөөнөттөрдү жана чыгымдарды алдын ала баалоодон кийин жана такси кызматынын ээси менен бардык зарыл болгон маселелерди макулдашкандан кийин 2009-жылдын январь айынан баштап ишке кирдим.

Алдыга карап, мен дароо айтам. Натыйжада Россиянын 60 шаарында жана Казакстандын 12 шаарында 2+ серверде иштеген масштабдуу платформа пайда болду. Компаниянын жалпы кирешеси айына 100+ миллион рублди түздү.

Биринчи этап. Прототип

Ошол убакта мен IP телефония боюнча практикалык тажрыйбага ээ болбогондуктан жана мен "үй" эксперименттеринин бир бөлүгү катары жылдызча менен үстүртөн гана тааныш болгондуктан, мобилдик тиркемени жана сервер бөлүгүн иштеп чыгуу менен иштөөнү баштоону чечтим. Ошол эле учурда, башка милдеттер боюнча билим кемчиликтерин жоюу.

Мобилдик тиркеме менен баары аздыр-көптүр түшүнүктүү болсо. Ал убакта аны java тилинде гана баскычтуу телефондор үчүн жазса болот, бирок мобилдик кардарларды тейлеген серверди жазуу бир аз татаалыраак болчу:

  • Кандай сервер OS колдонулат;
  • Тескерисинче эмес, тапшырма үчүн программалоо тили тандалат деген логикага таянып жана 1-пунктту эске алуу менен, кайсы программалоо тили маселелерди чечүү үчүн оптималдуу болот;
  • долбоорлоо учурунда, бул кызмат боюнча күтүлүп жаткан келечектеги жогорку жүктөрдү эске алуу зарыл болгон;
  • Кайсы маалымат базасы чоң жүктөмдө каталарга чыдамдуулукту кепилдик бере алат жана ага суроо-талаптардын саны көбөйгөн сайын маалымат базасынын тез жооп берүү убактысын кантип сактоо керек;
  • Өнүгүү ылдамдыгы жана кодду тез масштабдоо мүмкүнчүлүгү аныктоочу фактор болгон
  • Жабдуулардын баасы жана келечекте аны тейлөө (кардардын шарттарынын бири - серверлер анын көзөмөлүндөгү аймакта болушу керек);
  • Платформадагы иштин кийинки этаптарында керектелүүчү иштеп чыгуучулардын баасы;

Ошондой эле долбоорлоо жана иштеп чыгуу менен байланышкан көптөгөн башка маселелер.

Долбоордун үстүндө иштөө алдында мен бизнес ээсине төмөнкү стратегиялык чечимди сунуштадым: долбоор абдан татаал болгондуктан, аны ишке ашыруу бир топ убакытты талап кылат, андыктан адегенде мен MVP версиясын түзөм, ал көп убакытты талап кылбайт жана акча, бирок бул анын компаниясына рынокто "бул жерде жана азыр" атаандаштык артыкчылыкка ээ болууга мүмкүндүк берет, ошондой эле такси кызматы катары өзүнүн мүмкүнчүлүктөрүн кеңейтет. Өз кезегинде, мындай ортолук чечим акыркы чечимди ойлонуштурулуп иштеп чыгууга убакыт жана техникалык эксперименттерге убакыт берет. Ошол эле учурда, ишке ашырылган программалык камсыздоо чечими туура иштелип чыгууга кепилдик берилбейт жана келечекте түп-тамырынан бери кайра конструкцияланышы же алмаштырылышы мүмкүн, бирок ал сөзсүз түрдө "атаандаштардан ажырап калуу" үчүн минималдуу зарыл функцияларды аткарат. Таксидин негиздөөчүсү бул идеяны жактыргандыктан, акыры аны ишке ашырышты.

Алгачкы эки жуманы компаниядагы бизнес-процесстерди изилдеп, таксинин ишин ичинен изилдеп көрдүм. Кайда, эмнени жана кантип автоматташтырууга болот жана бул керекпи же жокпу, бизнес талдоо жүргүзгөн. Компаниянын кызматкерлери кандай кыйынчылыктарга жана көйгөйлөргө туш болушат? Алар кантип чечилет. Ишкананын жумушчулары учун эмгек куну кандай уюштурулган. Алар кандай куралдарды колдонушат?

Үчүнчү жуманын аягында, жумушка киришип, интернетте кызыктырган маселелерди изилдеп, бизнес ээсинин каалоосун, ошондой эле ошол кездеги өзүмдүн билимим жана мүмкүнчүлүктөрүмдү эске алып, төмөнкү стекти колдонууну чечтим. :

  • Берилиштер базасы сервери: MsSQL (2 ГБ чейин маалымат базасы файлынын чеги менен акысыз версия);
  • Windows шартында Delphiде мобилдик кардарларды тейлеген серверди иштеп чыгуу, анткени базасы орнотула турган Windows сервери мурда эле бар болчу, ошондой эле иштеп чыгуу чөйрөсү да тез өнүгүүнү шарттайт;
  • 2009-жылы уюлдук телефондордо интернеттин төмөн ылдамдыгын эске алуу менен кардар менен сервердин алмашуу протоколу бинардык болушу керек. Бул берилүүчү маалымат пакеттеринин көлөмүн азайтат жана натыйжада кардарлардын сервер менен иштөөсүнүн туруктуулугун жогорулатат;

Дагы эки жума протоколду жана маалымат базасын иштеп чыгууга сарпталды. Натыйжада мобилдик кардар менен сервердин ортосунда бардык керектүү маалыматтарды алмашууну камсыз кылган 12 пакет жана маалымат базасындагы 20га жакын таблица пайда болду. Мен иштин бул бөлүгүн келечекти эске алуу менен жасадым, технологиялык стекти толугу менен өзгөртүүгө туура келсе дагы, пакеттердин жана маалымат базасынын түзүмү өзгөрүүсүз калышы керек.

Даярдоо иштеринен кийин идеяны иш жүзүндө ишке ашырууга киришүүгө мүмкүн болду. Процессти бир аз тездетүү жана башка тапшырмаларга убакыт бошотуш үчүн, мен мобилдик тиркеменин эскиз версиясын жасап, UI, жарым-жартылай UX эскиздерин жасадым жана долбоорго тааныш java программисти тарттым. Жана ал сервердик өнүктүрүүгө, дизайнга жана тестирлөөгө басым жасады.

MVP боюнча иштөөнүн экинчи айынын аягында сервердин жана кардар прототипинин биринчи версиясы даяр болду.

Ал эми үчүнчү айдын аягында, синтетикалык сыноолор жана талаа сыноолору, мүчүлүштүктөрдү оңдоо, протоколго жана маалымат базасына кичине жакшыртуулардан кийин, тиркеме өндүрүшкө даяр болду. Эмне кылынды.

Ушул учурдан тартып долбоордун эң кызыктуу жана эң татаал бөлүгү башталат.

Айдоочуларды жаңы программалык камсыздоого өткөрүү учурунда XNUMX сааттык нөөмөт уюштурулган. Анткени күндүз жумуш убактысында баары келе албайт. Мындан тышкары, административдик жактан, компаниянын негиздөөчүсүнүн чечкиндүү чечими менен логин/паролду такси кызматынын менеджери киргизип, айдоочуга билдирбей тургандай уюштурулган. Мен тараптан каталар жана күтүлбөгөн кырдаалдарда колдонуучуларга техникалык колдоо керек болчу.

Мерфинин мыйзамы бизге мындай дейт: "Кандайдыр бир нерсе туура эмес болуп кетсе, ал туура эмес болуп калат". Жана так ушундай туура эмес болуп кетти ... Мен жана бир нече таксисттер тиркемени бир нече ондогон сыноо буйрутмаларында сынап көргөндө бир нерсе. Ал эми линиядагы 500+ айдоочу реалдуу адамдардын реалдуу заказдары боюнча реалдуу убакытта иштегенде, бул таптакыр башка маселе.

Мобилдик тиркеменин архитектурасы жөнөкөй жана серверге караганда андагы мүчүлүштүктөр байкаларлык азыраак болгон. Ошондуктан, иштин негизги багыты сервер тарапка бурулду. Тиркемедеги эң орчундуу мүчүлүштүк телефондогу интернет жоголуп, сеанс кайра калыбына келтирилгенде серверден ажырап калуу көйгөйү болду. Ал эми Интернет көп учурда жок болуп кетти. Биринчиден, ошол жылдары телефондун интернети жетиштүү туруктуу эмес болчу. Экинчиден, Интернет жөн эле иштебей калган көптөгөн сокур тактар ​​болгон. Биз бул көйгөйдү дароо аныктадык жана XNUMX сааттын ичинде мурда орнотулган бардык тиркемелерди оңдоп, жаңырттык.

Серверде негизинен заказдарды бөлүштүрүү алгоритминде каталар жана кардарлардын кээ бир суроо-талаптарын туура эмес иштетүү болгон. Мүчүлүштүктөрдү тапкандан кийин мен серверди оңдоп, жаңырттым.

Чынында, бул этапта көп техникалык көйгөйлөр болгон эмес. Кыйынчылыктын баары кеңседе бир айга жакын нөөмөттө болуп, анда-санда гана үйгө барчумун. 4-5 жолу болсо керек. Ал кезде мен жалгыз долбоордо иштеп жүргөндүктөн, менден башка эч ким эч нерсени оңдой алган эмес.

Бир ай, бул баары бир ай бою тынымсыз ката кетирип жатты жана мен токтобостон бир нерсени коддоп жаттым дегенди билдирбейт. Биз жөн эле чечтик. Анткени, бизнес мурунтан эле иштеп, киреше алып жаткан. Кардарларды жана кирешелерди азыр жоготкондон көрө, аны коопсуз ойноп, кийинчерээк эс алган жакшы. Муну биз бардыгыбыз жакшы түшүндүк, ошондуктан бүт жамаат такси системасына жаңы программалык камсыздоону киргизүүгө максималдуу көңүлүн жана убактысын арнады. Ал эми буйрутмалардын учурдагы трафигин эске алып, биз бир айдын ичинде бардык кемчиликтерди сөзсүз түрдө жок кылабыз. Ооба, кала бериши мүмкүн болгон жашыруун мүчүлүштүктөр бизнес процессинде олуттуу кесепеттерге алып келбейт жана зарыл болсо, аларды күнүмдүк негизде оңдоого болот.

Бул жерде айдоочуларды жацы программалык камсыздоого которуу кырдаалынын татаалдыгын максималдуу тушунуу менен айдоочулар менен куну-туну иштешкен такси кызматынын директорлорунун жана бригадирлеринин баа жеткис жардамын белгилеп кетуу керек. Чынында, телефондорго жаңы программаларды орнотууну аяктагандан кийин бир дагы айдоочуну жоготкон жокпуз. Жана алар кардарларды алып салбоо пайызын сынга алган жок, көп өтпөй нормалдуу деңгээлге кайтып келди.

Бул долбоор боюнча иштин биринчи этабын аяктады. Ал эми натыйжа көп күтпөгөнүн белгилей кетүү керек. Айдоочуларга адамдын кийлигишүүсүз буйрутмаларды бөлүштүрүүнү автоматташтыруу менен, кардар таксиге күтүүнүн орточо убактысы чоңдук тартибине кыскартылды, бул кардарлардын кызматка берилгендигин табигый түрдө жогорулатты. Бул заказдардын санынын көбөйүшүнө алып келди. Мунун артынан таксисттердин саны көбөйдү. Натыйжада ийгиликтуу аткарылган заказдардын саны да кебейду. Натыйжада, компаниянын кирешеси өстү. Албетте, бул жерде мен өзүмдөн бир аз алдыга чыгып жатам, анткени бул процесс дароо эле ишке ашкан жок. Жетекчилик ыраазы болду деп айтуу эч нерсе деп айтууга жатпайт. Мага долбоорду андан ары каржылоого чексиз мүмкүнчүлүк берилди.

Уландысы бар..

Source: www.habr.com

Комментарий кошуу