دودو بيتزا هي شركة دولية - نعمل في 13 دولة ولا نخطط للتوقف. تقع معظم مطاعم البيتزا في منطقة أوراسيا: روسيا ، كازاخستان ، بيلاروسيا ، قيرغيزستان ، أوزبكستان. هذا بالفعل عمل تشغيلي كبير ، نحن رواد في عدد مطاعم البيتزا. يحتاج هذا العمل فقط إلى الدعم والتطوير بعمق ، لأن العمل هنا وتكنولوجيا المعلومات يعملان معًا على ميزات مفهومة.
- .
- .
- .
- .
- : , LTV .
وبعد ذلك (فجأة) يأتي نشاط تجاري ويقول: "نريد أن نبدأ في نيجيريا ،" في نفس البلد الثالث عشر الذي يعمل فيه اثنان من مطاعم البيتزا بالفعل. حتى عام 2019 ، كان الإطلاق نادرًا - دولة واحدة سنويًا. كان فريق التطوير الذي رافق الإطلاق يتغير باستمرار. لم يكن هناك تركيز على التسريع مع هذا النهج.
ليس من الواضح ما إذا كانت الدولة الجديدة "ستطلق النار" أم لا. من سيطلق البلد؟ ما المنتج الذي يجب أن تأخذ منه فريقًا؟ سيتعين على الفريق "المحظوظ" صرف الانتباه عن ميزتهم القاتلة ، وتذكر كيفية نشر النظام ومواجهة بعض الصعوبات. دعونا نتعرف على أي منها.
صعوبات بدء الأعمال
اكتشاف بلد جديد مفاجأة (ربما). في بعض الأحيان توجد فرص في ريادة الأعمال لا يمكن تفويتها ، حتى لو لم تكن مستعدًا. على سبيل المثال:
- ظهر شريك قوي مستعد لتحمل المخاطر ؛
- لاعب محلي قوي يغادر المنطقة.
- كان الشريك يبحث عن فرضية الحلم ويبحث عنها ويبحث عنها وفجأة وجدها ؛
- بعد رحلة عمل دولية ، أدركنا أنه لم يعد بإمكاننا التأجيل وأننا بحاجة ماسة إلى إطلاق البلد.
نحاول التخطيط للفتحات مسبقًا ، لكن في بعض الأحيان تجري الحياة تعديلاتها الخاصة.
إطلاق واحد. عند إطلاق دولة واحدة في العام ، لا معنى للاحتفاظ بفريق متخصص. غادر فريق التطوير الذي أطلق آخر بلد لقطع ميزة قاتلة أخرى.
عندما يحين الدور لفتح بلد جديد ، تكون جميع قوائم المراجعة قديمة ، ويمكن للفريق الذي أطلق آخر دولة أن يساعد فقط في النوبات والبدء. لم يكن هناك تركيز على تسريع بدء تشغيل النظام باستخدام هذا النهج. لقد بدأناها وحسنًا - سنعود بعد عام :)
Razfokus.نظرًا لعمليات الإطلاق الفردية ، سيتعين على فريق التطوير الذي سيتعامل مع البلد الجديد الابتعاد عن الميزات القاتلة لأوراسيا للحصول على فوائد مشكوك فيها في أوروبا أو إفريقيا. بلد جديد ، أول مطعم بيتزا ، سيؤتي الاستثمار ثماره في غضون 1-2 سنوات - يمكن أن يحدث الكثير من الخطأ.
العديد من المكونات ونظام ضخم والعديد من الوصلات - لا يوجد نظام تشغيل مدمج وخبراء. إن إطلاق دولة جديدة ، من وجهة نظر Dodo IS ، ليس مجرد نسخة ولصق من الكود أو الضغط على زر سحري واحد. هذا مشروع منفصل بخصائصه المحلية. يستغرق إطلاقه من 3 إلى 4 أشهر (أطول أحيانًا).
يحتاج كل بلد إلى خبرته الخاصة ، على سبيل المثال ، في نظام ضرائب الشيكات. للتكامل مع الأنظمة المحلية ، تحتاج إلى معرفة تفاصيل أنظمة العناوين. على سبيل المثال ، في سلوفينيا ، يعتبر لقب العميل جزءًا من العنوان الذي يجب أن يؤخذ في الاعتبار في خدمات العملاء.
هناك العديد من الميزات المتشابهة ، وفريقنا بالتأكيد ليس لديه كل المعرفة عنها. هذا يعني أننا سنلهي الأشخاص عن الفريق الآخر الذي لديه خبرة - الإدمان ، لفترة طويلة.
صعوبات فنية
تم إطلاق دودو بيتزا في أبريل 2011. في يونيو 2011 ، بدأ التطوير على Dodo IS. في ذلك الوقت ، لم يعتقد أحد أننا سنطلق مطاعم بيتزا في بلدان أخرى قريبًا ، لأنه كان من الضروري دعم الأعمال التجارية المتنامية في روسيا بسرعة (بسرعة كبيرة جدًا). على سبيل المثال ، ظهر أول تسجيل خروج لمطعم في النظام خلال أسبوعين من التطوير ، لأنه بدونه كان من المستحيل فتح مطعم في أول مطعم بيتزا.
لم يكن هناك وقت للتفكير في كل شيء ووضع قابلية التوسع والمكونات الحيادية للبلد في بنية النظام. آخر شيء اعتقدناه هو أن الكود الذي نكتبه الآن سيتم استخدامه في مكان ما في سلوفينيا أو الولايات المتحدة. لذلك ، على مدار سنوات النمو السريع ، تراكمت الكثير من الديون الفنية ، مما أدى الآن إلى إبطاء عملية الإطلاق.
يستغرق نشر الموقع الإلكتروني والمكتب الخلفي لـ Dodo IS وقتًا طويلاً... لا يمكنك فقط الحصول على مجال لدولة جديدة وتسجيله في إعدادات Nginx ونشر النظام بالنقر فوق الزر. من المؤسف.
الى جانب ذلك ، كل دولة لها تفاصيلها الخاصة. من الضروري إعطاء الشريك منتجًا مناسبًا لبلد معين ، وليس مجرد "Dodo IS عام". بدءًا من تكييف تنسيقات العناوين وأرقام الهواتف وأنواع الشوارع والمستوطنات والمنظمات وانتهاءً بمزيد من التعديلات العالمية. دعنا نضيف إلى هذا الكثير من العمليات اليدوية ونسخ ولصق الكود: enums ، configs ، scripts.
ترجمات إلى لغة البلد . كلنا نحب Excel: بناء الجداول ، وخطوط الألوان ، وكتابة الصيغ المعقدة ، والإشارة إلى البيانات من مستند آخر. هذا ما تم تصميمه من أجله.
في Excel ، قمنا بتنزيل السطور التي تحتوي على المصطلحات للشريك ، وقام بترجمة (بدون سياق وصور) ، وقمنا بتحميل Excel بالترجمات مرة أخرى وكررنا التمرين. هذا ليس ما تم إنشاء Excel من أجله. نعم ، وفي الموارد ، لسوء الحظ ، لم تكن هناك كل المشاريع والخطوط - كان لا بد من تحرير الكود.
مثال على ملف به ترجمات.
بالإضافة إلى ذلك ، بعد إطلاق البلد ، تظهر ميزات جديدة في النظام - لا تتوقف فرق أوراسيا عن كتابة الميزات أثناء طرح البلد. لهذه الميزات ، هناك حاجة إلى الترجمات ومرة أخرى في Excel. طويل ومكلف وغير مريح. لا يمكنك فعل ذلك بدون مطورين.
المكاتب النقدية والضرائب... الخروج من المطعم وتسليم الخروج من مكونات Dodo IS. بدونها ، لا يمكن بيع أي شيء سواء في المطعم أو للتسليم. يجب أن يتم تكييف Checkout مع البلد الجديد ، ويكون الرمز مترابطًا ويسحب الكثير من التبعيات. اتضح ، بالإضافة إلى تطوير الأعمال (الضرائب ، الأسعار ، متطلبات الشيك) ، من الضروري كتابة منطق البلد الجديد بعناية ، بحيث لا تنكسر طباعة الشيكات في روسيا.
تطبيق الهاتف المحمول . لم نكن نعرف كيف نطلقها فورًا مع افتتاح الدولة: لم يكن هناك ما يكفي من الخبرة والوقت وكل شيء. اضطر الشريك أحيانًا إلى الانتظار ستة أشهر (أحيانًا أطول) حتى نطلق التطبيق بعد فتح البلد . إنه أمر غير سار.
ملحوظة... يوجد تطبيق واحد لجميع البلدان - يشبه الوضع أجهزة تسجيل النقد. عند إطلاق تطبيق في رومانيا ، من المهم عدم "ربط" البلدان الأخرى.
الإطلاق هو أيضا دعم . الصفحات المقصودة وأصوات تنبيه المطبخ وأخطاء الترجمة - تظهر كل هذه الإزعاجات الصغيرة عادةً في أول شهرين. لذلك ، بعد إطلاق البلد ، فإن الدعم مهم أيضًا.
كيف حللنا مشاكل العمل
كنا في مثل هذا الموقف في مايو 2019. وعام 2020 وعدنا بأن يكون حارًا - أردنا إطلاق 4 دول في وقت واحد. كان علي أن أفعل شيئًا حتى لا أفشلها.
لقد حددنا منتجًا مستقلًا جديدًا - "إطلاق بلدان جديدة" - وحددنا هدفًا طموحًا - إطلاق دولة "على الزر". باستخدام الزر ، يمكننا:
- نشر النظام كما هو ؛
- , : , , ;
- , -, .
أمر. الهدف لا يمكن أن يتحقق بدون فريق. لذلك ، في مايو 2019 ، وافق فريق MyLittleCoders على أن يصبح فريق اكتشاف البلد بنسبة 100 ٪ من الوقت. لقد أبرزنا الافتتاح إلى منتج جديد: هناك مقياس "سرعة الإطلاق" ، وهناك فريق ، وتراكم التسريع مليء بالمهام الفائضة. اجتمع كل ذلك معًا - حان وقت العمل.
شعار فريق
خريطة القصة MyLittleCoders (MLC) . الإستراتيجية طويلة الأمد واضحة: الإسراع ، البحث عن الناس ، تبني الكفاءات. كان من الضروري تعلم كيفية "إطلاق البلد على أساس تسليم المفتاح" بشكل مستقل ، دون تشتيت انتباه الفرق الأخرى.
بدأنا بإطلاق نيجيريا ، قبل الافتتاح بثلاثة أشهر. أصبحت نيجيريا دولة اختبار بدأوا منها بشكل منهجي في بناء عملية إطلاق واضحة. وهذه هي الطريقة التي فعلنا بها ذلك.
بصرف النظر عن هدفنا الرئيسي المتمثل في إطلاق مطعم بيتزا في أكتوبر ، فقد سجلنا الأشياء التي تستغرق وقتًا طويلاً للعودة إليها بعد الإطلاق. بعد الإطلاق ، قمنا ببناء خريطة قصة ، ووفقًا للملاحظات ، لاحظنا الأشياء التي تستغرق معظم الوقت.
جزء من خارطة القصة لإطلاق بلد جديد.
كيف حللنا المشاكل الفنية
معالج الإعداد الأولي للدولة. أظهر تحليل خريطة القصة أنه يمكن أتمتة بعض المراحل ، مما سيسرع عملية الإطلاق بشكل كبير. لذلك ، كان أول تحسن كبير هو معالج البلد.
بعد شراء iPhone جديد ، يتم نقل الإعدادات من الهاتف القديم ببضع نقرات - 3 شاشات والهاتف الجديد جاهز للعمل. أردنا أن نفعل شيئًا مشابهًا لـ Dodo IS.
- قم بتشغيل معالج تهيئة البلد.
- : « ».
- , , , .
- ( ).
- Next, next, next — - .
في سياق العمل ، تغير المفهوم. في البداية ، أردنا إضافة جميع إعدادات النظام إلى معالج البلد (المنتج RO المطلوب والحلم ، كان الفريق مقيّدًا ومتفائلًا). لكن لدينا بالفعل لوحة إدارة داخلية ، والتي كان من غير المجدي تكرارها في معالج الإعداد. ثم تركنا فيه فقط الحد الأدنى من الإعدادات ، والتي بدونها لا يمكن للنظام ببساطة أن يبدأ. يمكن تعديل المنتجات والقوائم وأسعار الموردين والتغليف لاحقًا.
لماذا لا يمكن أن يبدأ النظام بدون الكثير من المعلمات؟ تاريخياً ، كانت هذه المعلمات مطلوبة لتطوير دودو IS. إنها مهمة منفصلة للفريق لفصل هذه التبعيات وجعلها اختيارية للتشغيل.
في النهاية ، كل شيء سار على ما يرام. بدلاً من العديد من الأماكن التي نحتاج فيها إلى تعديل شيء ما ، فإننا:
- انتقل من خلال معالج إعداد أولي واحد ؛
- نحصل على تفريغ جديد للنظام ؛
- نعطيها للشباب من البنية التحتية للدحرجة.
يومين (وليس شهر كما في السابق) - والنظام جاهز للعمل.
مثال على تكوين معلمات التسليم باستخدام معالج التكوين الأولي.
إطلاق قوائم المراجعة. ليس من الممكن دائمًا تحقيق التسارع فقط من خلال التطوير والأتمتة. قوائم مراجعة بدء التشغيل هي مثال على ذلك. في بعض الأحيان يكون كافياً أن نصف بالترتيب ما الذي يجب القيام به وما الذي يجب القيام به ، وأين يجب الضغط ، ومن يجب ركله ، والسيناريو المطلوب لفه.
لذلك ، وصف فريق المطور والمحلل العملية برمتها بدقة. نتيجة لذلك ، لدينا مستند كبير به أرقام ونقاط: ما يجب القيام به قبل الإطلاق ، وماذا أثناء ، وما بعد ذلك.
جزء من قائمة التحقق الخاصة بالإطلاق.
إعادة تدوير قوائم المراجعة القديمة هي عملية ممتعة. أخذ المطورون يتناوبون عبر قوائم المراجعة بأيديهم ، ويفتحون وينشئون بلدان الاختبار ، ويجمعون المتاعب ويحسنون قوائم المراجعة. وهكذا عدة مرات. مكافأة هذا النهج هي الانغماس العميق للرجال في النظام نفسه.
إعدادات البلد من نقطة واحدة . لا يكفي جمع كل الإعدادات من معالج البلد. من المهم أن يقرأ النظام ومكوناته أيضًا هذه الإعدادات من نفس المستودع. خلاف ذلك ، تظهر المواقف المضحكة. على سبيل المثال ، عندما يعرض مدير المكتب العملة الصحيحة (لنيجيريا ، نيرة) ، ويظهر عرض القطع بشكل غادر روبل. اعتبرت كل خدمة أن من واجبها إنشاء إعداداتها الخاصة. اضطررت إلى المرور من خلال 7-8 أماكن في النظام حتى يتمكن الجميع أخيرًا من إظهار العملة الصحيحة.
كنت أرغب في تعديل الإعدادات في مكان واحد ثم تطبيقها في جميع أنحاء النظام. في الواقع ، نحن نواجه الحاجة إلى إجراء تغييرات على كل مكون تقريبًا في النظام. التغييرات صغيرة ، لكن هناك الكثير من المكونات.
من خلال الجهود الجبارة للفريق ، و 100500 سطر من لصق النسخ عن بعد وقليل من سحر البرمجة ، يأخذ النظام الآن الإعدادات من مستودع واحد. لا تزال "Tails" قائمة ، لكن معظم الإعدادات كانت مركزية. يمكنك الآن تعيين قناع هاتف أو تنسيق عنوان أو إعدادات أخرى لبلد بأكمله في مكان واحد.
ملاحظة . قصة كيف قطعنا لصق النسخ لفترة طويلة وترجمنا النظام لاستخدام خدمة الدليل تستحق مقالة فنية منفصلة. إذا كنت مهتمًا ، فاكتب في التعليقات.
الترجمات. بدلاً من Excel ، أردت نظامًا بسيطًا ومفهومًا للترجمة ، بحيث:
- لم تكن هناك حاجة لتحميل أي شيء إلى ملفات الطرف الثالث ؛
- تلقي إشعارات بإضافة سطر ترجمة جديد ؛
- كان من الواضح في أي سطور ولغة لم تتم ترجمتها بعد.
بحثنا عن خدمات التعريب وتحدثنا إلى الدعم واستقرنا على خدمة Crowdin . بسيط ، مع تمايز الأدوار - ظهر مثل القفاز. أعجبتني بشكل خاص الميزة المضمنة في السياق: عندما نفتح موقعًا إلكترونيًا أو مكتبًا خلفيًا في بيئة خاصة ونقوم بتعديل الخطوط في الواجهة مباشرةً. لذلك يمكنك أن ترى على الفور أين وما الذي نقوم بتصحيحه بالضبط - مريح.
Crowdin التحرير في السياق.
تم ربط Crowdin أولاً بالمكتب الخلفي ، وربط تدريجياً الكتلة المتراصة ، ثم الخدمات المنشورة ، ثم موقع الويب. لم ينجح كل شيء على الفور ، ولكن الآن يكفي إضافة سطور جديدة للترجمة حتى يتمكن الشركاء من رؤيتها وترجمتها بأنفسهم.
لا مزيد من Excel.
تم تبسيط جميع عمليات الأقلمة: يمكن للشريك الآن إجراء الترجمات مسبقًا ودون مساعدة المطورين. لذلك عندما نكون مستعدين لطرح Dodo IS والموقع ، تكون الترجمات جاهزة عادةً.
في السابق ، كانت الترجمات في رمز - كان يجب ربط عملية الترجمة بالتطوير والإصدارات. بفضل خدمة Crowdin ، اتضح جعل هاتين العمليتين مستقلتين. نحن الآن نحاول جميع الخدمات الجديدة ، والصفحات المقصودة ، وحيثما يوجد شيء ما للترجمة ، اتصل مباشرة بـ Crowdin. هذا يبسط الحياة إلى حد كبير ويمنح الشريك الفرصة لإجراء الترجمات وفقًا لسرعتنا الخاصة ، ونقوم بنشر النظام وفقًا لسرعتنا الخاصة.
كمكافأة ، قم بتعيين لغة النظام إلى الإنجليزية بشكل افتراضي... في السابق ، كان النظام يستخدم اللغة الروسية بشكل افتراضي ، وهي غير مناسبة للشركاء الدوليين وموظفيهم. الآن ، إذا كانت بعض الترجمات مفقودة في النظام ، فسيرى الشريك النصوص الإنجليزية. يحدث هذا عادةً فور نشر النظام.
ما هي النتيجة
منذ يوليو 2019 ، قمنا بعمل رائع - قمنا ببناء نظام إطلاق وإضافة هيكل للعملية بأكملها . قمنا بإعداد النظام من خلال المعالج ، يقوم الشريك بترجمة الواجهات بشكل مستقل ولا يعتمد على المطورين.
إن المسار الكامل لطرح دولة جديدة موصوف بالتفصيل . الآن تستغرق الرحلة 2-3 أسابيع ، بدلاً من 3 أشهر قبل ذلك. بعد أسبوع من البداية ، يفتح الموقع الإلكتروني والمكتب الخلفي. لم يتم ملؤها بالبيانات بعد ، لكن يمكنهم بالفعل تلقي الطلبات.
الخطط
أضف نفس المقدار تقريبًا - كل ما هو أعلاه ليس حتى نصف العمل. والآن ينتظرنا تحدٍ جديد - تدريجياً ، خطوة بخطوة ، بلد تلو الآخر ، لتحسين هذا النظام. على سبيل المثال:
- توسيع "حزمة الإطلاق" تدريجيًا ، وإضافة ميزات جديدة هناك ، على سبيل المثال ، "موقع للعمل في Dodo" أو "موقع للمتسوقين السريين" ؛
- إضافة دعم متعدد اللغات على الموقع والتطبيق ؛
- تبسيط معالج الإعداد الأولي للدولة بشكل أكبر ؛
- إضافة نظام من المكونات الإضافية لسجلات النقد من أجل جذب المتعهدين المحليين لتطوير وحدة لطباعة الشيكات لبلد معين.
التطبيق . منذ يناير 2020 ، انضم إلينا فريق Legionnaires المتنقل (3 أشخاص). نخطط "لتوزيع الديون" - لإطلاق التطبيق في جميع البلدان ، ومعرفة كيفية إطلاق بلدان جديدة على الفور مع التطبيق.
تكامل Checkout . الآن هذه هي أطول مرحلة في إطلاق البلاد - نخطط لتسريعها. نحن نخطط لقطع مسجلات النقد (منطق طباعة الإيصالات) من الكتلة المتراصة ، ونقلها إلى خدمة منفصلة وإنشاء بنية إضافية هناك. بهذه الطريقة يمكننا إشراك فرق خارجية لتطوير مكون إضافي لبلد معين. على سبيل المثال ، ستقوم شركة تعهيد في بولندا بإجراء تكامل أمين الصندوق لبولندا عن طريق كتابة ملحق مناسب. سيسمح لك ذلك بالتسريع أكثر.
أخيرا
إن إطلاق البلد هو نصف المعركة - الآن تحتاج أيضًا إلى دعم الشركاء الحاليين (الذين أصبحوا مجرد شريك آخر):
- UK;
- ;
- «» «» ;
- .
بالإضافة إلى ذلك ، هناك العديد من الفرضيات وطلبات التطوير من الشركاء الدوليين الحاليين. قد لا تكون هذه الطلبات مثيرة للاهتمام بالنسبة لأوراسيا ، حيث تشكل السوق بالفعل ، ولكنها ذات صلة بأوروبا ، حيث بدأنا للتو في النمو.
هذا هو السبب في أننا نقوم بتجميع فريق جديد لمنطقة أوروبا والشرق الأوسط وإفريقيا. سيقوم هذا الفريق بتكييف النظام مع الأسواق المحلية ، مما يخلق التفرد الذي يميز الأعمال في المملكة المتحدة عن الأعمال التجارية في نيجيريا. نحن نبحث عن مطورين ذوي خبرة للانضمام إلى الفريق. إذا كنت مهتمًا باكتشاف العالم ، وإطلاق مطاعم بيتزا جديدة على الخريطة وحل المهام غير الروتينية - فنحن في انتظار انضمامك إلى الفريق. اكتب لي على d.pavlov@dodopizza.com - سأكون سعيدًا بالتحدث :)
ملاحظة . في آخر، وصفت كاتيا Landyreva في المزيد من التفاصيل ما ينتظركم قليلا والسبب انها باردة للعمل في منتجاتنا.