أزمة البرمجيات

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

أول من صاغ مصطلح «أزمة البرمجيات» كان F. L. Bauer في المؤتمر الأول لهندسة البرمجيات الذي قام به حلف شمال الأطلسي- باعتباره من أهم الزبائن والمستخدمين للبرمجيات - سنة 1968 في ألمانيا. والسبب المباشر وراء انعقاد هذا المؤتمر هو لاقتراح الحلول لأزمة البرمجيات التي أصبحت ظاهرة شائعة، وكانت ملامحها:

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

منذ ذلك اليوم، تم تطوير العديد من منهجيات التطوير - على غرار الهندسات الأخرى - التي لاقت نصيبا متباينا من النجاح والفشل مع تطور العلم حديث الولادة «علم الحاسوب». في يومنا الحالي - أي بعد أربعة عقود من الزمن بعد بداية هندسة البرمجيات- هناك تحذيرات من أزمة برمجيات ثانية إن لم نقم بالتطور من جديد نحو منهجيات تطوير متخصصة لمجالات العلوم المختلفة تقوم على النمذجة كأهم أداة للتطوير (Specific Domain Modeling Languages)

مراجع 

تاريخ البرمجيات
جودة البرمجيات
إدسخر ديكسترا