ما هي الآثار المترتبة على ISO 9001/CMMI للتحكم في المصدر بشكل عام ، و GIT/Mercurial/DVCs على وجه الخصوص؟

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

  •  26-09-2019
  •  | 
  •  

سؤال

لقد طرحت هذا السؤال حول التحكم في المصدر الموزع بشكل عام من قبل شخص على دراية بخادم مؤسسة Team.

هل من الممكن استخدام DVCs مثل Git أو Mercurial للتحكم في المصدر والامتثال لمعايير مثل ISO 9001 أو CMMI؟

ما هي متطلبات ISO 9001 و CMMI في أي أدوات التحكم في المصدر يجب ألا تكون قادرة عليها ولا ينبغي أن تكون قادرة عليها؟

هل هناك أي أشياء تقوم بها Git/Mercurial التي تعتبرها ISO 9001/CMMI ضارة أو تتطلب اعتبارات محددة؟

لقد وجدت بعض المعلومات في http://www.ssqc.com/do25v6new.pdf ولكن في لمحة سريعة ، لا يبدو أنه يقول الكثير غير الحاجة إلى الاحتفاظ بسجلات لما تم تغييره ، وأي إصدارات من برنامجك قمت بنشرها ، وأي المشكلات التي تصلحها ، ولا يوجد سبب لعدم وجود DVCs قادرة على التعامل مع ذلك بالاشتراك مع متتبع الأخطاء مثل Fogbugz وخادم CI مثل TeamCity.

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

المحلول

أولاً ، البرمجيات ليس ISO 9001 Compilant. المنظمات فقط هي تجميع ISO 9001. لذا فإن السؤال كما ذكر حقًا لا معنى له. الشيء الوحيد الذي يمكن أن تسأله هو ما إذا كانت فرق تطوير GIT أو Mercurial هي مجموعة ISO 9001. (الشيء نفسه ينطبق على CMMI).

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

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

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

نصائح أخرى

أعمل في بيئة 21 CFR 820 (جهاز طبي منظم)/ISO 13485 ، لكن "الصورة الكبيرة" هي نفسها ISO 9001. وأنا أتفق مع كل الأشياء المذكورة أعلاه حول ISO 9001 حول العملية ، وليس الأدوات.

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

لمثل هذه الأدوات ، يجب أن يكون لدينا وثائق "التحقق من أنظمة الكمبيوتر" (CSV). تتضمن CSV لأداة الطرف الثالث (1) مواصفات الأداة التي تصف حالات الاستخدام داخل دورة تطوير المنتج وكيفية تأثيرها على الجودة و (2) حالات الاختبار التي يمكن أن توفر دليلًا موضوعيًا على أن الأداة فعالة في حالات الاستخدام المقصودة .

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

من الصفحة الرئيسية CMMI:

CMMI هو نهج تحسين العملية يوفر للمؤسسات العناصر الأساسية للعمليات الفعالة التي تعمل في النهاية على تحسين أدائها.

CMMI يتعامل مع العملية ، وليس الأدوات. أفهم أنه يمكنك التحكم في الإصدار باستخدام أقراص الطين وأن تكون متوافقًا مع CMMI إذا كان لديك عملية للقيام بذلك (المستوى 2) وتتبع العملية (المستوى 3،4،5).

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

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

فيما يتعلق بتأكد من أن فريقك مستعد لتمرير تدقيق CMMI ، فإن الشيء الوحيد الذي سيكون مصدر قلق بسيط هو أن يحاول نقل فريق متوسط/كبير الحجم من VCs مفتوح المصدر (SVN ، CVS) أو VCs التجارية (MKS ، Accurev ، إلخ ...) إلى DVCs دون وقت الدوران المناسب. نظرًا لأن الانتقال يمكن أن يكون متضايقًا ، فأنت تريد التأكد من أن فريقك لديه قبض على أي DVCs قبل الانخراط في التدقيق.

كما لاحظ الآخرين ISO 9001 لا يتعلق بالأداة. العمل في مؤسسة هي إشارات متوافقة مع ISO 9001 التي (المؤسسة نفسها) "ناضجة". الكلمة الناضجة ، في هذا السياق ، تشير إلى أن المنظمة تلتزم بدقة بالعمليات التي تم تدقيقها ووجد أنها متوافقة مع ISO 9001. لن تؤثر العمليات التي تنطوي على Git أو Mercurial على قدرتك على أن تصبح متوافقة مع ISO 9001 بأي شكل من الأشكال (إلا إذا لم تتبع العمليات).

على الأقل ، هذا هو فهمي لكل شيء.

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