Wéi e klenge Programm e klenge Büro an eng Bundesfirma mat engem Gewënn vun 100+ Milliounen Rubelen / Mount ëmgewandelt huet

Enn Dezember 2008 war ech op ee vun den Taxiservicer zu Perm invitéiert mam Zil fir existent Geschäftsprozesser ze automatiséieren. Am Allgemengen krut ech dräi fundamental Aufgaben:


  • Entwéckelt e Software Package fir e Call Center mat enger mobiler Applikatioun fir Taxichauffer an automatiséiert intern Geschäftsprozesser.
  • Alles huet missen a kuerzer Zäit gemaach ginn.
  • Hutt Är eege Software, anstatt vun Drëtt-Partei Entwéckler kaaft, déi an Zukunft, wéi d'Geschäft sech entwéckelt, onofhängeg op stänneg verännert Maartbedéngungen skaléiert ka ginn.

Zu där Zäit hunn ech net verstanen wéi dëse Maart funktionnéiert a seng Nuancen, awer trotzdem waren zwou Saache fir mech kloer. Den Call Center muss op der Basis vun der Open Source Asterisk Software PBX gebaut ginn. Den Informatiounsaustausch tëscht dem Call Center an der mobiler Applikatioun ass am Wesentlechen eng Client-Server-Léisung mat all de entspriechende Mustere fir d'Architektur vum zukünftege Projet a seng Programméierung ze designen.

No enger virleefer Evaluatioun vun den Aufgaben, Termin a Käschten fir de Projet, an all néideg Problemer mat dem Proprietaire vum Taxi Service ausgemaach, Ech hunn am Januar 2009 Aarbecht ugefaangen.

No vir kucken, wäert ech direkt soen. D'Resultat war eng skalierbar Plattform déi op 60+ Serveren an 12 Stied a Russland an 2 am Kasachstan leeft. De Gesamtgewënn vun der Firma war 100+ Milliounen Rubelen / Mount.

Etapp eng. Prototyp

Well ech zu där Zäit keng praktesch Erfahrung an der IP-Telefonie haten, an ech nëmmen iwwerflächlech mat der Asterisk am Kader vun "Home" Experimenter vertraut war, gouf decidéiert mat der Entwécklung vun enger mobiler Applikatioun an engem Server-Deel ze schaffen. Zur selwechter Zäit, Lücken am Wëssen iwwer aner Aufgaben zoumaachen.

Wann mat der mobiler Applikatioun alles méi oder manner kloer war. Zu där Zäit konnt et nëmmen a Java geschriwwe ginn fir einfache Push-Button-Telefonen, awer e Server ze schreiwen deen mobilen Clienten servéiert war e bësse méi komplizéiert:

  • Wat Server OS gëtt benotzt;
  • Baséierend op der Logik, datt eng Programméierungssprooch fir eng Aufgab gewielt gëtt, an net ëmgedréint, a berücksichtegt de Punkt 1, wéi eng Programméierungssprooch optimal ass fir Problemer ze léisen;
  • Während dem Design war et néideg Rechnung ze huelen déi erwaart Zukunft héich Laascht op de Service;
  • Wéi eng Datebank kann Fehlertoleranz ënner héijer Belaaschtung garantéieren a wéi eng séier Datebankreaktiounszäit ze erhalen wéi d'Zuel vun den Ufroen eropgeet;
  • Den entscheedende Faktor war d'Geschwindegkeet vun der Entwécklung an d'Fäegkeet fir de Code séier ze skaléieren
  • D'Käschte vun Ausrüstung a seng Ënnerhalt an Zukunft (ee vun de Konditioune vum Client ass, datt d'Serveren am Territoire ënner senger Kontroll läit muss);
  • Käschte vun Entwéckler déi an den nächsten Etappe vun der Aarbecht op der Plattform gebraucht ginn;

Wéi och vill aner Themen am Zesummenhang mam Design an Entwécklung.

Ier ech un de Projet schaffen, hunn ech dem Geschäftsbesëtzer déi folgend strategesch Entscheedung proposéiert: well de Projet zimmlech komplex ass, wäert seng Ëmsetzung eng merkbar Zäit huelen, also als éischt erstellen ech eng MVP Versioun, déi net vill Zäit dauert an Suen, mä déi erlaabt seng Firma schonn "hei an elo" e kompetitiven Avantage um Maart ze kréien, a wäert och seng Fäegkeeten als Taxiservice ausbauen. Am Tour, esou eng Zwëschenléisung wäert mir Zäit ginn fir d'Finale Léisung méi nodenklech ze designen an Zäit fir technesch Experimenter. Zur selwechter Zäit wäert d'implementéiert Softwareléisung net garantéiert sinn korrekt entworf ze ginn a kann an Zukunft radikal nei designt oder ersat ginn, awer et wäert definitiv déi minimal néideg Funktionalitéit ausféieren fir "vu Konkurrenten ofzebriechen." De Grënner vum Taxi huet d'Iddi gefall, also hunn se et zum Schluss gemaach.

