اثر التقدم في اقتصاديات هندسة البرمجيات



يؤثر عدد من العوامل علي التقدم في هندسة البرمجيات بصفة عامة، واقتصادياتها بصفة خاصة. وكما بين في البند السابق أن هندسة البرمجيات ترتكز علي إنتاج البرمجيات التي تعتبر بطبيعتها المميزة جدا سلعة غير ملموسة نسبيا. وتحديد موضوعية وقياس كثير من أبعاد البرمجيات وعناصرها يعتبر في الغالب من الموضوعات التي تمثل تحديا كبيرا للباحثين. وحتى في الحالات التي نجد فيها برمجيات جيدة نسبيا للفحص، قد توجد أدلة  قليلة القياس والفحص التي ترتبط بالعملية التي أنتجت البرمجيات من خلالها.
     وحتى إذا وجد وصولا جيدا إلي بيانات مشروع ما، يوجد عامل تحدي رئيسي. فقد نمي عدد تطبيقات البرمجيات وزاد تعقيدها بسرعة كبيرة جدا مزودة بدرجة كبيرة من التحسينات الأساسية
     في تكنولوجيا الأجهزة والبرمجيات ، حيث تقلصت أجهزة الكمبيوتر في الحجم وزاد أداؤها لكل وحدة تكلفة، كما صار في الإمكان تبرير تطبيقات أكثر عليها، وقد خلق ذلك طلبا متزايدا علي البرمجيات. وبينما زود هذا الطلب المتعاظم والمتنامي علي البرمجيات طلبا كبيرا ملقي علي عاتق مطوري البرمجيات ومنظماتهم، فإنه يقدم أيضا تحديات جوهرية أمام الباحثين عند تقدير التقدم في إمداد وإتاحة البرمجيات. وحيث أن التطبيقات بالإضافة إلي الأدوات قد تغيرت، أصبح من الصعب جدا تقدير تأثيرات الأدوات الجديدة. وقد تكون هذه هي الحالة التي توضح أن تأثير الأداة الجديدة لخلق الاختلاف في النوع بدلا من الاختلاف في درجة الكفاءة مع خلق أنواع نظم معينة لم تكن متاحة من قبل.
   ومعظم بحوث هندسة البرمجيات ارتكزت علي مساعدة فرق مطوري البرمجيات لتخطيط وتصميم وتنفيذ ورقابة مشروعات البرمجيات. ويحتاج نجاح مشروعات هندسة البرمجيات إلي أن تقيم فيما يتصل بإمداد مجموعة من الأنشطة الوظيفية التي تقيم أيضا من خلال عدد من المحاور، علي سبيل المثال:التكلفة، والموثوقية، وسهولة الاستخدام، وإمكانية صيانة التطبيق، الخ. وقد برهنت هذه المحاور أو الأبعاد صعوبة كبيرة في القياس، حتى عند ثبات أو عدم تغير الأنشطة الوظيفية ذاتها. علي أنه بدلا من ذلك،  أعتقد الكثيرون علي نطاق واسع أن تلك التطبيقات نمت فيما يتعلق بدرجة تعقيدها وأن ذلك ما يمكن رؤيته، وفيما عدا ذلك فأن ما يتحقق يعتبر مكاسب مبهمة غير واضحة وذات تعقيدات أعظم. علي سبيل المثال، قد يعتقد البعض أن قياس نسبة المشروعات الفاشلة يجب أن تنخفض وخاصة في إطار التقدم الحاصل في عمليات تطوير البرمجيات بأساليب أحسن، إلا أن هذا العدد قد يبقي ثابت أو يزداد عندما تستخدم عمليات التطوير لمحاولة إعداد مشروعات طموحة بسهولة أكبر.       
   وسوف يستمر العمل في تطوير هندسة البرمجيات لمواجهة نفس مجموعة التحديات التي صاحبت ذلك في الماضي، حيث أن معدل التغيير التكنولوجي السريع يكون في مدي التفاوت والاختلاف مع سرعة تقدم معظم جهود البحوث والتطوير. وغالبا يهتم الباحثون والمزاولون في نفس الوقت بهذا التفاوت والاختلاف، علي أنه قد يساء وضع هذا الاهتمام في إطار عمليات التطوير ذاتها. وبينما تتوافر كمية من التغيير الواقعي الأساسية، توجد أيضا كمية كبيرة من التغييرات السطحية التي لا يجب السماح لها بالتأثير علي تقدم البحث والتطوير في هذا المجال.
   ومن خلال التحفيز والحث الذي كان يحدث في الماضي بواسطة رغبات المزاولين والممارسين فإن كثيرا من الجهود المتعلقة بإنشاء وخلق أدوات هندسة البرمجيات ترتبط بألفاظ ومصطلحات جديدة تعكس ما قد تمثله الاختلافات القانونية القاصرة. وتتجه هذه التسميات إلي غموض النقاش والجدل عن الدرجة التي تكون فيها النتائج المتوصل إليها في أحد المجالات المتوافقة والمنطبقة علي المجالات الأخرى. علي سبيل المثال، بينما يوجد تغيير ظاهر وواضح في تطوير البرامج، توجد مجموعة من الأفكار الجوهرية المرتبطة بالأدوات والمعايير والأساليب المستخدمة في ذلك.
    ومع هذه الأفكار الأساسية تقع المفاهيم التي لها بقاء ملحوظ ودائم وخاصة في نطاق إعداد وحدة القياس Modularity التي تمثل مفهوم التماسك والتزاوج. ومن المهم لكل الباحثين والممارسين ملاحظة ذلك عند فحص تكنولوجيات هندسة برمجيات جديدة، حيث يجب أن يكون الباحثين واضحين فيما يرتبط بالأفكار الأساسية في أي تكنولوجيا جديدة، حيث يحتاج مخترعو التكنولوجيا أن يكونوا واضحين فيا يتعلق بالإجابة علي لماذا تعمل التكنولوجيا الجديدة، وأن بحوث التقييم يجب ارتباطها بالأفكار الأساسية بدلا من بحوث التسميات الثانوية؟  وتبين الإجابة علي ذلك السؤال أن قيمة أي بحث وتطوير يجب أن تسهل جدا التواصل مع الممارسين الذين يقدرون علي استخدامها. هذه الممارسة يجب أن تمنع بعض الاختلافات والبلبلة التي تواجه الباحثين الذين يجب عليهم التركيز علي المشكلات ذات العوائد الجوهرية الطويلة الأجل. 
    ويجب أن تطبق هذه الأفكار أيضا علي بحوث اقتصاديات هندسة البرمجيات بعيدا عن تقييم التكنولوجيا في حد ذاتها. علي سبيل المثال، قد تحدد مشكلة الممارس أو المزاول في نقص مبرمجي لغة الجافا Java . ومن الواضح انه يمكن حل هذه المشكلة من خلال قوي السوق المتاحة لتسويق التكنولوجيا. وعلي ذلك، فإن ما يجب التركيز عليه عندئذ يرتبط بمشكلة استراتيجيات المنظمات الأساسية الجارية والطويلة الأجل لتدريب وإعادة تدريب العاملين في التكنولوجيات الجديدة، وكيف يمكن للمنظمات التي ترغب في تطبيق هذه التكنولوجيات الجديدة أن تشكل نفسها بطريقة      أحسن لكي تقدم بيئة ملائمة للعاملين من ذوي المهارات النادرة التي سوف تكون ذات طلب دائم عالي؟ وما الدروس التي يمكن استنباطها من الدراسات السابقة عن اقتصاديات التعاقد التي تساعد هذه المنظمات؟
     ومن التحديات المستمرة الأخرى المرتبطة بمجال اقتصاديات هندسة البرمجيات ما يتمثل في طبيعة البيئة التي تتضمن تخصصات أساسية عديدة. فإنه بسبب الدور الذي يؤديه الناس، أصبحت هندسة البرمجيات أحد تخصصات علم الكمبيوتر القريبة من العلوم الاجتماعية لا العلوم الهندسية. وعلي ذلك فإنه من خلال التركيز علي الأوجه الاقتصادية لتطوير البرمجيات فإن البحوث صارت تتجه إلي هذا المجال بطريقة أكبر. كما أن البحوث التي تنجز في كليات ومعاهد إدارة الأعمال والاقتصاد التي تستخدم الاقتصاديات كمجال علمي قائم بذاته، تحتاج إلي أن يكون لها أساس قوي في التكنولوجيا المرتبطة بالاقتصاد لتأكيد الأسئلة المطروحة والنماذج المستخدمة الملائمة.
    مما تقدم يتضح أن العالم المعاصر يدار ويشغل باستخدام البرمجيات المرتبطة بخدمات وتطبيقات شبكة الويب العالمية، والبرمجيات الضمنية المتضمنة في المنتجات الحديثة في نطاق الوقت الحقيقي، وبرمجيات تحقيق وتطبيق البنية الأساسية والإدارية والرقابية علي كل قطاعات الاقتصاد الوطني. وقد أدي ذلك إلي بزوغ الاقتصاد الحديث أو اقتصاد المعرفة من حيث العولمة والتماسك والوقتية والإنتاجية الفائقة الذي تكون البرمجيات فيه مفتاح التنمية والتقدم  واكتساب الميزة التنافسية في تصدير منتجات هندسة البرمجيات. وفي هذه البيئة الديناميكية المتطورة والمتغيرة نتيجة التقدم والتطور المستمر لتكنولوجيا المعلومات والاتصالات وبزوغ الدعوة المستمرة لمجتمع المعرفة ومجتمع المعلومات وسد الفجوة المعرفية والرقمية بين الدول وبين مجتمعات الأمة الواحدة كان لهندسة البرمجيات الدور الرئيسي في جهود تطوير وإنتاج البرمجيات وبزوغها كمجال علمي مرتبط بعلم الحاسب الآلي يدرس في حد ذاته  في كل أو معظم الجامعات والمعاهد العلمية في الدول المتقدمة. وأصبحت منتجات البرمجيات النابعة من جهود التطوير التي تقوم بها هندسة البرمجيات الوجهة الاقتصادية التي تمثل قيمة مضافة للمنتج الإجمالي المحلي. أي أن اقتصاديات هندسة البرمجيات بجانب التوجه التقني للتطوير ترتبط بكل من الأوجه الاقتصادية التالية: تحليل الطلب والعرض لمنتجات البرمجيات؛ أداء تحليل بسيط  لنقطة Break-even، تحليل تأثير قرارات الاستثمار والتسويق والتصميم البديلة اقتصاديا؛ اعتبار قيمة وقت المال والمخاطرة الجوهرية. من هذا المنطلق تصبح لأدوات ومعايير تطوير هندسة البرمجيات أهمية عظمى في تعظيم الناتج المحلي القومي من خلال زيادة منتجات البرمجيات العالية الجودة ذات الميزة التنافسية في أسواق العالم المعاصر المفتوحة.
