منهجيات التطوير

منهجيات التطوير

من نحن

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

وعليه تقوم منهجية التطوير لدينا من هذا المنطلق وبالتالي قمنا بتصميم منهجية تطوير هجينة تعتمد على جمع بين منهجيات تطوير معيارية وبين متطلبات الشغل الواقعية حيث ان لكل مشروع ونظام خصوصيات وظروف وبيئة عمل مختلفة فبعد ان نبدئ بالمقام الاول:

1- بجمع المتطلبات (والتي يتم بها كتابة جميع متطلبات الزبون ورؤيته واي نماذج ورقية او انظمة حالية معمول بها من خلال مصفوفة تجميع احتياجات ومتطلبات قمنا بتطويرها لهذا الغرض).

2-التحليل للمتطلبات (تحليل متطلبات الزبون وتحليل بيئة العمل للنظام وطبيعة النشاط والمستخدمين المتوقعين والكثير من معاملات التي تساهم في اعطاء صورة شاملة عن النظام ومصفوفة متطلبات قابل للتحقق والتنفيذ) فلدينا قاعدة تعتمد ان التحليل المعمق والشامل لبيئة العمل يساعد في انجاز العمل في وقت قياسي ويحقق رضا الزبون بنسبة عالية جداً.

3-التصميم للنموذج الاولي (والقصد منه تصميم نموذج اولي رسومي يوضح اطار العمل ومدى فهم فريق التطوير لمتطلبات الزبون والنقاش معه لمعرفة ان فريق التحليل استوعب الاطار العام لمتطلبات العميل وايضا اخذ اي ملاحظات جديدة ومقترحات حتى يتم تأكيد الاطار العام للنظام) 

4- البدء بتقسيم المشروع الى مكونات ونماذج وظيفية (Functional Modules) لتكون جاهزة لتطبيق منهجية التطوير الرشيقة ايجايل عليها وادخالها في مرحلة التطوير للنماذج الوظيفية واطلاع العميل على ما تم اولا باول واخذ ملاحظاته ومقترحاته اولاً باول.

منهجية التطوير الرشيقة Agile:

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

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

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

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

مبادئ الآجايل Agile:

  • كسب رضى الزبون (العميل) من خلال تقديم برنامج (منتج) فعال وصالح للاستخدام، والالتزام بأوقات التسليم.
    القبول والترحيب بالتغييرات في المتطلبات من قبل الزبون (العميل) حتى ولو بمرحلة متقدمة في التطوير.
  • تسليم برمجيات صالحة للاستخدام في أقصر وقت ممكن وبفترات منتطمة.
  • يجب أن يعمل المبرمجون والفنيون عن قرب ومع بعضهم البعض وبشكل يومي طول مدة المشروع.
  • المحادثات المباشرة وجهاً لوجه بين أعضاء الفريق هي الطريقة الأفضل والأسرع لنقل المعلومات بين الفريق (عادة يجتمع أعضاء الفريق بشكل يومي صباحاً Stand-up Meeting لمدة 10-15 دقيقة)
  • بناء المشاريع بالاعتماد على الأفراد المتحمسين، إعطاءهم البيئة والدعم الذي يحتاجونه، والثقة، التقدير والتمكين، هي البيئة المناسبة لتحفيزهم أكثر لإنجاح المشروع.
  • برمجية تعمل (منتج صالح للاستخدام)، هي المقياس الرئيسي للتقدم.
  • تشجع الأجايل على التطوير الدائم للأفراد ومهاراتهم ومعرفتهم، ينبغي على الرعاة والمطورين أن يكونوا قادرين على الحفاظ على نسبة تقدم ثابتة دوماً.
    الاهتمام المستمر بالتميز والجودة في التطوير التقني والتصميم.
  • البساطة، هي جزء أساسي وحيوي ومهم في الـ Agile، أي تقليص الأعمال الغير مهمة والغير ضرورية،
  • فرق العمل ذاتية التنظيم، تقدم أفضل متطلبات وهيكلية وتصميم.
  • تقوم فرق العمل بتقييم ومراقبة عملها لتصبح أكثر فعالية، ثم تقوم بضبط الأخطاء والسلوك وذلك بفترات زمنية منتطمة.