ساتحدث معك اليوم عن مشروع التخرج ومراحله وطريقة العمل المثلى حسب وجهة نظري عيوبه وايضا ميزاته حسب تجربتي في "كلية الحاسبات والمعلومات بجامعة المنصورة - مصر"
كيف يكون الوضع في اغلب مشاريع التخرج ؟
تخيل معي الاتي شيف يقوم بعمل وصفة كيك اسفنجية لذيذة ومعه العديد من الاصدقاء ليساعدوه في تنفيذ الوصفة ولكن يحدث الاتي..
- يطلب الشيف من احدهم قدرا من السكر لوضعه على الوصفة فيقوم المطلوب منه السكر بجلب نوع مختلف من السكر عما طلبه الشيف ويجلب (سكر دايت) لانه يقوم بعمل رجيم.
- فيعترض عليه احد زملائه - السكر الدايت يغير الطعم.
- ويعترض اخر - الا تعلم ان السكر الدايت ضار بالصحة ؟
- ويقترح الاخير وضع نصف كمية السكر حتي يرضي باقي الاطراف ظنا منه ان هذا حل مناسب.
وبعد انتهاء ازمة السكر يهم الشيف بطلب البيض والحليب فيسمع صوتا عاليا يدوي - هل ستضع البيض على الحليب ؟ ما هذا القرف من المستحيل ان اكل من هذا الشئ فانا اكره البيض والحليب !
ويتكرر الامر مع كل قرار ياخده الشيف .. والشيف هنا هو اي صاحب قرار في مشروع التخرج بدءا من قائد الفريق او المسؤول عن اي عمل في الفريق عند اتخاذه قرارا يخص عمله.
اذا اردت ان تكون الوصفة جيدة في النهاية فان الخطوة الاهم في هذا الصدد هي ان تترك القرار للشيف فلا يجب ان يتدخل المسؤول عن طحن القمح لجلب الدقيق في عدد البيضات التي ستوضع على الوصفة او كمية السكرالمناسبة!
ودعني اقتبس مقولة من كلام احد الدكاترة في كليتي - رغم انه لم يتم العمل بها ولن يتم العمل بها على الاغلب ولكنني اري انها مفيدة في حل المشكلة السابقة
"اختاروا تيم ليدر يكون متكلم وفاهم وعالم وحازم وحلال مشاكل ومن الآخر عنده حكمة وقادر على القيادة ومش شرط يكون ولد ساعات كتير البنت بيكون عندها القيادة بس طالما اتفقتوا على حد فده هيكون بمثابة كبير المشروع يتم إحترامه وسماع كلامه زيه زي الدكتور ولو مش هتوافق يبقى ما تدخلش التيم أو ما تختاروش ولو كلهم اتفقوا على واحد وحاسس انه مش هيكون عادل فإيه اللي جابرك إخرج إنته من المشروع"
نصائح عامة
- الرؤوس تتساوي في مشاريع التخرج
- توقع تماما ان يتساوي شخص اهمل العمل طوال العام بشخص يعمل طوال العام.
- توقع ان يتم نسب عملك لغيرك زورا.
- مشاريع التخرج لا تتحول الى شركات ناشئة
- خلال فترة مشروع التخرج لا تقوم بأكثر من المطلوب منك للوصول لغاية أكبر من كونه مشروع التخرج.
- اذا اردت أن تطور منه وتحوله لشركه ناشئة انتظر لإنهاء المشروع وفترته وقم بذلك فيما بعد.
- هذه مجرد مادة كباقي المواد
- لا تنتظر من المشروع ان يكون اكثر من مجرد مادة لتحصيل الدرجات فلا تعطه اكثر من حقه.
- يفضل ان يكون عملك بدافع التعلم والمتعة والتجربة وترك أثر طيب لا الانتاج فقط.
اهمية مشروع التخرج والفرق بينه وبين العمل في شركة
ربما يختلف معي البعض ولكن مشروع التخرج لايشبه ابدا العمل في شركة ولا يدربك على العمل في فريق ففرق العمل في الشركات تحكمها الكثير من القواعد التي تضمن تحقيق النتائج لارتباط النتائج لكل فرد بشكل مباشر بنجاح المنظومة ككل وتضمن الراسمالية التزام كل فرد بالقواعد والا سيتم اتخاذ اجراءات صارمة تجاهه لانه وبكل بساطة يؤثر بالسلب على نتاج غيره وبالتالي يهدد استمرار المنظومة وانتاجيتها.
هذه القواعد لا يمكن تطبيق معظمها للاسف على فرق العمل في مشاريع التخرج حتي من قبل الدكتور المشرف على المجموعة وبالتالي في كثير من الاحيان يتحول الامر من العمل والتعاون للوصول للهدف الى نقاشات غير هادفة لايمكن الفصل فيها بقرار واضح من احد افراد الفريق او يحاول فيها احد الاطراف ابراز دوره في الفريق او تطبيق رايه بغض النظر عن مدي علمه بالموضوع الذي يتم النقاش حوله او خبرته وبالتالي تتوقف انتاجية الفريق ككل بسبب عدم التزام عضو واحد بدوره او محاولة فرض رايه.
مراحل عامة يمر بها المشروع
تمر مشاريع التحرج في كليتي بعدة مراحل كالاتي
1- تجميع الفريق - ويكون بطريقتين
الاولي عن طريق اتفاق البعض علي تكوين فريق واخطار الكلية
الثانية عن طريق الكلية حيث يتم توزيع الطلاب الذين لم يخطرو الكلية بانتمائهم لفريق معين على الفرق الموجودة او انشاء فريق لهم
ويتاح ذلك في الفترة بين نهاية التيرم الثاني في السنة الثالثة وحتي بداية التيرم الاول من السنة الرابعة.
كما يتاح لك تغيير فريقك في بدايات التيرم الاول في حال وجود اماكن وانصحك بذلك في حال لم يكن الفريق مناسبا لك او في حال واجهتك احد التحذيرات التي ساتلوها عليك في هذا المقال.
نصائح عند اختيار اعضاء الفريق او الانضمام للفريق حسب اعضائه - من وجهة نظري فريق جيد افضل من مشروع ناجح
- يفضل اختيار الفريق بناء على اخلاقيات افراده لا تفوقهم العلمي والعملي ابدا.
- انصحك بدخول فريق مكون من افراد تعرفهم شخصيا وتعاملت معهم اكثر من مرة ليس من الضروري كونهم اصدقاء لك انما من الضروري ان ييكون بينكم معاملة حسنة ولا تنخدع بقول الناس عن شخص انما تيقن بنفسك - ساعطيك بعض الامثلة.
- وجود عضو غير فعال او كسول في الفريق لن يبطئ الفريق بقدر وجود شخص يهتم بمصلحته الشخصية قبل مصلحة الفريق.
- بعض الاشياء اللتي يفضل عملها في حال كنت ستعمل مع شخص جديد في فريقك
- الق نظرة على كتاباته على مواقع التواصل الاجتماعي
- وجود كتابات هجومية عنيفة يقل فيها ادب الحوار او تهاجم اشخاصا ذوي مكانة تستدعي الاحترام بطريقة لا تليق هو انذار مباشر بالابتعاد عن التعامل مع هذا الشخص تماما.
- تحاور معه او اساله عن رايه في بعض الموضوعات التي قد يكون الاختلاف في الاراء واردا فيها او فيه تعصب
- في حال لاحظت عليه تعصبه لرايه وتقليله من اراء الاخرين وربما رفضها دون استماع او في حال السخرية والتهكم على الغير فابتعد عن تواجدك معه في فريق واحد.
- اساله فيما لا يعرفه وتعرفه انت وناقشه
- ال "هبد" -الحديث فيما لا علم للشخص به- هو احد السمات التي يتصف بها الكثيرون ولكن الاسوا منه هو التمسك بالراي لمجرد اثبات الذات حاول اختبار هذه الصفة في الشخص الذي ستعمل معه دائما حتي لا تتجنب دائرة من النقاشات التي لا معني لها.
- في مرحلة اختيار الفكرة
- تعد هذه المرحلة اولي المراحل التي يظهر فيها الخلاف.
- يفضل فيها الانتباه لتصرفات الافراد في حال خلافهم هل يتبعون منهجا صحيحا للوصول الى اتفاق ام انهم يحاولون اثبات ذاتهم او محاولة اثبات ان فكرة ما يتفقون معها ناجحة ولابد ان تكون اختيار الفريق.
- الق نظرة على كتاباته على مواقع التواصل الاجتماعي
- اياك والتواجد بالقرب من فرد يتباهي بسوء تعامله مع شخص اخر
- اياك والتواجد بالقرب من شخص لا يقدر الجهد الذي بذله شخص ما مهما كان بسيطا.
قد تعتقد انني ابالغ في هذه النقطة ولكن اصعب ما في مشروع التخرج هو التعامل مع افراد الفريق اذا لم يكن بينهم توافق اما الجانب العملي فهو الاسهل على الاطلاق
2- اختيار الدكتور المشرف والمعيد المشرف
الكثير من الدكاترة المشرفين على مشروع التخرج والمعيدين يختلف اسلوبهم في التعامل مع مشروع التخرج عن اسلوبهم في التعامل مع المحاضرات التي يشرحونها فلا تعتمد على معرفتك السابقة بشخصياتهم, في الحقيقة بالنسبة الي فقد صدمت بهذا الفرق الرهيب.
- يفضل ان تسال من هم اكبر منك عمرا عن المشرف الذي تود اختياره وابتعد تماما عن كون مشرف المشروع مزاجيا او متقلبا حتي وان كنت على ثقة تامة انك تعرف طباعه.
- يفضل ان يكون اختيارك للمشرف بناء على فكرة المشروع التي تم اختيارها وخبرته فيها.
بعد اختيارالمشرف يتم التواصل معه ليكون مشرف المشروع واحيانا يقوم بطلب "Proposal" للمشروع مكون من عدة صفحات يشرح الفكرة (سيتم الاستفادة منه في التوثيق فيما بعد) واحيانا لا يطلب ذلك.
في قسم "CS" بالكلية يتم اختيار 2 مشرفين علي المشروع - قم باختيار مشرف للمشروع واطلب رايه في اختيار المشرف الاخر.
اذا كنت لا تفضل اختيار مشرف معين للمشروع يمكنك ترك هذا الامر للكلية وهو امر مفضل في كثير من الاحيان.
3- التنفيذ في الفصل الاول
يطلب منك في الفصل الاول عدة اشياء بشكل اساسي
- عمل "Presentation" للمناقشة الاولي يشرح فكرة عمل المشروع - لمدة 20 دقيقة على الاكثر
- يتضمن الاتي
- تعريف المشكلة وفكرة المشروع.
- المشاريع السابقة المناظرة في هذا المجال، واختلافها عن مشروع التخرج الحالي.
- ال "Software requirements (overview)".
- ال "UML design diagrams (for example: use case, activity diagram, class diagram, ER diagram)".
- أهم algorithms المخطط استخدامها في المشروع.
- لغات البرمجة والادوات المستخدمة.
- مراحل تقسيم العمل بالمشروع Phases ،والمهام في كل مرحلة.
- توزيع األدوار على أعضاء الفريق (مهمة كل عضو) و يفضل على شكل جدول.
- عرض ما تم إنجازه من المشروع ويمكن عرض فيديو مسجل مسبقاً للبرنامج أثناء عمله مع تجهيز المشروع الاصلي للعرض أيضاً عند الطلب - غير مهم في الفصل الاول في حال لم يتم عمله.
- ال "Business model canvas" - اختيارية ولكن يفضل وجودها.
- لا يشترط الترتيب ولا شرح جميع الاجزاء في المناقشة انما قم بالسؤال عن اهتمامات المناقشين قبل المناقشة واعادة تحسين ال "Presentation" بناء عليها.
- يتضمن الاتي
- كتابة اول 3 الى 4 فصول من مشروع التخرج
- قم بطلب نسخة من كتاب مشروع التخرج من احد زملائك او المعيد المشرف وابدا بتوزيع المهام على الفريق لكتابة اول 3 فصول.
- غالبا يتم مراجعته من الدكتور المشرف في اول فصل ويتم تسليمه في مناقشة الفصل الثاني.
- التنفيذ الفعلي للمشروع
- انصحك في الفصل الاول مع اجازته ببناء اكبر جزء ممكن من المشروع لعدم توافر وقت كافي في الفصل الثاني من السنة.
- لا يطلب منك عمل "Demo" بالضرورة في الفصل الاول فاهتم بباقي الاشياء اكثر.
4- المناقشة الاولية
- المناقشة تتم في احد القاعات او المدرجات بحضور 3 دكاترة تقريبا لا يشترط ان يكون المشرفين منهم.
- يتم وضع الدرجات غالبا من قبل الدكتور المشرف.
- انصحك هنا بكتابة كل شئ تقوم بعمله في ملف على "Google Docs" او على ملف "Readme" مرفوع على "Github" بحيث يمكن الوصول اليه من زملائك ومن المشرف واحرص على تحديثه بعد كل مهمة تقوم بتنفيذها.
- يمكن لجزء من الفريق فقط عمل ال "Presentation"
- موعد المناقشة الاولي في عامنا الدراسي كان في بداية الفصل الدراسي الثاني يوم 21 من شهر مارس
5- تنفيذ الفصل الثاني
- عمل "Presentation" للمناقشة الثانية يشرح فكرة عمل المشروع - لمدة 20 دقيقة على الاكثر مع 10 دقائق للاسئلة
- يتتضمن نفس متطلبات الفصل الاول
- ال Demo الزامي في هذا الفصل
- اكمال فصول مشروع التخرج كاملا مع طباعته
- يفضل طباعة كتاب المشروع في خلال الفترة قبل امتحان ال "Final" او بعده مباشرة.
- اكمال تنفيذ ال "Core Function" في المشروع
6- المناقشة الثانية
- تكون في خلال الفترة ما بعد امتحان ال "Final" بما يقرب من اسبوعين - في سنتنا الدراسية كانت بدايتها في 2 من شهر يوليو
- يشارك فيها الفريق كاملا
7- الملتقي
- ينعقد الملتقي غالبا مباشرة بعد المناقشات
- المطلوب للمشاركة في الملتقي - يتم ارساله قبل المناقشات بفترة حيث كان اخر موعد لتسليم الطلوب هو 28 من شهر يونيو اي قبل بداية المناقشات ب 4 ايام تقريبا.
- عمل "poster"
- ال "Template" للبوستر حسب د/ وليد العدروسي : اضغط هنا
- ليس من الضروري الالتزام بال "Template" ويفضل ان يكون عمل ابداعي معبر عن الفكرة ولكن يجب الالتزام بالمحتوي.
- يتم طباعتها وتعليقها بالممرات من قبل الكلية
- رابط لوجو الكلية : اضغط هنا
- رابط لوجو الجامعة : اضغط هنا
- خواص البوستر
- يكون aspect ratio = 4:3
- النسخة الورقية المطبوعة تكون على مقاس 120x 90 cm
- يتم عمل صورة preview مصغرة بامتداد png بابعاد 1200x900 px
- يمكن عمل "logo" - اختياري
- تسجيل فيديو للمشروع في حدود 5 دقائق لشرح التطبيق والمشكلة التي يحلها - بدون الدخول في كود أو "uml" ، ويرفع على "youtube"
- عمل "poster"
- اسس التقييم في الملتقي
- يقوم كل قسم وبرنامج بتشكيل لجنة لاختيار أفضل مشروعين من كل قسم وبرنامج، فيكون الاجمالي 10 مشاريع للتصعيد للنهائي
- يتم في اليوم الأول للملتقى عمل المناقشة للمرحلة النهائية، وتعلن النتيجة في اليوم الثاني للملتقى في حفل الختام
8- مناقشة الملتقي
- المشاركة فيها تكون للفرق المؤهلة ويتم اعلان تاهلهم قبلها بيوم على صفحة الكلية.
- المشاركة تكون اختيارية لاعضاء الفريق ويمكن ان يشارك الفريق بعضوين فقط.
- مدة المناقشة تكون في حدود 10 دقائق.
- تركز المناقشات على جانب ال Buissness على الاغلب.
وصلنا الى نهاية العام الدراسي - مبارك عليك التخرج يا صديقي العزيز 🎉
توزيع ادوار الفريق
1- قائد الفريق والنائب عن قائد الفريق
من وجهة نظري اهم ما يجب ان يكون متوفرا في قائد الفريق او نائبه هو الاتي (ولا يجب ان يكون كله متوفرا)
- لديه معرفة جيدة بمراحل صناعة ال "Software" ويمكن الاستدلال على ذلك من خلال المعرفة التي تتوفر لديه من دراسة مادة "Software engineering".
- عمل على مشاريع عديدة سابقا سواء بالكلية او خارجها.
- اشترك في احد الفرق التطوعية بالكلية او خارجها واستلم دور قيادي.
- لديه معرفة جيدة بالفكرة ووجهة نظر عن طريقة التنفيذ وتوزيع الادوار قبل البدء.
- شخصية قيادية قادرة على اتخاذ قرارات والعمل تحت ضغط لفترات طويلة.
- يؤخذ رايه بعين الاعتبار من باقي الفريق ثقة منهم انه ياخذها بحكمة لا باندفاع.
- قادر على تنظيم عمله وعمل الفريق لتحسين انتاجية الفريق مع الحفاظ على بيئة مستقرة.
- يتم اختيارهم بالتصويت من باقي الفريق - ويمكن اختيار قائد الفريق ليقوم هو بتعيين النائب عنه حسب ما يناسبه.
دمج دور قائد الفريق او نائبه مع دور "المسؤول عن التنفيذ" او "المسؤول عن المسابقات" يعتبر امرا جيدا جدا.
2- المسؤول عن التنفيذ
- يجب ان يكون على معرفة جيدة باكثر من "Technology" وطريقة عملها وان لم يكن متمرسا في استخدامها ولكن يكفيه المعرفة العامة بتفاصيلها اضافة الى تمرسه في احدها.
- يفضل ان يكون الاكثر خبرة بسوق العمل وطرق تنفيذ المشاريع من الناحية التقنية وما هي ال "Standards" التي يجب اتباعها والادوات التي يجب استخدامها.
- يكون مسؤولا عن تقسيم العمل التنفيذي على الفريق والتاكد من تنفيذهم لها باكمل وجه وحسب القواعد التي يضعها للتنفيذ حسب معرفته.
- يكون مسؤولا بشكل كامل عن فشل عملية التنفيذ في حالة تم اتباع خطته في التنفيذ ولم يتوصل الفريق للنتيجة المرجوة ويجب عليه ايجاد حل للمشكلة التي تعوق الفريق في هذه الحالة.
- يكون مسؤول عن تقييم العمل التنفيذي لكل عضو في الفريق.
- يفضل دمج هذا الدور مع دور قائد الفريق او النائب عنه.
- لا يفضل ابدا ان يستلم دور تنفيذي اخر في فريق التطوير وانما يجب عليه التركيز على بناء المشروع وتوزيع الادوار على باقي الاعضاء ومتابعتهم لحل مشكلاتهم.
3- المسؤول عن المسابقات
في غضون فترة مشروع التخرج يكون هناك مجموعة مسابقات من الجيد المشاركة فيها ولكن المشاركة ليست اجبارية وبالتالي قرتر المشاركة فيها من عدمها بتصويت الفريق كاملا فيفضل ان يكون هناك مسؤول عنها في الفريق
- مسؤول عن متابعة المسابقات والتقدم لها بالنيابة عن الفريق.
- مسؤول عن توزيع العمل الخاص بالمسابقات على اعضاء الفريق.
- يفضل ان يكون مهتم بريادة الاعمال او لديه خبرة في التقدم للمسابقات.
- يفضل ان يكون دوره ثانوي في فريق التنفيذ خصوصا في حال انشغاله بالمسابقات.
- اطلع على المعلومات المتاحة عن بعض المسابقات من الملف الاتي من اعداد د/سارة المتولي : الملف
مهم - يجب الا يتداخل عمل المسؤول عن المسابقات مع المسؤول عن التنفيذ ويجب مراعاة القيود التنفيذية دائما وفي حالة حدوث تعارض يجب الرجوع لقائد الفريق لتحديد اولويات الفريق.
4- المسؤول عن التوثيق (ال "Documentation")
يقوم بتوزيع ومتابعة مهام التوثيق لكل فرد في الفريق وتتم عملية التوثيق على مرحلتين
المرحلة الاولي قبل التنفيذ الفعلي حتي تكون كخطة شبه واضحه لعملية التنفيذ
المرحلة الثانية بعد التنفيذ الفعلي لعمل التعديلات على التوثيق بما يتناسب مع ما تم تنفيذه في حال حدوث تغيير
6- فريق التطوير او التنفيذ
- يستحسن ان يكون الاشخاص الذين يتولون مهام (قائد الفريق, النائب عنه, المسؤول عن التنفيذ, المسؤول عن التوثيق) داعمين فقط لعملية التطوير ولا يتولون فيها دور اساسي.
- يجب تقسيم الفريق الى فرق مصغرة تتكون من فردين لاداء مهمة محددة على ان يكون فرد منهما هو المسؤول بشكل اساسي عن المهمة اما الفرد الاخر فداعم له خصوصا اذا كان الفرد الاخر يتولي دور اساسي في مهمة اخري.
- يفضل ان يكون لكل فرد في الفريق مهمة واحدة اساسية ومهمة واحدة فرعية لا اكثر.
ادوات مساعدة في عملية التطوير
يفضل ان يقوم الفريق بتعلم استخدام هذه الادوات قبل البدء لانها ستسهل عملية التطوير كثيرا
- توزيع ومتابعة مهام الفريق ("Trello" او "Notion") بالنسبة لي افضل "Trello" لسهولة استخدامه
- متابعة الاصدارات (استخدم Github) - ويفضل استخدام ال "Gitflow workflow"
- معرفة اساسية ب لينكس وطريقة رفع تطبيقات الويب عند احد اعضاء الفريق على الاقل - غالبا ستحتاجها في اي مشروع
افضل طريقة للعمل
- بعد تجربة الكثير من طرق العمل يبقي العمل كفريق بشكل اوفلاين افضل طريقة وانصحك بالاتفاق مع "workspace" لحجز غرفة ل مرة الى 3 مرات اسبوعيا للعمل "اوفلاين" في بداية العام بعد ذلك فالالتقاء مرة واحدة اسبوعيا جيد للغاية في فترات الداراسة.
- ليس بالضرورة ان يكون الفريق كله متواجدا في كل مرة ولكن على الاقل تواجد نصف الفريق امر جيد.
- يجب حضور الفريق كاملا في يوم محدد من كل اسبوع للنقاش في تفاصيل المشروع وعند تثبيت راي ما يجب عدم النقاش فيه بشكل خارجي انما اي نقاش يتم في حضور الفريق كاملا.
- حاول ان تقضي وقتا ممتعا ولا تضغط نفسك في التنفيذ واستمتع بوقتك مع زملائك فذلك لن يعوض اما العمل فلا نهاية له 😀
وفقت يا صديقي العزيز ❤