بحثاً عن نموذج بديل

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

الرومان يتناقلون الخبر غير مصدقين. الصدمة، الغضب، الخوف والإهانة…. الكثير من الإهانة التي لم يشعر الرومان بمثلها عبر التاريخ.

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

                                                ********************                                                         أكمل قراءة…

أخطاء كلاسيكية

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

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

بالتالي زيادة عدد المبرمجين عندما يتأخر المشروع هو نوع من سكب البنزين علي النار المشتعلة بالفعل.

هذه الفكرة عرفت لأول مرة عام 1975 و حتي اليوم يقع فيها عدد محترم من مديري المشروعات. الكتاب الذي عرفت عن طريقه فكرة (الأخطاء الكلاسيكية) كان يضم 32 خطئاً كلاسيكياً في صناعة البرمجيات.

لفترة ظللت أفكر في الموضوع في نطاق أدارة مشروعات البرمجيات، و لكن تدريجياً إنتبهت لأنها مشكلة بشرية عامة. لو تتبعت التاريخ لوجدت الكثير من الأفعال التي تبدو بديهية منطقية إلا أن بعض التدقيق و الكثير من قراءة التاريخ يخبرونك أنها كارثية. أكمل قراءة…

لقد أوتيت جدلاً

عندما كنت في الصف الرابع الابتدائي جاء مدرس الدراسات الاجتماعية للفصل ليأخذني لأشارك في مناظرة.

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

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