Ech hunn déi éischt zwou Wochen d'Geschäftsprozesser an der Firma studéiert an d'Aarbecht vun engem Taxi vu bannen studéiert. Eng Geschäftsanalyse gemaach wou, wat a wéi automatiséiert ka ginn an ob et iwwerhaapt néideg ass. Wéi eng Schwieregkeeten a Probleemer stellen d'Firma Mataarbechter? Wéi si geléist ginn. Wéi den Aarbechtsdag fir d'Mataarbechter vun der Firma organiséiert ass. Wéi eng Tools benotze se?

Vum Enn vun der drëtter Woch, nodeems d'Aarbecht ugefaang huet an d'Themen vun Interessi um Internet studéiert, ënner Beuechtung vun de Wënsch vum Geschäftsbesëtzer, souwéi meng eegen Wëssen a Fäegkeeten zu där Zäit, gouf decidéiert de folgende Stack z'applizéieren. :

  • Datebank Server: MsSQL (gratis Versioun mat Datebank Datei Limit bis 2GB);
  • Entwécklung vun engem Server deen mobilen Clienten zu Delphi ënner Windows servéiert, well et schonn e Windows Server war, op deem d'Datebank installéiert wier, souwéi d'Entwécklungsëmfeld selwer erliichtert eng séier Entwécklung;
  • Wann Dir déi niddreg Internetgeschwindegkeet op Handyen am Joer 2009 berücksichtegt, muss den Austauschprotokoll tëscht dem Client an dem Server binär sinn. Dëst wäert d'Gréisst vun iwwerdroenen Datepäck reduzéieren an als Resultat d'Stabilitéit vun der Aarbecht vum Client mam Server erhéijen;

Eng aner zwou Woche goufe verbruecht fir de Protokoll an d'Datebank ze designen. D'Resultat war 12 Packagen déi den Austausch vun all néideg Daten tëscht dem mobilen Client an dem Server an ongeféier 20 Dëscher an der Datebank garantéieren. Ech hunn dësen Deel vun der Aarbecht mat der Zukunft berécksiichtegt, och wann ech den Technologiestack komplett änneren muss, d'Struktur vun de Packagen an d'Datebank soll onverännert bleiwen.

No de Virbereedungsaarbechten konnt een d'praktesch Ëmsetzung vun der Iddi ufänken. Fir de Prozess e bëssen ze beschleunegen an Zäit fir aner Aufgaben ze befreien, hunn ech eng Entworf Versioun vun der mobiler Applikatioun gemaach, d'UI skizzéiert, deelweis d'UX, an e vertraute Java Programméierer am Projet involvéiert. An hien konzentréiert sech op Server-Säit Entwécklung, Design an Testen.

Um Enn vum zweete Mount vun der Aarbecht um MVP war déi éischt Versioun vum Server a Client Prototyp fäerdeg.

A bis Enn vum drëtte Mount, no syntheteschen Tester a Feldtester, Bugfixes, kleng Verbesserunge vum Protokoll an der Datebank, war d'Applikatioun fäerdeg fir d'Produktioun. Wat ass wat gemaach gouf.

Vun dësem Moment un fänkt den interessantsten a schwieregsten Deel vum Projet un.

Beim Iwwergank vun de Chauffeuren op déi nei Software gouf 24-Stonne-Pflicht organiséiert. Well net jiddereen an der Aarbechtszäit am Dag konnt kommen. Zousätzlech, administrativ, duerch eng staark-wëll Decisioun vun der Gesellschaft d'Grënner, war et esou organiséiert, datt de Login / Passwuert vum Manager vun der Taxi Service aginn gouf a si goufen net un de Chauffer kommunizéiert. Vun mengem Deel war technesch Ënnerstëtzung fir Benotzer gebraucht am Fall vu Feeler an onerwaarte Situatiounen.

