ثلاث علامات أكيدة على أن الوقت قد حان لتقليص إطار العمل الخاص بك

في حياة أي فريق تطوير تقريبًا ، تأتي لحظة ينتقل فيها إنشاء إطار عملنا الخاص من حالة "ماذا بحق الجحيم يجب أن نضيع الوقت؟" إلى الحالة "فكرة رائعة!". كانت لدينا مثل هذه اللحظة منذ شهرين تقريبًا ، عندما بدأنا في شد التحكم الصوتي في عمليات النقل باستخدام Siri إلى تطبيق PSB Mobile للهاتف المحمول ، PSB Mobile. لقد قمنا بتحليل تجربتنا وسنقوم على أساسها بإخبارك بكيفية فهم أن الوقت قد حان لإطار العمل مع ذلك.



"ما هو الإطار ، ما الذي تتحدث عنه؟"


في السابق ، تم تطوير عميل iOS للأفراد في البنك من خلال الاستعانة بمصادر خارجية. ثم تقرر إعادة كتابة كل شيء بمفرده من البداية. قمنا ببناء عملية SCRUM مع سباقات لمدة أسبوعين ، وبدأ العمل في الغليان - كنا نبحث بنشاط وإضافة ميزات جديدة ، رقائق البطاطس. في هذه المرحلة من عمليات البحث النشطة ، كان من الصعب التنبؤ بما يمكن أن يتجذر ، وما الذي لن يكون جذريًا. تخطيط كل شيء 40 خطوة إلى الأمام لا معنى له. لم يفكر أحد في الرتوش مثل العالمية - قم بإنشاء إطارك الخاص ، وقم بتخصيص أجزاء من الكود في مكتبات منفصلة لإعادة استخدامها. احتمال أن هذا لن يكون له معنى مرتفع للغاية.

ربطنا WWDC


لماذا يعد SCRUM أمرًا جيدًا - غالبًا ما نتصل بالعمل التجاري كعميل. في الوقت نفسه ، بدأت تحدث تغييرات مهمة. بدأنا في فهم المنتج والمهام التجارية والعمليات التجارية للبنك الذي يشارك فيه التطبيق بشكل أفضل. والأهم من ذلك ، بدأت الشركة ، من جانبها ، في النظر في تطوير التطبيق كعملية ، وبدأت في فهم أفضل لكيفية عملنا ، وبدأت تتفق معنا على أن هناك مهام مهمة ، لا ينتج عن حلها تأثيرًا مؤقتًا ملحوظًا.

لقد ساعدنا على التوافق مع مؤتمر ... WWDC. شاهد عملاؤنا التجاريون بطريقة أو بأخرى إعلانات فرص التفاح الجديدة وصعدوا إلى Apple Developer بفضول. والمثير للدهشة أن كل شيء أصبح أكثر وضوحا مما كان متوقعا. منذ ذلك الحين ، نحن لا نشارك فقط في مهام العمل ، ولكن الأعمال لم تعد خائفة من التكنولوجيا: فهم يحاولون قراءة المواصفات بأنفسهم ، والحصول على نظرة ثاقبة للمشكلات ، والمساعدة في التحليلات والدخول في مشاكل التطوير. بدأوا يدركون أنه من غير المجدي انتظار زيادة واضحة في المنتج كل أسبوعين - بعد كل شيء ، هناك سباقات خدمة ، لا يوجد منها نمو ملموس. وصل التفاهم المتبادل إلى النقطة التي اتفقنا عليها لإعطاء إعادة بيع 20 ٪ من وقت العدو.

تطور الدراجات


مع نمو قسم التطوير ، وملء التطبيق بميزات جديدة ، وظهور عدة فرق تعمل في وقت واحد في مهام مختلفة ، بدأت الفروق الدقيقة الجديدة في الظهور. يمكن أن تكون بعض المهام الفرعية للفرق متشابهة ، وعلى الفور كانت هناك رغبة في عدم إعادة اختراع العجلة ، ولكن أولاً وقبل كل شيء لتوضيح ما إذا كان لدى أي شخص رمز جاهز.

لا توجد عادةً شكاوى حول الكود من مطورينا ، لذلك يمكن استخدامه بشكل متكرر - وليس فقط في إطار منهجية إعادة استخدام الكود المعتادة. ربما ، في هذه المرحلة بالفعل في رؤوسنا نشأت الفكرة لفصل بعض الأشياء إلى مكتبات منفصلة للصالح العام. ولكن في إطار المهام الحالية ، لم يكن من الممكن إيجاد الوقت لهذه العمليات. احتاج الأمر إلى سبب ما ، وسرعان ما ألقى بنا رجال الأعمال علينا.

تمديد الزناد


كانت هناك مهمة لتقديم الدعم للواجهة الصوتية - بحيث يمكنك تسديد المدفوعات للعملاء الآخرين للبنك عبر Siri عبر رقم الهاتف. يقول: "تحويل الكثير من المال لمثل هذا الشخص". وإذا كان هذا الشخص من عملاء Promsvyazbank ، فستظهر بطاقة الشخص على الشاشة ، ومبلغ التحويل ، والسؤال "إرسال أموال؟" وزر الإرسال. توجد وظيفة مماثلة بالفعل في بعض التطبيقات المصرفية ، لكننا أردنا أن نجعلها بحيث تكون آمنة من ناحية ، ومن ناحية أخرى ، لا يحتاج العميل إلى الدخول في التطبيق المصرفي.



