طريقة ودية رشيقة لدمج اثنين من التطبيقات/الفرق المنفصلة [مغلقة

StackOverflow https://stackoverflow.com/questions/3505601

سؤال

لدينا فريقان متميزان ، كل منهما يعمل على تطبيقات منفصلة ، ولكن ذات صلة.
تمكن كل فريق ، حتى الآن ، من العمل بطريقة مستقلة (قواعد رمز مميزة ، متاجر الثبات ، العدو ، المتراكمة وما إلى ذلك). في الآونة الأخيرة ، قررت إدارة المنتجات أن هذه التطبيقات ستصبح متكاملة بشكل أوثق. في ملاحظة جانبية ، سيتزايد حجم كل فريق (يتألف من QAS ، Devs ، BAS) على مدار 6-12 شهرًا القادمة.

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

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

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

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

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

هل كانت مفيدة؟

المحلول

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

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

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

نصائح أخرى

لا أعتقد أن الحفاظ على العملية الحالية سليمة فكرة جيدة. يجب أن يزداد التعاون والتواصل بين الفرق وإلا سيكون له تأثير سلبي على كلا الفريقين. يجب أن تتبع ممارسة مماثلة مع Scrum of Scrum.

يحررScrum of Scrum: ليس لدي خبرة مع Project التي يتعامل معها أكثر من فريق Scrum ، ولكن بسبب تجربة جيدة جدًا مع Daily Scrum ، أعتقد أن Scurm of Scrum يعمل وزيادة الإنتاجية في جميع الفرق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top