Kiçik bir proqram kiçik bir ofisi ayda 100+ milyon rubl qazancı olan federal bir şirkətə necə çevirdi

2008-ci ilin dekabr ayının sonunda mövcud biznes proseslərini avtomatlaşdırmaq məqsədi ilə Permdə taksi xidmətlərindən birinə dəvət olundum. Ümumiyyətlə, mənə üç əsas vəzifə verildi:


  • Taksi sürücüləri üçün mobil proqramla zəng mərkəzi üçün proqram paketi hazırlayın və daxili biznes proseslərini avtomatlaşdırın.
  • Hər şeyi ən qısa müddətdə etmək lazım idi.
  • Gələcəkdə biznes inkişaf etdikcə müstəqil olaraq daim dəyişən bazar şərtlərinə uyğunlaşdırıla bilən üçüncü tərəf tərtibatçılarından satın almaq əvəzinə öz proqram təminatınıza sahib olun.

O zaman bu bazarın necə işlədiyini və onun nüanslarını başa düşmürdüm, amma buna baxmayaraq, mənə iki şey aydın görünürdü. Çağrı mərkəzi ATS açıq mənbəli ulduz proqram təminatı əsasında qurulmalıdır. Çağrı mərkəzi ilə mobil proqram arasında məlumat mübadiləsi mahiyyətcə gələcək layihənin arxitekturasının dizaynı və onun proqramlaşdırılması üçün bütün müvafiq nümunələrə malik müştəri-server həllidir.

Layihə üzrə tapşırıqların, müddətlərin və xərclərin ilkin qiymətləndirilməsindən və taksi xidmətinin sahibi ilə bütün lazımi məsələləri razılaşdırdıqdan sonra 2009-cu ilin yanvar ayından işə başladım.

İrəliyə baxaraq, dərhal deyəcəyəm. Nəticə Rusiyanın 60 şəhərində və Qazaxıstanın 12 şəhərində 2+ serverdə işləyən miqyaslı platforma oldu. Şirkətin ümumi mənfəəti ayda 100+ milyon rubl təşkil etmişdir.

Birinci mərhələ. Prototip

O vaxt mənim İP telefoniya üzrə praktik təcrübəm olmadığından və “ev” təcrübələrinin bir hissəsi kimi ulduz işarəsi ilə səthi tanış olduğum üçün mobil proqram və server hissəsinin hazırlanması ilə işə başlamaq qərara alındı. Eyni zamanda, digər tapşırıqlar üzrə bilik boşluqlarının aradan qaldırılması.

Mobil proqramla hər şey az və ya çox aydın idi. O zaman onu yalnız sadə düyməli telefonlar üçün java dilində yazmaq olardı, lakin mobil müştərilərə xidmət göstərən server yazmaq bir az daha mürəkkəb idi:

  • Hansı server ƏS-dən istifadə ediləcək;
  • Tapşırıq üçün proqramlaşdırma dilinin seçildiyi və əksinə olmadığı məntiqinə əsaslanaraq və 1-ci bəndi nəzərə alaraq, hansı proqramlaşdırma dilinin problemlərin həlli üçün optimal olacağı;
  • Dizayn zamanı xidmətə gözlənilən gələcək yüksək yükləri nəzərə almaq lazım idi;
  • Hansı verilənlər bazası yüksək yüklər altında nasazlığa dözümlülüyünə zəmanət verə bilər və ona edilən sorğuların sayı artdıqca verilənlər bazasının sürətli cavab müddətini necə saxlamaq olar;
  • Müəyyən edən amil inkişaf sürəti və kodu tez bir zamanda miqyaslaşdırmaq qabiliyyəti idi
  • Avadanlığın dəyəri və gələcəkdə ona qulluq (müştərinin şərtlərindən biri serverlərin onun nəzarəti altında olan ərazidə yerləşməsidir);
  • Platformada işin sonrakı mərhələlərində lazım olacaq tərtibatçıların dəyəri;

Dizayn və inkişafla bağlı bir çox digər məsələlər kimi.