يتضمن العمل مع Siri كتابة ملحق منفصل ، وعندما بدأنا في التخطيط له ، أدركنا أن الوقت قد حان لتطوير أطر عملنا. في مشروع تطبيقنا ، تم تنفيذ طبقة شبكة ، وظهر خيار (في الواقع ، لا): اكتب هذه الطبقة مرة أخرى أو ضعها في حاوية منفصلة ، متوفرة في التطبيق الرئيسي وفي ملحق منفصل.

في هذه العملية ، نشأت مهمة فرعية معمارية لإخراج جزء من الرمز في أطر منفصلة. كان هناك أربعة في المجموع:

  • طبقة الشبكة (الوسط) - هنا كل العمل مع الشبكة ، فئات النموذج ، خدمات API. يتم إنشاء هذه الطبقة تلقائيًا بالكامل.
  • تسجيل الدخول
  • المرافق - المرافق والمساعدين
  • التخزين - التخزين الآمن

من الواضح أن هذه ليست خبرتنا. لذلك من المعتاد القيام به في مثل هذه الحالات ، هذه هي أفضل ممارسة لجميع المطورين الذين يحترمون أنفسهم. ولكن من المهم كيف توصلنا إلى ذلك. في هذه اللحظة ، اجتمعت ثلاث علامات رئيسية لإنشاء الإطار:

  • لقد قمنا بتطوير قاعدة رمز كافية
  • بدأ العمل في فهم احتياجاتنا المعمارية (أي احتياجاتها).
  • نشأت مهمة مناسبة


آفاق جديدة


بعد إدراك أن كل شيء أصبح بسيطًا. في الاجتماع القادم للمطورين ، ناقشنا التفاصيل ، واخترنا ضحية الشخص المسؤول الذي سيشارك في إعادة الهيكلة الرئيسية ، وخصص له الوقت - وهو وقت كامل لهذه المهمة. بقية المطورين لم يكاد يؤثر عليهم. ولكن عندما بدأنا في وضع طبقة الشبكة في الإطار ، ظهرت الأفكار على الفور للأجزاء الأخرى التي يتم استخدامها بشكل متكرر من التعليمات البرمجية التي يجب وضعها في المكتبة. توسعت إمكانياتنا المعمارية فجأة. بدأنا الحياة بدرجة إضافية من الحرية.

لكننا نستخدمها بدون تعصب. لتحديد ما إذا كان سيتم ترميز الشفرة في وحدة منفصلة أم لا ، فإننا ننظر إلى الأعمال المتراكمة ونحدد ما إذا كان سيتم إعادة استخدام هذه الوحدة في عدة أماكن. إذا لم يكن كذلك ، فلا تقلق.

هل نرى فوائد استخدام أطر عملنا؟ نعم بالتأكيد. الآن نرى أجزاء الشفرة المطلوبة كجزء من المهمة الجديدة موجودة بالفعل في المستودع. تطوير الخدمات الجديدة أسرع ، وأخطاء برمجة أقل ، وجودة الخدمات النهائية أعلى.

إذا كنت بحاجة إلى ملحقات جديدة لنظام iOS ، فلدينا بالفعل الأطر اللازمة ، يمكنك التجربة على الفور. بالنسبة للخدمة التي تم تنفيذها بالفعل مع Siri ، فقد كانت متاحة لمستخدمي البنوك منذ أكثر من شهر - الآن نقوم بجمع المراجعات ، بما في ذلك من أجل فهم كيفية استخدام الواجهة الصوتية وماذا أيضًا.

القليل من المستقبل


لقد جعلتنا القصة مع Siri نفكر ليس فقط في الأطر ، ولكن في الواجهات بشكل عام. لم تتعلم البشرية بعد قياس تركيز الانتباه ، بطريقة أو بأخرى بطريقة غير مباشرة. على سبيل المثال ، كلما كان UX و UI أسوأ ، كلما زاد ضياع الانتباه ، زاد تضييق مسار التحويل مع كل خطوة. يتطلب التحويل المنتظم للأموال من خلال تطبيق مصرفي مجموعة من الإجراءات من المستخدم: افتح التطبيق ، سجل الدخول ، ابحث في قائمة واحدة ، في الثانية ، أدخل المرسل إليه. مع Siri ، يعد هذا أمرًا غير مقفل بالإضافة إلى أمر صوتي. يحدث التفويض في المقدمة من خلال Face ID. وفي بعض السيناريوهات ، لا تحتاج حتى إلى إحضار الهاتف إليك. على سبيل المثال ، عندما تقود سيارتك ، ويتم تثبيت الهاتف في مكان قريب ، يمكن للكاميرا التعرف عليك بسهولة.

انظر حولك: بدأ المساعدون الصوتيون في التغلب بنشاط على المساحة المحيطة. الضجيج حول السماعة الذكية Yandex ، الغسالات التي تتحدث وتفهم الأوامر ، أجهزة التحكم عن بعد التي تتعرف على الصوت. كلما زاد عدد المستخدمين المحاطين بواجهات الصوت ، كلما أصبحوا أكثر استعدادًا للتواصل مع التطبيقات المصرفية.

ستفقد واجهات الرسوم البيانية في هذه الحالة احتكارها ، من وسائل الاتصال الرئيسية التي ستتحول ببساطة إلى تأكيد مرئي للعمل ، إلى طريقة للإشارة إلى أن الكمبيوتر قد فهمك بشكل صحيح.

بالنسبة للمطور ، مثل هذا التغيير ، من حيث المبدأ ، ليس مخيفًا. مع التصميم الصحيح ، يمكن أن يحتوي التطبيق على أي عدد من الواجهات: المرئية والصوتية والعصبية. الشيء الرئيسي هو استخدام المناهج التي تتوافق مع المستوى الحالي لنضج الفريق.

Source: https://habr.com/ru/post/ar418363/


All Articles