Dem Murphy säi Gesetz seet eis: "Alles wat falsch ka goen, wäert falsch goen." An dat ass genee wéi d'Saache falsch gaangen ... Et ass eng Saach, wann ech a verschidde Taxichauffer d'Applikatioun op e puer Dosen Testbestellungen getest hunn. An et ass eng komplett aner Saach wann 500+ Chauffeuren op der Linn an Echtzäit op real Commanden vun real Leit schaffen.

D'Architektur vun der mobiler Applikatioun war einfach an et waren däitlech manner Bugs dran wéi um Server. Dofir war den Haaptfokus vun der Aarbecht op der Server Säit. Déi kriteschste Feeler an der Applikatioun war de Problem vun der Trennung vum Server wann den Internet um Telefon verluer ass an d'Sessioun erëm restauréiert gouf. An den Internet ass zimlech oft verschwonnen. Éischtens, an deene Joren den Internet um Telefon selwer war net stabil genuch. Zweetens gouf et vill blann Flecken, wou den Internet einfach net funktionnéiert. Mir hunn dëse Problem bal direkt identifizéiert a bannent 24 Stonnen fixéiert an aktualiséiert all virdrun installéiert Uwendungen.

De Server hat haaptsächlech Feeler am Uerdnungsverdeelungsalgorithmus a falsch Veraarbechtung vun e puer Ufroe vu Clienten. Beim Identifikatioun vu Feeler hunn ech de Server korrigéiert an aktualiséiert.

Tatsächlech gouf et an dëser Phase net esou vill technesch Problemer. Déi ganz Schwieregkeet war datt ech bal ee Mount um Büro war, just heiansdo heemgoen. Wahrscheinlech 4-5 Mol. An ech schlofen an Ufänger, well ech deemools eleng um Projet geschafft hunn a keen ausser ech konnt eppes fixéieren.

E Mount, dat heescht net datt alles dauernd fir e Mount glitche war an ech hunn eppes kodéiert ouni ze stoppen. Mir hunn dat just decidéiert. Ëmmerhin war d'Geschäft schonn operéiert a profitéiert. Et ass besser et sécher ze spillen a méi spéit ze raschten wéi elo Clienten a Gewënn ze verléieren. Mir hunn dat alleguer ganz gutt verstanen, sou datt d'ganz Equipe zesummen maximal Opmierksamkeet an Zäit gewidmet huet fir nei Software an den Taxisystem anzeféieren. A berücksichtegt den aktuellen Traffic vun Bestellungen, wäerte mir definitiv all Mängel bannent engem Mount eliminéieren. Gutt, verstoppte Bugs, déi kënne bleiwen, wäerte sécherlech keng kritesch Konsequenzen op de Geschäftsprozess hunn an, wann néideg, kënne se regelméisseg korrigéiert ginn.

Hei ass et néideg der wäertvoll Hëllef vun den Direkteren a Viraarbechter vun Taxi Servicer ze Note, déi, mat maximal Versteesdemech vun der Komplexitéit vun der Situatioun vun Transfert Chauffeuren op nei Software, geschafft mat Chauffeuren ronderëm d'Auer. Tatsächlech, nodeems mir d'Installatioun vun neie Programmer op Telefonen ofgeschloss hunn, hu mir keen eenzegen Chauffer verluer. A si hunn net kritesch de Prozentsaz vun Net-Entfernung vu Clienten erhéicht, wat séier op normalen Niveauen zréckkoum.

Dëst huet déi éischt Etapp vun der Aarbecht um Projet ofgeschloss. An et sollt bemierkt datt d'Resultat net laang drop war. Duerch d'Automatisatioun vun der Verdeelung vun den Uerderen un d'Chauffeuren ouni mënschlech Interventioun, gouf d'Duerchschnëttswaardezäit fir en Taxi vun engem Client ëm eng Uerdnung reduzéiert, wat natierlech d'Clientloyalitéit zum Service erhéicht huet. Dëst huet zu enger Erhéijung vun der Unzuel vun Bestellungen gefouert. Doropshin ass d'Zuel vun den Taxichaufferen geklommen. Als Resultat ass d'Zuel vun den erfollegräich ofgeschlossen Bestellungen och eropgaang. An als Resultat ass de Gewënn vun der Firma eropgaang. Natierlech ginn ech hei e bëssen virun, well dee ganze Prozess net direkt stattfonnt huet. Ze soen, datt d'Direktioun frou war, ass näischt ze soen. Ech krut onlimitéiert Zougang zu weider Finanzéierung vum Projet.

Weidergoung

Source: will.com

Setzt e Commentaire