Layihə üzərində işə başlamazdan əvvəl biznes sahibinə aşağıdakı strateji qərarı təklif etdim: layihə kifayət qədər mürəkkəb olduğundan, onun həyata keçirilməsi nəzərəçarpacaq vaxt aparacaq, ona görə də əvvəlcə çox vaxt aparmayacaq MVP versiyasını yaradıram və pul, lakin onun şirkətinə artıq "burada və indi" bazarda rəqabət üstünlüyü əldə etməyə imkan verəcək və eyni zamanda taksi xidməti kimi imkanlarını genişləndirəcəkdir. Öz növbəsində, belə bir ara həll mənə son həlli daha düşünülmüş şəkildə tərtib etmək üçün vaxt və texniki təcrübələr üçün vaxt verəcəkdir. Eyni zamanda, həyata keçirilən proqram həllinin düzgün tərtib edilməsinə zəmanət verilməyəcək və gələcəkdə köklü şəkildə yenidən işlənib hazırlana və ya dəyişdirilə bilər, lakin o, “rəqiblərdən uzaqlaşmaq” üçün mütləq minimum lazımi funksionallığı yerinə yetirəcəkdir. Taksinin yaradıcısı bu ideyanı bəyəndi, ona görə də sonda buna nail oldular.

İlk iki həftəni şirkətdəki biznes prosesləri öyrənməyə, taksinin işini içəridən öyrənməyə sərf etdim. Harada, nə və necə avtomatlaşdırıla biləcəyi və ümumiyyətlə lazım olub-olmaması ilə bağlı biznes təhlili aparıldı. Şirkət işçiləri hansı çətinliklər və problemlərlə üzləşirlər? Onlar necə həll olunur. Şirkətin işçiləri üçün iş gününün necə təşkil edildiyi. Onlar hansı vasitələrdən istifadə edirlər?

Üçüncü həftənin sonunda işə başladıqdan və internetdə maraq doğuran məsələləri öyrəndikdən sonra, biznes sahibinin istəklərini, o zamankı öz bilik və imkanlarımı nəzərə alaraq, aşağıdakı stek tətbiq etmək qərarına gəldim. :

  • Verilənlər bazası serveri: MsSQL (verilənlər bazası faylı limiti 2 GB-a qədər olan pulsuz versiya);
  • Windows altında Delphi-də mobil müştərilərə xidmət göstərən serverin inkişafı, çünki verilənlər bazası quraşdırılacaq Windows serveri var idi, eləcə də inkişaf mühitinin özü sürətli inkişafı asanlaşdırır;
  • Hələ 2009-cu ildə mobil telefonlarda internetin aşağı sürətini nəzərə alaraq, müştəri ilə server arasında mübadilə protokolu binar olmalıdır. Bu, ötürülən məlumat paketlərinin ölçüsünü azaldacaq və nəticədə müştərilərin serverlə işinin sabitliyini artıracaq;

Daha iki həftə protokolun və verilənlər bazasının layihələndirilməsinə sərf olundu. Nəticə mobil müştəri ilə server arasında bütün lazımi məlumatların mübadiləsini təmin edən 12 paket və verilənlər bazasında 20-yə yaxın cədvəl oldu. İşin bu hissəsini gələcəyi nəzərə alaraq etdim, hətta texnologiya yığınını tamamilə dəyişməli olsam belə, paketlərin strukturu və verilənlər bazası dəyişməz qalmalıdır.

Hazırlıq işlərindən sonra ideyanın praktiki həyata keçirilməsinə başlamaq mümkün olub. Prosesi bir az sürətləndirmək və digər tapşırıqlara vaxt ayırmaq üçün mən mobil proqramın qaralama versiyasını hazırladım, UI-nin, qismən də UX-nin eskizini çəkdim və layihəyə tanış java proqramçısını cəlb etdim. Və o, server tərəfində inkişaf, dizayn və sınaqlara diqqət yetirdi.

MVP üzərində işin ikinci ayının sonunda server və müştəri prototipinin ilk versiyası hazır idi.

Üçüncü ayın sonunda, sintetik testlər və sahə sınaqları, səhvlərin düzəldilməsi, protokol və verilənlər bazasında kiçik təkmilləşdirmələrdən sonra proqram istehsala hazır idi. Hansı ki, edilib.

Bu andan etibarən layihənin ən maraqlı və ən çətin hissəsi başlayır.

Sürücülərin yeni proqram təminatına keçidi zamanı 24 saat növbətçilik təşkil edilib. Çünki gündüz iş saatlarında hamı gələ bilmirdi. Bundan əlavə, inzibati qaydada şirkətin təsisçisinin iradəli qərarı ilə elə təşkil olunub ki, loqin/parol taksi xidmətinin meneceri tərəfindən daxil edilib və sürücüyə məlumat verilməyib. Məncə, nasazlıqlar və gözlənilməz hallar zamanı istifadəçilər üçün texniki dəstək lazım idi.

