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