اتجاه شركة أنظمة تكنولوجيا المعلومات.الاستثمار في (أ) أو (ب)؟

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

  •  20-09-2019
  •  | 
  •  

سؤال

هذا سؤال عام حول الاتجاه الذي سيكون استثمارًا أفضل للشركة.

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

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

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

سيكون السعر في النطاق السعري من 55 ألف دولار إلى 65 ألف دولار.لذا، كمطور ويب، وجهة نظري هي أن هذا يعد مضيعة كبيرة للمال!الحل الذي أقترحه هو استثمار هذه الأموال في إعادة كتابة النظام الأساسي ليتم تشغيله على منصة .Net القائمة على الويب.وهذا من شأنه أن يلغي الحاجة إلى ترخيص Terminal Server وCitrix بالإضافة إلى الأجهزة باهظة الثمن وإدارة التكوين لتشغيله.لا أرى فائدة من استثمار هذا النوع من الأموال في نظام قديم يجب أن يكون في طريقه للخروج على أي حال.

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

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

المحلول

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

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

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

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


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

المستثمرون والمدققون والجميع - لم تعجبهم فكرة أن أصول تكنولوجيا المعلومات الأساسية لدينا قد تم تنفيذها بلغة "غامضة".بالطبع، لم تكن دلفي غامضة إلى هذا الحد؛توجد علامة "دلفي" هنا على SO بعدد 3340.ولكن دعونا نستخدم SO كمثال لدينا - فيما يلي الأعداد الحالية:

  • c# - 57293
  • .net - 30577
  • asp.net - 26600
  • java - 31023
  • vb.net - 5996
  • delphi - 3340
  • foxpro - 69
  • vfp - 27

دع هذه الأرقام تغرق لفترة من الوقت.دلفي، الأداة المفضلة لدي في ذلك الوقت، لديها الآن أقل من 10% من تمثيل C#، وهذا ما جعل غير التقنيين متوترين.Foxpro/VFP ليس حتى عند 1%.لا أستطيع حتى أن أتذكر عدد المرات التي اضطررت فيها للإجابة على أسئلة مثل:

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

بلاه بلاه، قلق قلق، هذا ما شعرت به في ذلك الوقت، وكان هذا منتجًا لم يكن كذلك حقًا الذي - التي غامض.في حالتك، نحن نتحدث عن FoxPro هنا.لقد أصبح FoxPro يشبه COBOL تقريبًا؛بالتأكيد، لا يزال موجودًا، وهناك أشخاص يعرفون ذلك، ولكن من يبدأ مشروعًا جديدًا في FoxPro اليوم؟إنه ممل، إنه بصراحة الغيت حي اليهود.بدأ VB6 في التحول إلى غيتو، وحل VB/Access محل FoxPro منذ سنوات عديدة.

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

نصائح أخرى

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

وأنت لا يمكن الفوز على حجة ROI. إلا إذا كان النظام هو تافه وأنت عبقري، سيكلف دائما $ 100K أو أكثر لإعادة كتابة تطبيق في الواقع <م> لا شيء. أعتقد متعددة السنوات شخص.

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

والسؤال الحقيقي هو "بداية لإصلاح الآن؟" أو "الانتظار حتى فواصل ويعانون في وقت لاحق؟" والتي لا يوجد لديه $ محدد -valued الإجابة.

وأنت لا يمكن أن تتنافس على المال، لذلك عليك أن تنافس على خطر، وميزات، والنمو، والصيانة، والقدرة على التكيف، والامتثال للمعايير، والأمن، وخلق قيمة فريدة لكل عميل، الخ، الخ.


و"نحن نبحث الآن في قاعدة أكبر من العملاء والمزيد من البيانات". هذا هو حجة قد تكون قادرة على تحقيق الفوز.

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

والتركيز على التكاليف (والمخاطر) لإجراء تغييرات.

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

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

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

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

من أجل معرفة ما إذا كان الأمر يستحق العناء، عليك أن تحسب، بالإضافة إلى تكاليف إعادة الكتابة:

  1. توثيق كل ما يفعله النظام حاليًا، وإجراء هندسة عكسية للمتطلبات.

  2. كتابة اختبارات الوحدة والتكامل لكل ما هو موجود حاليا.ربما هذا غير موجود بالفعل، ولكن ينبغي أن يكون.

  3. تكلفة صيانة النظام الجديد.لن يلغي النظام الجديد تكاليف الصيانة، بل سيخفضها فحسب.كم ستوفر؟

  4. تكلفة الأجهزة للنظام الجديد.يجب أن يعمل النظام الجديد على شيء ما.

  5. تكاليف الترخيص لأي برنامج/الخ.التي يحتاجها النظام الجديد.هل سيكون كل شيء مفتوح المصدر؟أم أنك ستحتاج إلى العديد من إصدارات اختبار Visual Studio للمطورين والمختبرين لديك؟

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

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

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

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

رقمين مهمين:

  • عدد وظائف "FoxPro" المدرجة في قائمة كريغزلست في سان فرانسيسكو الآن:2.
  • عدد وظائف ".NET" المدرجة في قائمة كريغزلست في سان فرانسيسكو الآن:252.

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

يبدو أن الوقت مناسب لبدء الحديث عن الانتقال¹ إلى تقنيات أحدث وأكثر دعمًا.(وفي غضون 10 سنوات، عندما يصبح .NET قديمًا، يمكنك القيام بذلك مرة أخرى :)

[1] وقم بتطوير النظام، لا تعيد كتابته.أعتقد أن نظامك الحالي نما بشكل عضوي للغاية بناءً على الاحتياجات في ذلك الوقت.لا توجد طريقة تمكنك من استبدال كل ذلك بالكامل (على الأقل، ليس بدون بضع سنوات وبضعة ملايين من الدولارات).

وكما devloper التاريخية VFP (أكثر من 20yrs مع الفوكس برو / VFP، ويكون STILL الناس تطلب مني الكتابة / تحديث أنظمتها مع VFP، لمجموعة متنوعة من الأسباب)، التي لا تزال قوية جدا. ومع ذلك، أثناء بحثه واتخاذ الكثير من بلادي OOP والخبرة في مجال التنمية والعمل مع صافي، أجد بعض الأشياء في صافي أسهل بكثير، وخصوصا قوي نوع الصب. ومع ذلك، القيام تقرير الأساسي يتطلب من جميع قوية لقاعدة البيانات الصب نوع الجداول / هياكل / الأجسام، وفي كثير من الحالات حتى الآن، وبيتا للقيام به.

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

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

ويمكنك فقط يقولون انها مضيعة للمال بعد تحليل العائد على الاستثمار - أنها سوف تعتمد بشكل كبير على مدى يكلف لإعادة صياغة نظام

والخطأ الكلاسيكي على JOS - "النظام في حالة من الفوضى، دعونا إعادة كتابة ذلك".

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

فجأة المبنى ينهار حول رأسك:)

قد تكون فكرة أفضل ل

  1. فكر في إعادة كتابة أجزاء من النظام لتحسين قابلية الصيانة.

  2. تحسين النظام للحصول على أداء أفضل.

  3. تجريد أجزاء Foxpro المحددة، بحيث يمكن تحويلها بسهولة أكبر إلى بعض التقنيات الأخرى.

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

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

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