متى يجب الترقية إلى إصدار جديد من اللغة أو إطار العمل؟

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

  •  05-07-2019
  •  | 
  •  

سؤال

عندما يظهر إصدار جديد من إطار العمل أو اللغة (على سبيل المثال..NET 3.5، SQL2008)، ما هو النهج الذي يتبعه الأشخاص عند اعتماد/الترقية؟

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

أفكر بشكل خاص في الأنظمة والمشاريع "المستمرة" (كما هو الحال في دار البرمجيات) التي توجد وتتطور على مر السنين حيث لا ينجح اتباع نهج "المشاريع الجديدة التي تستخدم التكنولوجيا الجديدة".

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

هل يعتقد الناس أن عدم استخدام الإصدار الأحدث من شيء ما يجب اعتباره دينًا تقنيًا وإدارته على هذا النحو؟

أم أن "إذا لم يكن الأمر مكسورًا فلا تصلحه" هو نهج صالح؟

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

المحلول

وتقرأ على الدين الفني . هذا هو قرار بسيط التكلفة والعائد.

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

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

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

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

نصائح أخرى

نحن ننظر إلى دعم تكاليف دورة الحياة.ما هي مدة دعم الإصدارات الأقدم، وبأي تكلفة؟تميل الأنظمة الأساسية مثل Windows وJava إلى التحرك بسرعة مقارنة ببيئات الحواسيب المركزية، وجزء من تكلفة ممارسة الأعمال التجارية على تلك الأنظمة الأساسية هو إجراء ترقيات دورية.في عالم عقلاني، هذا هو!

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

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

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

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

عند كنت حقا في حاجة إليها. .NET Framework 1.0 وكان كربي، وكان 1.1 ترقية لطيفة، ولكن تطوير ويب مع VS2003 لم يكن ذلك على نحو سلس. الأمور تتحسن مع VS2005 و. NET 2.0 - وأنا أرى لا تزال تتمسك العديد من المطورين والشركات لFramework 2.0. كانت الإصدارات السابقة حتى الطازجة، وكان الإصدار 2.0 التكنولوجيا ناضجة. لذا، إذا كنت سعيدا مع 1.1، لماذا الترقية؟ إذا كنت سعيدا الآن مع 2.0، لماذا الترقية إلى 3.5 أو 4.0؟

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

وعند تطوير لمنصات مقرها مايكروسوفت، مثل نماذج Windows التطبيقات ل Windows أو ASP.NET تطبيق الويب ل Windows Server وقتا لطيفا للهجرة هو لكل نسختين الرئيسية للOS.For سبيل المثال، إذا تم تطوير التطبيق الخاص بك ل Windows 2000، يجب عليك أن تهاجر إلى ويندوز فيستا على الرغم XP يمكن تجاهلها. وبالمثل، لو كانت مصممة لXP SP2، يمكنك تجاهل بأمان فيستا واستهداف فوز 7. عادة مايكروسوفت لم يكسر (أو نادرا ما يكسر) تحديثات نظام التشغيل الإضافية. لذلك فإن التطبيق يعمل على OS اليوم سيتم تشغيل بالتأكيد على التالي. ولكن أبدا على واحدة بعد ذلك. (وإذا أشواط كيف يمكن M $ كسب المال ؟؟؟)

المصدر: النفس ... المطور ويندوز لأكثر من 5 سنوات)

أنا في معسكر الترقية في أقرب وقت ممكن (على الرغم من أنني قد أنتظر لمدة شهر بعد ظهور الإصدار الجديد تحسبًا لوجود مشكلات لم يتم اكتشافها).هناك بعض الأشياء التي تحتاج إلى التفكير فيها:

1.الإصدارات الأمنية

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

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

2.استقطاب المواهب والاحتفاظ بها

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

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

3.طرق أحدث وأبسط يقدمها الإصدار الأحدث

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

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