Mörfi qanunu bizə deyir: “Səhv gedəcək hər şey səhv gedəcək”. Və işlərin səhv getdiyi məhz belə oldu... Mən və bir neçə taksi sürücüsü tətbiqi bir neçə onlarla sınaq sifarişində sınaqdan keçirəndə bir şey oldu. Xəttdəki 500-dən çox sürücü real insanların real sifarişləri əsasında real vaxt rejimində işləsə, bu tamam başqa məsələdir.

Mobil proqramın arxitekturası sadə idi və serverdəkindən nəzərəçarpacaq dərəcədə az səhv var idi. Buna görə də əsas iş server tərəfində idi. Tətbiqdə ən kritik nasazlıq telefonda internetin kəsildiyi və sessiyanın yenidən bərpa edildiyi zaman serverlə əlaqənin kəsilməsi problemi olub. Və İnternet tez-tez yoxa çıxdı. Birincisi, o illərdə telefonun özündə İnternet kifayət qədər sabit deyildi. İkincisi, İnternetin sadəcə işləmədiyi bir çox kor nöqtələr var idi. Biz bu problemi demək olar ki, dərhal müəyyən etdik və 24 saat ərzində əvvəllər quraşdırılmış bütün proqramları düzəltdik və yenilədik.

Serverdə əsasən sifarişlərin paylanması alqoritmində və müştərilərdən gələn bəzi sorğuların düzgün işlənməməsində səhvlər olub. Qüsurları müəyyən etdikdən sonra serveri düzəltdim və yenilədim.

Əslində, bu mərhələdə o qədər də texniki problemlər yox idi. Bütün çətinlik ondan ibarət idi ki, mən bir aya yaxın ofisdə növbətçi idim, ancaq arabir evə gedirdim. Yəqin ki, 4-5 dəfə. O vaxt mən təkbaşına layihə üzərində işləyirdim və məndən başqa heç kim heç nəyi düzəldə bilmədiyi üçün mən yuxuya getdim.

Bir ay, bu o demək deyil ki, bir ay ərzində hər şey daim səhv idi və mən dayanmadan bir şeyi kodlayırdım. Sadəcə buna qərar verdik. Axı biznes artıq fəaliyyət göstərirdi və qazanc əldə edirdi. Müştəriləri və qazancları indi itirməkdənsə, onu təhlükəsiz oynamaq və sonra dincəlmək daha yaxşıdır. Biz hamımız bunu çox yaxşı başa düşdük, ona görə də bütün komanda kollektiv şəkildə taksi sisteminə yeni proqram təminatının tətbiqinə maksimum diqqət və vaxt ayırdı. Və sifarişlərin mövcud trafikini nəzərə alaraq, bir ay ərzində bütün çatışmazlıqları mütləq aradan qaldıracağıq. Yaxşı, qala biləcək gizli səhvlər, şübhəsiz ki, iş prosesində kritik nəticələrə səbəb olmayacaq və lazım gələrsə, müntəzəm olaraq düzəldilə bilər.

Burada sürücülərin yeni proqram təminatına köçürülməsi vəziyyətinin mürəkkəbliyini maksimum başa düşərək, sürücülərlə gecə-gündüz işləyən taksi xidmətlərinin direktorlarının və ustalarının əvəzsiz köməyini qeyd etmək lazımdır. Əslində telefonlarda yeni proqramların quraşdırılmasını başa çatdırdıqdan sonra bir dənə də olsun sürücü itirmədik. Və müştərilərin çıxarılmama faizini kritik dərəcədə artırmadılar, bu da tezliklə normal səviyyəyə qaytarıldı.

Bununla da layihə üzrə işlərin birinci mərhələsi başa çatıb. Və qeyd etmək lazımdır ki, nəticə özünü çox gözlətməyib. Sifarişlərin sürücülərə insan müdaxiləsi olmadan paylanmasının avtomatlaşdırılması ilə müştərinin taksi üçün orta gözləmə müddəti böyüklük sırası ilə azaldıldı ki, bu da təbii olaraq müştərilərin xidmətə sədaqətini artırdı. Bu, sifarişlərin sayının artmasına səbəb olub. Bunun ardınca taksi sürücülərinin sayı artıb. Nəticədə, uğurla yerinə yetirilən sifarişlərin sayı da artıb. Və nəticədə şirkətin mənfəəti artdı. Təbii ki, bütün bu proses bir anda baş vermədiyi üçün mən özümü bir az qabaqlayıram. Rəhbərliyin məmnun olduğunu demək heç nə demək deyil. Mənə layihənin gələcək maliyyələşdirilməsinə məhdudiyyətsiz çıxış imkanı verildi.

Davam etmək üçün ..

Mənbə: www.habr.com

Добавить комментарий