سؤال

عند فرز الأخطاء في أحد الإصدارات، ما هي المعايير المستخدمة عادةً لتحديد ما إذا كان سيتم إصلاح الخطأ في الإصدار؟

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

المحلول

المقال الكنسي حول هذا هو حياتي كخبير اقتصادي, بقلم إريك سينك.

من المفيد حقًا قراءة المقالة، ولكن إذا كنت تريد تلخيصها لك في قائمة مرجعية:

  1. عندما يحدث هذا الخطأ، ما مدى سوء التأثير؟- الشدة
  2. كم مرة يحدث هذا الخطأ؟- تكرار
  3. ما مقدار الجهد المطلوب لإصلاح هذا الخطأ؟- يكلف
  4. ما هو خطر إصلاح هذا الخلل؟- مخاطرة

نصائح أخرى

  • شدة التأثير على المستخدم
  • تردد الظهور
  • هل الحل متاح؟
  • تكلفة الإصلاح
  • الوقت لإصلاح
  • الوقت المتبقي قبل الموعد النهائي للإصدار
  • توافر الموارد التي يمكنها إجراء الإصلاح

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

مبدأ السماح للكلاب النائمة بالكذب.

تأتي نقطة حيث يجب قفل الرمز.تتطلب إصلاحات التعليمات البرمجية مزيدًا من اختبارات الانحدار ويستغرق ذلك وقتًا.

محزن لكن حقيقي.

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

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

الأهمية والتأثير والمال عادة.

  1. الأهمية:ما يحدث؟هل يؤدي ذلك إلى إفساد البيانات، أو إسقاط النظام، أو هذا النوع من الأشياء.
  2. تأثير:كم عدد الأشخاص الذين سيتأثرون؟
  3. مال:هل سيدفع لنا شخص ما (أو ما هو أسوأ من ذلك، حجب الدفع) إذا (لم نقم) بإصلاحه؟

الأشياء التي تؤثر على الشدة لم أرها بعد في هذا المنشور.

  • SLA - هل له تأثير على SLA؟
  • المنفعة الداخلية (الصيانة) مقابل المنفعة الخارجية - تحظى المنفعة الخارجية دائمًا بأولوية أعلى
  • البصرية مقابل الوظيفية - الوظيفية بشكل عام تحظى بأولوية أعلى
  • من وجده؟(العميل مقابل زميل العمل) - يحصل العميل على أولوية أعلى

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

  1. الأشياء التي تنتهك الامتثال أو تسبب مشاكل قانونية أخرى تعتبر سيئة للغاية
  2. الأشياء التي يمكن أن تسبب الإفراط في التداول (كنت تريد شراء 100000 سهم من DTE ولكننا حصلنا على 100200 سهم) سيئة للغاية^3
  3. الأشياء التي تمنع العميل من التداول عندما يريد ذلك هي أشياء سيئة للغاية
  4. الأشياء التي تزعج العميل سيئة للغاية

لقد تحدثت منذ بضعة أيام مع "مدير فرز الأخطاء" الذي يعمل في مجال مختلف.لقد قالها ببساطة:

أولاً أصلح العطل، ثم أصلح الأشياء التي تسبب لنا خسارة المال، ثم أصلح الأشياء التي تجعلنا نبدو سيئين، ثم أصلح كل شيء آخر.

في تجربتي، الأمر فقط:

  • مدى خطورة الخلل
  • مقدار الوقت المجاني للتطوير قبل الإصدار.

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

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

كقاعدة عامة، سنقوم بتصحيح أي خطأ يؤدي إلى تعطل النظام خارج دورة الإصدار.

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

نحن نستخدم تقريبًا نفس نظام تحديد أولويات الأخطاء كما ذكر الآخرون في هذا الموضوع، مع الاستثناء الإضافي الذي يمكن للعميل أن يدفعه لرفع أولوية الخطأ (أو الميزة).

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

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

ومع ذلك، فقد وجدت المقياسين التاليين بمثابة مبدأ توجيهي مفيد.

  • كم عدد المستخدمين المتأثرين؟
  • ما مدى تأثرهم؟

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

أنا أتفق مع @Chris Upchurch، ولكن أعتقد أن العامل الرئيسي هو الحصول على موافقة جميع الأطراف قبل أن تدخل في وقت الذروة.بهذه الطريقة، يمكنك مراجعة قائمة المراجعة الخاصة بك مع الحد الأدنى من صرير الأسنان وضرب الصدر.

فيما يتعلق باتخاذ القرارات، لا يمكن أن تكون الإجابة الأفضل أفضل بناءً على الخطورة والتأثير والتكلفة وما إلى ذلك.

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

  • إذا وجدت خطأ، قم برفع تقرير خطأ
  • إذا كنت تستطيع إصلاحه، القيام بذلك.(يتم رفع التقرير لأن وجود الخلل قد يحتاج إلى الإبلاغ)
  • إذا فهم قائد الفريق الخطأ، فيجب تعيين الأولوية (أو التدابير الأخرى التي يستخدمها الفريق).أضف معلومات "ماذا يعني هذا حقًا".من المهم أن يتمتع قائد الفريق (ببعض) السيطرة على قائمة الأخطاء.
  • مراجعة الأخطاء لم يتم إصلاحها / تحديد أولوياتها على مستوى الإدارة.تمثل الأخطاء غير المفهومة خطرًا كبيرًا ويجب أن تتاح للسلطات الفرصة لفهم المخاطر.
  • في جميع الأوقات، احصل على رؤية شاملة للمشروع لأهم الأخطاء (يمكن أن يكون هذا منفصلاً عن الأولوية على سبيل المثال.قائمة أعلى 5)
  • شجع المبرمجين على إصلاح الأخطاء بجانب مهام التطوير

ثم عندما تفكر في الإصدار.

  • فرع التعليمات البرمجية والتحريض على تجميد الميزة
  • حدد الأخطاء التي تنوي إصلاحها (لا داعي لطلبها :-))
  • أضف فقط الأخطاء إلى هذه القائمة والتي يمكن تكرارها في الكود المجمد و متفق
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top