هل ما زال أحد يؤمن بنموذج نضج القدرة للبرمجيات؟

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

  •  09-06-2019
  •  | 
  •  

سؤال

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

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

لذلك أنا أتساءل، هل رأى أي شخص فائدة حقيقية وملموسة من الالتزام بتحسين العمليات وفقًا لـ CMM؟

وإذا رأيت تحسنًا، فهل تعتقد أن التحسن يُعزى بشكل خاص إلى CMM، أم أن هناك نهجًا بديلاً (مثل ستة سيجما) كانت على قدم المساواة أو أكثر فائدة؟

هل ما زال أحد يؤمن؟

جانبًا، بالنسبة لأولئك الذين لم يشاهدوه بعد، شاهدوا هذا المضحك لأنه حقيقي محاكاة ساخرة

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

المحلول

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

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

نصائح أخرى

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

باعتباري مطورًا، لم أحصل على أي شيء منه ولكني خسرت شهورًا من حياتي المهنية بسبب التلاعب بـ CMMI.

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

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

جمعية البناء الخيرية.

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

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

من الصفحة 14، القسم 1.6 من نموذج نضج القدرة، إرشادات لتحسين عملية البرمجيات بواسطة معهد هندسة البرمجيات بجامعة كارنيجي ميلون، ISBN 0-201-54664-7.

إذا رأيت تشغيل CMM.واجري بسرعة.

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

وهذا يؤدي إلى قيام المنظمة بكل ما في وسعها "للحصول على الرقم فقط" دون الاهتمام فعليًا بتحسين عمليتهم.

النهاية العليا؟لا.محلات CMM-5 لا تعجبني.

النهاية السفلى؟نعم.منظمات CMM-1 تخيفني.

يمكن لـ CMM مساعدة الفريق الجديد/المبتدئ على قياس أنفسهم والقيام بالتحسين الذاتي.

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

خلفية:لقد درست CMMI في برنامج الدراسات العليا في هندسة البرمجيات وعملت ضمن فريق اتبع إرشاداته.

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

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

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

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

جميع الطرق الرسمية موجودة لبيع الكتب/الدورات التدريبية/الشهادات وليس لأي سبب آخر.ولهذا السبب هناك العديد من الأساليب الرسمية.بمجرد أن تدرك ذلك، فأنت حر :-)

لا يزال لديك يعتقد.لكنه ربما لا يزال يعتقد أيضًا أن العالم سينتهي بحلول عام 2000.

هذا ليس شيئًا أثق به شخصيًا كثيرًا أو أرغب في أن أكون مقيدًا به في المستقبل.لكن في كثير من الأحيان لا يكون سببنا هو السبب...

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

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

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

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

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

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

تعلمت في المدرسة:تعد CMM فكرة جيدة، ولكنها تفتقر إلى الشهادة (يمكن لأي شخص أن يقول أنها من المستوى 5 / المستوى 4) وينتهي بها الأمر لتصبح أداة تسويقية للمحلات التجارية الخارجية.إذن، نعم الفكرة سليمة، لكن كيف تثبت الالتزام؟

انا اعتدت على.لكنني الآن أجد أن CMM وCMMI لا يتناسبان بشكل جيد مع الأساليب الرشيقة.

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

ونحن نعلم جميعًا مدى نجاح هذا النهج في الحياة الواقعية!(-:

هتافات،

روب

Agile هو CMM التالي وكلاهما هش.يعد مجال استشارات العمليات والجودة عملاً جيدًا في أي صناعة، ومثل المهندسين، يحتاج الجميع إلى كلمات طنانة جديدة للحفاظ على تدفق الأموال.

كانت CMM عندما خرجت لأول مرة من SEI مفهومًا جيدًا يعتمد على عمل أكاديمي قوي، ولكن سرعان ما تم اختياره من قبل مستشاري العمليات وهي شهادة لا قيمة لها الآن، والتي يستخدمها معظم مديري تكنولوجيا المعلومات لتغطية مؤخرتهم (لم يتم طرد أحد بسبب ذلك). اختيار شركة CMM المستوى 5)

سوف تسير Agile في هذا الطريق قريبًا وبعد ذلك يمكننا التأكد من رؤية الرصاصة الفضية التالية في الأفق قريبًا :)

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

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

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

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

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

المشكلة الرئيسية في فهم قيمة CMMi هي فهم CMMi نفسه.

CMMi هو أسلوب موثق للتحسين المستمر لإنتاج البرمجيات.

إن فهم التحسين المستمر باستخدام SPC أمر صعب بما فيه الكفاية في التصنيع ولكن أضف منتج البرنامج غير الملموس وستكون الصعوبة هائلة.

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

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

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

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

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

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

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

ومع ذلك، لا تتردد في قراءة ملف CMMI Dev pdf (الإصدار 1.3 وقت كتابة هذا التقرير).إنه يجعل الكثير من النقاط الجيدة.إنه يفكك المنظمة بشكل جيد للغاية.وإذا رأيت أي نقاط تجعلك تذهل!لدي هذه المشكلة، ثم استخدم هذه الحكمة لحل مشكلتك بكل الوسائل.في حالتنا، كان أحد التغييرات الصغيرة التي أجريناها هو التأكد من أننا قمنا بإعداد قائمة بجميع الأشخاص المسموح لهم بتزويدنا بالمتطلبات.إذا كان هناك أكثر من شخص مسموح له بتزويدنا بالمتطلبات، فسيتم تعميم أي متطلبات قادمة من مصدر واحد على الآخرين، وكان عليهم أن يقولوا "حسنًا" قبل إضافتها إلى الأعمال المتراكمة.لقد أحدث هذا التغيير البسيط فرقًا كبيرًا في مدى عملنا وإعادة صياغتنا.

بإختصار قم بإلقاء نظرة على مناطق العملية وقارنها بمناطق الألم لديك، وخذ بالاقتراحات المقدمة من CMM.وطريقة تنفيذ ذلك هي طريقتك الخاصة.ويمكنك دائمًا تنفيذه بطريقة لا تستغرق الكثير من الوقت أو تكلف الكثير من المال.ولكن أعتقد أن الأمر نفسه ينطبق حتى على معايير ISO/IEC ذات الصلة.

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