المشاكل التي تواجه المشاريع
الكثير من المبرمجين عندما يتصفحون الفيسبوك او بعض المواقع الالكترونية ومشاهدة بعض التطبيقات التي تم برمجتها لاجهزة الاندرويد او على الكمبيوتر ,ينتابهم شغف كبير ويبدئون بالتفكير نحو اي مشروع برمجي الذي سيأخذ بهم نحو الشهرة او الغنى, عندما يبداء اي مبرمج بالتفكير في اي مشروع فهنا يقوم بالتحليل واخذ المعطيات وماهي الاجراءات التي سيقوم بعملها لنجاح المشروع, ثم يفكر في اي لغة برمجية سيتم كتابة اكواد المشروع ,عندما تملك ذلك الشغف فانك تشعر بالفرحة والسرور وكأن مشروعك ليس كباقي المشاريع,لكن سرعان ما تتحطم معنوياتك لربما ان تجد مشكلة برمجية انت غير قادر على حلها او ان ترى المشروع اضخم مما كنت تتصوره في عقلك,في ذلك الوقت يطرأ شغف جديد في مخيلتك لبناء مشروع اخر,فتقفل المشروع وتبدا بعمل مشروع جديد وتستمر حالة التكرار وعدم انهاء اي مشروع برمجي,الامر اشبه بفيلم قديم تستمر بمشاهدته كل يوم,ربما وانت تقرأ الان ان ذهبت الى ملفك الذي يتضمن المشاريع الخاصة بك لوجدت انه لايوجد اي مشروع مكتمل,عشرات المشاريع الممتازة لكن لا نتيجة تذكر.
لماذا لم انهي مشروعي البرمجي؟
  • في هذا المقال سوف نحاول ان نوافيك بحل هذه المشاكل وسوف نطرح عليك مجموعة من النصائح العملية وبعض الطرق التي سوف تجعل مشروعك يبدأ من البداية وينتهي في النهاية وسوف استعرض لكم اول الخطوات:

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

-قبل تنفيذ المشروع لا تكتب اي كود حتى تحلل كل شي
  • اغلب الاشخاص يذهب لكتابة اكواد المشروع البرمجي دون تحليل اي كود برمجي لذلك يجب عليك عزيزي المبرمج ان تحلل كل شي وان تقوم بكتابة خوارزمية وهي خطوات بناء المشروع برمجيا,وايضا هناك افكار تتطلب تقنيات مخصصة من اجل صناعتها, لذلك عندما لا تستطيع معرفة معلومة ما او تواجهك بعض المشاكل يجب عليك الاستعانه بجوجل او موقع Github لإيجاد أجوبة لأسئلتك.

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

-اثناء تنفيذ المشروع (المدة الزمنية)
  • يجب عليك عزيزي المبرمج بعد ان ادركت المدة اللازمة لانجاز مشروع وقمت بتحديد المدة الزمنية لكل مهمة,بالطبع ستلتزم بجدول المواعيد الذي قمت بإنجازه,فمثلا ان انجزت مهمة باكرا قبل موعدها ,لا تتسرع في انجاز المهمه التالية بل مارس نشاطات اخرى لبلوغ الوقت المحدد للمهمة التالية, لكن لا تعتقد ان انجاز مهمة سيكون سريعا وقد تنهيها في ساعتين ,بل يجب ان تكون المهمة كاملة من كل الجوانب, ( إن كنت بصدد تطوير جزء من موقع فإضمن التجاوب، إضمن الحرفية، تنظيف الكود ... ) لذلك قد يأخذ منك الأمر ساعات في اليوم، ساعات قد تشعر فيها بالإرهاق و التعب و قد تكون سبب إنتكاستك و بدئ إنطفاء الشغف الخاص بالمشروع، لذلك نقترح عليك حل 10 دقائق إستراحة مقابل 25 دقيقة عمل، بكل بساطة، ستقوم ببدئ عملك على المهمة لمدة 25 دقيقة، بعدها لديك 10 دقائق إستراحة، إنهض من مكانك، تناول شيئا، أمسك هاتفك و شاهد فيديو على اليوتيوب او تصفح الفيسبوك و غيرها، بعد إنقضاء الـ 10 دقائق يمكنك العودة للعمل لمدة 25 دقيقة، بعد تنفيذ 4 جولات اي 100 دقيقة خذ إستراحة 30 دقيقة، بهذه النمطية تبقى روح العمل و إنجاز المهمة في أوجهها.

-اثناء التنفيذ تفاخر بمنجزاتك
  • يخبرونك ان تقضي حوائجك في الكتمان، و يخبرونك ان الإشهار بما انت بصدد فعله لا يتعبه خير إطلاقاً، قد يكون الأمر حقا صحيح في مجالات أخرى، لكن برمجياً و أثناء العمل على مشروع فنحن نرى العكس تماما، من أجل إبقاء معدل التحفيز لديك في أعلى مستوياته، تحتاج الى بعض الثناء، أنهيت صفحة معينة ؟ انهيت جزء من البرنامج ؟ او التطبيق ؟ قم بتصويره و إنشره على حساباتك على مواقع التواصل، إن كنت تكره تلقي الكثير من التعليقات عن ذلك فقد خلقت لنا مواقع التواصل الـ Stories او القصص لنشر إنجازاتنا لفترة قصيرة،، إفرح بما تفعل، و شاركه مع الآخرين.

-اثناء التنفيذ اتبع المسار ولا تعكسه
  • هذه المرحلة مهمة جدا، و هي تقريبا ما تجعلك تنسى المشروع او تريد تغييره و البدء في مشروع آخر، عزيزي المبرمج ، حين تقرر البدء في مشروع معين و تقرر بناء كل الاجزاء و تخطط للمسار الذي يجب عليك إتباعه لإنجازه فإتبع ذلك المسار، إن خططت لصناعة صفحة ويب مثلا على هيئة تطوير الـ Navbar ثم الـ Content ثم Sidebar و بعدها الـ Footer، فلا تطور الـ Navbar ثم تنتقل الى الـ Footer، ذلك سيشتت تركيزك، قد تعتقد ان الأمر لا يفعل، لكن صدقني سيجعلك تتكاسل في صناعة ذلك الـ Sidebar مثلا، لأنك لا تملك أفكاراً لطريقة تطويره، و الأصح كان أخذ وقت و البحث عن أفكار لشكله بدل تجاوزه و البدء في الـ Footer و التناسي و التكاسل على الـ Sidebar، الأمر الذي سيجعلك تفقد الرغبة تماما في تطويره، و منه فشل تطوير الصفحة مؤديا الى فشل تطوير المشروع البرمجي بأكمله.