الأحد، 6 سبتمبر 2009

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

لم أعثر على احصائية تذكر النسبة التقريبية للوقت والجهد الذي ينبغي ان نبذله في التوثيق في اي مشروع مقارنة بحجم الجهد والوقت الكلي للمشروع. لكن مجازا نستطيع ان نقول انها بين 10% و الـــ 25% من اجمالي وقت المشروع. فبناء موقع الكتروني من خمس صفحات بسيطة قد لا يستلزم توثيق اكثر من ساعة زمنية. جدير بالذكر اننا بصدد التعاون مع الأتحاد الأوروبي لبناء مشروع ما على مدار 3 سنوات ، مدة التوثيق جاوزت الآن الثمانية أشهر.
هناك عوامل كثيرة تؤثر على الحد الأدنى للتوثيق منها:
1- طبيعة وحساسية المشروع واهمية وحساسية البيانات التي سيتعامل معها البرنامج.
2- حجم المشروع كما ذكرت.
3- طبيعة العميل من حيث مدى مرونته وقسوته ، هل لديه ادارة تكنولوجيا معلومات ام لا ، هل لديه الوعي والعلم بمتغيرات ومخاطر المشاريع البرمجية أم لا، الثقافة، فحجم التوثيق مع عميل عربي غير حجم التوثيق مع عميل أوروبي…الخ.
4- ميزانية المشروع.
5- الأطار الزمني للمشروع.
6- كمية المخاطر وانواعها التي سيواجهها المشروع.
7- البنية التحتية لتكنولوجيا المعلومات لدى العميل.
8- عدد فرق العمل التي تعمل في المشروع، وهل هي في مكان واحد ام موزعة، وهل لديها ثقافة واحدة ام انها من ثقافات مختلفة...الخ
وهناك الكثير مما لا يحضرني الآن…

في النهاية سددوا وقاربوا وكونوا وسطا لا افراط ولاتفريط

0 comments:

إرسال تعليق

Subscribe to RSS Feed Follow me on Twitter!