أما النتائج المستخلصة من هذا العمل فيمكن تحديدها في التالي:
1. تتواجد البرمجيات لأن للمعلومات المعالجة قيمة، فإذا لم يرغب في دفع تكاليف تطوير برمجياتها لتوقع القيمة المعززة منها، فإن كل العاملين في هذا المجال لن يكون لهم وظائف ، مما يؤدي إلي توقف العالم المعاصر كليا.
2. العالم المعاصر يعيش ويستفيد من وضعية منتجات البرمجيات المتقدمة المقرر قيمتها، ومن الاهتمامات الذاتية في زيادة فهمها والقدرة في التعامل مع أوجهها الاقتصادية المبررة.
3. تعزيز وتكييف منتجات البرمجيات المتوافرة يمثل حلا لمواجهة الطلب المتزايد عليه في السوق العالمية المفتوحة.
4. تمثل منتجات هندسة البرمجيات الدعامة والمفتاح المميز لكل الأعمال المعاصرة لوصلها بالعملاء والموردين والشركاء، وإمكانياتها في تمكين كل أداة تعمل يوميا وبذلك فإن قدرة هذه المنتجات ذات ضرورة حيوية لكل الأعمال.
5. ترتبط هندسة البرمجيات بإمكانيات المستقبل والطلب المتزايد اللانهائي علي منتجاتها.
6. ضغوط الأعمال والخدمات في اقتصاد المعرفة الجديد ترتبط بكل من: السرعة في إمداد السوق بمنتجات البرمجيات المطلوبة، تغير التكنولوجيا المتسارع، الجودة العالية ورخص الأسعار.
7. غالبا ما يخطئ في فهم اقتصاديات هندسة الإنتاج كأدوات تقدير تكلفة برمجة المشروعات فحسب، إلا أن ذلك يمثل في المقام الأول علم الاختيار الرشيد للبرمجيات، وبذلك يجب أن تقدم اقتصاديات هندسة البرمجيات الأدوات والمعايير والطرق والنماذج لتحليل الاختيارات في مشروعات التطوير.
8. معايير الاختيار المعينة إما أن تكون اقتصادية أو مالية تختص بالاستثمار والتنمية ومعدلات العائد الداخلي، أو فنية ترتبط بالأداء والموثوقية وإمكانية الحفظ والصيانة وإعادة الاستخدام، أو غير فنية ترتبط بسرعة الإمداد والجودة العالية والدعم المتواصل لما بعد البيع وسمعة الموردين.
9. التكلفة الإجمالية لمنتجات البرمجيات لا تقتصر عن تطويرها فحسب ولكنها تمتد بعد عملية إمدادها وحفظها وصيانتها وتسويقها وإدارتها.
ونستنتج من هذا العمل مجموعة التوصيات التالية:
1. من الضروري، في تطوير وبناء صناعة تكنولوجيا البرمجيات، اعتماد أدوات ومعايير وطنية تتفق مع المعايير الدولية وتتيح إجراء التحسينات بسهولة، بحيث يستجاب للتغيير التكنولوجي الحادث علي الدوام. فاعتماد الإجراءات الدولية المعيارية للترميز والتوقيعات الرقمية سوف بسهل ويضمن أمن الصفقات المستندة إلي الشبكية المتنامية.
2. يشكل اعتماد الأدوات والمعايير النوعية الخاصة بأجهزة تكنولوجيا المعلومات ومنتجاتها من البرمجيات وما يتصل بها من خدمات وممارسات صيانة، كما يشكل نشر هذه الأدوات والمعايير ونفاذها بفعالية مهمة عظيمة الشأن لضمان التحلي بقدرات تنافسية في مجال هذه التكنولوجيا.
3. يفترض في الأدوات والمعايير والمقاييس المعتمدة لتقييم المشروعات الوطنية المتصلة ببناء القدرات في مجال هندسة البرمجيات أن تكون متوافقة مع أفضل الممارسات الدولية. وتتمثل الاعتبارات المطلوبة في اختبار وصياغة هذه الأدوات والمعايير التالي:
· مجموعات واضحة من الأدوات والمعايير والمقاييس التي يقيم بواسطتها أي مشروع يتضمن اتخاذ مبادرة في تطوير مشروع هندسة البرمجيات الذي يجب أن يتوافق مع أفضل الممارسات أو الاتجاهات العالمية.
· نشر وإنفاذ الأدوات والمعايير النوعية والممارسات الخاصة لعمليات ومنتجات هندسة البرمجيات في نطاق واجهة التفاعل مع المستخدمين المستهدفين.
· اعتماد تشفير التوقيع الإلكتروني باعتباره أداة تسهل وتضمن أمن علي شبكة الويب.
4- توجد حاجة ملحة إلي إجراءات منسقة تتخذها جميع الجهات أو الأطراف المعنية: الحكومة  المنظمات غير الحكومية، الشركات المنتجة، الجامعات، وسائل الإعلام بالإضافة إلي المنظمات الإقليمية والدولية المعنية بتشجيع التنمية التكنولوجية والاقتصادية المستدامة.