< أنس خربوطلي >
أي سائح متنقل، متسلق جبال أو مسافر في رحلة طويلة في بقعة من بقاع العالم على دراية كاملة بقائمة من الأساسيات للسائح أو المسافر في بقعة أخرى من العالم ملابس إضافية، طعام إضافي، إسعافات أولية وما إلى ذلك …
في الحقيقة هذه الأساسيات إلى حدٍّ ما عالمية وهي نتيجة سنوات من الخبرة تهدف إلى مساعدة المسافرين تجنّب الوقوع في المشاكل في الدرجة الأولى، وإذا لم يفلح ذلك فعلى الأقل التقليل من الضرر…
متسلق الجبال عديم الخبرة من شأنه أن يذهب إلى الجبال بدون هذه الأساسيات، ومطوّروا البرمجيات الخبيرين أيضاً لديهم خبرة نتيجة سنوات متراكمة من العمل ، وإن خضنا مغامرات برمجية فغالباً ما تحتوي مشاريعنا على أطراف مجهولة ومواقف صعبة أكثر من مجرد رحلة ما في الغابة، وهذا ما دعا إلى ضرورة وجود عشر أساسيات لنجاح أي مشروع برمجي .
الخريطة، البوصلة واللوازم :
في الواقع إنّ توصيف أو تخصيص المنتج هو بوصلة المشروع البرمجي، بدونه يمكنك أن تنجز أي مشروع كبير إلى حدٍّ ما، ولكن في المقابل يبقى مشروعك غير قابل للتطبيق لأن جهودك لم تكن موظّفة في اتجاه أو منحى معيّن، فأي مشروع فردي يمكن أن يضل فمعظم الناس في نهاية المطاف يعملون في مشاريع متعارضة.
اليوم مع الدرجة العالية من النظم التفاعلية تتزايد الصعوبة معرفة جوهر المشروع البرمجي بدون بناء نموذج متكامل ومفصّل لواجهة المستخدم، الوثائق الورقيّة غالباً لا يمكنها أن تصف بشكلٍ وافٍ شكل ومظهر ومواصفات المشروع البرمجي المقصود، وإذا كانت مواصفات المشروع البرمجي هي البوصلة فإن نموذج واجهة المستخدم هي الخريطة التي تشير على التلال والهضاب وأجزاء أخرى في رحلة البرمجيات التي ستتطلب مهارات خاصّة، والآثار الجانبية المفيدة لنمذجة واجهة المستخدم أنها طريق فعّال لتسليط الضوء على كلٍّ من المستخدم وفريق المطوّرين البرمجي، فالبرمجيّات لتي تعمل بفعالية ووضوح هي جيدة للمستخدم ولروح المطوّر المعنوية.
المسافر عديم الخبرة من شأنه أيضاً أن يذهب بنزهة سير على الأقدام دون ما يكفي من الغذاء والماء والملبس، في المشروع البرمجي الجدول الزمني الواقعي يوفّر أساس التخطيط الضروري لعددٍ كافٍ من فريق المطوَرين وضمان جودة المشروع بالإضافة إلى مستوى مناسب من الشكليّة ، كل فترة نسمع عن مسافر اُحتجز في الغابة بعاصفة ثلجيّة غير متوقّعة، كما نسمع عن مشروع برمجي كان من المفترض أن يُنجز مثلاً في حزيران ولكن في الحقيقة لم يُنجز إلا لبعد عدة أشهر، فاعتماد المشروع البرمجي على جدول زمني غير واقعي وكادر غير كافي والتخطيط التقني الذي ينجم عن ذلك هو بمثابة الذهاب للغابة في كانون الثاني وليس معك أي سترة دافئة !!
التخطيط للمستقبل :
من المفيد معرفة أن المسافر يمكن أن يذهب لأيام دون طعام ولكن في المقابل ليس بدون ماء..
المشروع البرمجي الناجح يؤسس أولويات واضحة لذلك إذا حصلت أي مشكلة في المشروع فالفريق البرمجي يعلم أي ميزات ضرورية وأيها يمكن الاستغناء عنها إلى حدًّ ما، فالأولويات الواضحة تساعدك على تفادي مشكلة إرادة كل الميزات الممكنة، فالتفكير بإرادة كل الميزات الممكنة مكافئة تماماً للتفكير بعدم إرادة أية ميّزة.
الفريق البرمجي لن يكون لديه أي مرشد عندما يقف المشروع أمام اختيارات قاسية، لذلك فالأولويات الواضحة تجعل الاختيارات القاسية أسهل.
الموضوع المشترك عبر هذه الأساسيات العشر هو تمني أفضل مشروع على الإطلاق ولكن في الوقت ذاته علينا كفريق برمجي الاستعداد لأسوأ الاحتمالات، أنت لن تذهب للمشي إذا كنت تتوقع أن تكسر ساقك ولن تبدأ أي مشروع برمجي إذا كنت تتوقّع أن تحمّل ميزانية المشروع ثلاثة أضعافها، على الرغم من أمنياتك العظيمة فإنك ستكون أحمق بعض الشيء أن تذهب برحلة ما دون التحضير الكامل والمسبق للمخاطر الكامنة في هذا النشاط، لذلك فعنصر إدارة المخاطر أو ما يسمى بالمسار الحرج هو أيضاً عنصراً أساسيّاً في نجاح المشروع البرمجي فإذا لم تسيطر على مخاطر مشروعك فهي ستسيطر على كامل المشروع !
هكذا نكون قد وصلنا إلى خمسة أساسيات وما تبقى يتبع في العدد القادم…
8 كانون الأول, 2009 في الساعة 11:25 م
يسلموا إيدك إنوسة . حلوة المقالة كتير .
2 كانون الثاني, 2010 في الساعة 8:22 م
جزاكم الله خير على الافكار التي اكتسبتها من موضوعكم ورزقكم الله الصحه والعافيه ودوم التقدم