السبت، 25 أكتوبر 2014

كمحلل اعمال Business analyst  (تعريف اول، تعريف ثان) داخل شركتي، كان دائما ما يشغلني الكيفية التي يتم بها توثيق احتياجات العميل او كتابة الــ Requirement document . كل مرة ندخل فيها في مشروع جديد تترائى امامي المقولة القائلة:
افضل وثيقة احتياجات تمثل -على احسن الأحوال- 80% من احتياجات العميل النهائية
The Best ever written requirement document represents 80% of customer's needs
وتظل تترائي امامي طيلة الوقت، واذكرها مرارا وتكرارا امام العميل المرتقب، حتى انه قد يفزع من العمل معي ويتراجع، وقد حدث ذلك معي مسبقا اكثر من مرة. !!!

على المستوى الشخصي وفي بداية مشواري المهني، وبعد ان قضيت فترة قصيرة كمبرمج وانتقلت بعدها للتحليل، كنت الجأ للتواصل مع العميل متحدثا ومناقشا حول احتياجاته، ونقسم احتياجاته الي منظومات، ونكتب ما استطعنا ان نكتبه فيما قد لايتجاوز 3 صفحات او حتى سطور قليلة عن كل منظومة، ومن ثم نتعاقد، ثم نبدأ في عملية التحليل التفصيلية برسم واجهات الأستخدام مباشرة. 
بالطبع هذه طريقة بدائية جدا وتفتقر الي المنهج العلمي، لذلك كنا دائما نصطدم بأن النظام الذي توقعنا الا يتعدى توثيقه ال50 صفحة قد تجاوز ال 200 ، ولازالت الأحتياجات تتوالى كلما خرج جزء من البرنامج للنور، وان الميزانية التي رصدت قد تصل الي الي اقل من نصف التكلفة الحقيقية وان خسارتنا قد تتجاوز ال 300% في هذا المشروع !!! 
ومن يعمل بشكل عشوائي غير ممنهج، من الطبيعي ان ينتهي به الأمر قائلا "مفيش ... مفيش ...مفيش"  لينهار المشروع ونخسر العميل وجزء من سمعتنا !!!

من ناحية اخرى تصطدم بتعقيدات منهج الــ CMMI الذي يصعب ان تتبناه في اي مشروع في الشرق الأوسط، رغم ان كثير من المناقصات الحكومية تشترط مستوى اعلى من 3 فيه، مما يوحي انهم يريدون الألتزام بمنهج سليم، الا ان ذلك لا يكاد يجاوز الورق الذي كتب عليه.

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

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

ثم تبدأ مرحلة تحليل كل ملحمة الي مشاهد تحوي  سيناريوهات.
سأكتفي بتحليل الملحمة الأولى والتي توضح نشأة الصعلوك:
1.1 مشهد للصعلوك وهو في مكان عمله المتواضع، حيث تبدأ شخصيات اخرى في التفاعل مثل المديره والزبائن.
1.2 مشهد لمشادة كلامية بين الصعلوك ومديره وتتطور الي تدافع بالأيدي ومعركة.

1.3 مشهد بين الصعلوك ورفيق غرفته وهما يتحدثان عن الهروب من البلدة من خلال المركب.
وهكذا يتم صياغة القصة واخراجها من خلال ملاحم، تقسم الي مشاهد تحوي حوارا يبني الأنفعالات ويثير الأحاسيس.

دعنا الآن نسقط هذا المثال على واقعنا البرمجي. شركة تريد بناء نظام لإدارة مواردها البشرية HR. النظام سيحوي المناطق الوظيفية الآتية: شئون موظفين، اجازات، حضور وانصراف، مرتبات.
يمكننا صياغة الملاحم الآتية تحت منظومة شئون الموظفين:
1- كمدير لشئون الموارد البشرية اريد ان اطلع على احصائيات ديموغرافية عن الموظفين، الأمر الذي سيساعد في تحسين كفاءة ادارتهم.
2- كمدير  لشئون الموارد البشرية اريد ان اطلع على احصائيات بخصوص عدد افراد كل قسم، و الأماكن الشاغرة فيه.
المحلمة الأولى سيندرج تحتها العديد من السيناريوهات مثل:
1- كمسئول عن شئون الموظفين personnel استطيع ان ادخل بيانات الموظف والتي تشمل اسمه وميلاده وعنوانه، ...الخ.
2- كمسئول عن شئون الموظفين استطيع ان احدد الموقف التجنيدي لكل فرد.
3- كمسئول عن شئون الموظفين استطيع ان احدد الموقف العائلي وان ادخل بيانات العائلة، ان وجدت.
وهكذا...

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

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

هناك تعليق واحد:

Subscribe to RSS Feed Follow me on Twitter!