السلام عليكم,
بعض المبرمجين -المبتدئين مثلي- يعملون على المشاريع بفوضاوية وتشتت ما يسبب تأخر في انهاء العمل او نسيان اصلاح العديد من المشاكل البرميجة او مشاكل التصميم! لدى نتمنى منكم مشاركتنا بخبراتكم في هذا المجال.
وبارك الله فيكم,
الجلوس مع العميل ( شخصيا او سكايب ) لفهم المشروع و الهدف بدون الدخول في التفاصيل التقنية.
اذا كان العمل هو أتمتة عمل ما، مثل موقع إدارة مشروع احاول ان اذهب لمكان العمل ليومين او ثلاث و التحدث مع الموظفين و المستخدمين النظام
اذا كان العمل هو موقع لخدمة ما، أحاول التكلم مع الزبائن أو المستخدمين العاديين
رسم مخطط بسيط المهام التي يجب ان تكون و الخواص التي يجب ان تكون موجودة
من المخطط احدد الوقت و التكلفة و إنجاز mockup
اصنع العقد و اوقعه من قبل العميل
البدء بالعمل بعد استلام الدفعة الأولية ( لا ابدا بدون جزء من المبلغ المتفق )
تحميل ال boilerplate الخاص بي و البدء في إنتاج الـ MVP
بعد اكمال MVP أخذ رأي العميل به و إنجاز التعديلات
اكمال المشروع بتقسيمه إلى milestone و اخذ جزء المبلغ النهائي مع انتهاء كل milestone
آخر عملية هي إصلاح ال bugs في النظام و صقل النظام
التسليم بعد اخذ اخر دفعة ( الموقع و الكود كامل و ال documentation )
مدة الضمان تتراوح بين 3 اشهر الى سنه ( او حسب الإتفاق )، الضمان يتضمن إصلاح bugs و لكن اي تحديث او تدريب او تطوير يعتبر عقد جديد.
لنأخذ مثلا المشروع لإدارة الموظفين في شركة ما.
اذهب (سواء للموقع الحقيقي او بالسكايب) و أتحدث مع الذي يدير الموظفين و احاول ان افهم سير العمل و ماذا يحتاج لإنهاء العمل. احيانا فقط اجلس معه في المكتب و اشاهده يعمل.
و اكتب قائمة بالأشياء التي يريدها و الأقسام التي يحتاجها المستخدم، بالإضافة الى خواص يريدها الموظف مثل حساب عدد ايام الإجازة بدون تضمن العطل الأسبوعية والرسمية و ربطها بالرواتب اوتوماتيكيا.
لان الزبون الذي يأتيك قد لا يعرف ما يحتاجه بالضبط.
أما للنقطة 3 خذ مثلا موقع لعمل CV ( شيء مشابه للينكد إن + wix ) و نشرها على النت.
ابحث عن عملاء محتملين و اسألهم عما يريدونه في موقع هكذا.
سيقول لي احدهم انه يريد خاصية لعمل عدة CV معا و إدارتهم بنفس الوقت.
و هكذا اعرف المتطلبات بشكل أدق.
و لكن احيانا يكون العميل لديه تصور واضح لما يريد، لذلك لا احتاج الى هذه النقطة. و احيانا ابدأ بهذه النقطة بعد العقد او اقسمها الى قسمين قبل العقد يكون شيء بسيط و سريع و بعد توقيع العقد يكون العمل بجدية
كله يرجع للعميل و العمل
أسلوبك عملك رائع، هل جاء من خبرتك أم تلقيته من جهة أخرى ؟
بالنسبة للـ Documentation، بحثت كثيرا في الأنترنت عن هيكلة بناء التوثيق و كل ما يجب أن يورد فيه، لكن المصادر قليلة جدا و بالكاد وجدت شرحا من متاجر Envato ؟
خليط من الأثنين، لا تأخذ اسلوبي كقالب صحيح 100%، عليك تغييره إيجاد شيء مريح لك و مفيد.
بالنسبة لل Documentation، فأنا استعمل شيء خاص بي و ليست متأكد بأنه الافضل او الصحيح.
و لكن هذا هو :
استخدم هذا الموقع لتعلم كيف اكتب كود واضح
مثلا:
اسم الـ function او الـ component
شرح بسيط
المدخلات و المخرجات ( اذا وجدت )
مثال لإستعمال الكود
مثل :
او
طبعا لن يكون به كل function او component و لكن المهمة منها
أظن هذا يصلح مع المشاريع الصغيرة التى يكون المبرمج فيها هو كل هؤلاء
( Back-end, front-end, project manager, quality control, ..etc)
أجل استعمله بالمشاريع المتوسطة و الكبيرة سواء كنت لوحدي او مع فريق .
هل تستعمله انت ؟ هل تستعمل برامج خاصة مثل تريلو او تستعمل الطريقة التقليدية باستعمال Sticky Notes
انا استعمله يوميا
أصعب نقطة بالنسبة لى هو كيف تقوم بعمل الميزان الذى من خلالة تستطيع أن تقيس الوقت التقريبى لكل مهمة
قال لى أحدهم يتم ذلك عن طريق قياسك لمهمة مألوفة لك تعرف وقتها التقريبى
وكل مهمة جديدة تنظر كم تساوى حجما من حجم المهمة المألوفة لك وتستنتج الوقت التقريبى من ذلك
أعجبني نظامك.
1 - فيما يخص Mockups, ما هي الادوات التي تستخدمها؟ هل سبق ان استعملت احدى هذه الادوات وما رأيك بها: adobe xd, figma, webflow؟
2 - هل الافضل انشاء boilerplate شخصي ام لا مشكلة في استعمال الجاهز منها؟
3 - هل يمكنك ان تحدثنا قليلا عن MVP والادوات التي تستعملها فيه والوقت المتوسط الذي تستغرقه لانجازه؟ "لم استوعب فكرته جيدا".
بالعادة ابدأ من boilerplate جاهز و ثم احوره لكي يناسب طريقة البرمجة الخاصة بي و المكتبات التي استعملها.
حاليا احاول ان انشيء boilerplate محور يحتوى على اشياء كثيرة مثل login system / email / cron
و كذلك الكثير من components الجاهزة لل UI حيث يسرع العمل للمشاريع الجديدة بسرعة هائلة.
بالنسبة لل MVP هو إنتاج تطبيق لأبسط شكل للمشروع، حيث يستطيع المستخدم ان يحصل على تصور لكيفية شكل المنتج النهائي و هنا تستطيع تعديل المشروع ليتناسب مع رؤية العميل
مثلا انت تريد ان تصمم MVP لموقع شبيه بحسوب io.
الأشياء المهمة هي :
صفحة لعرض المواضيع
صفحة الموضوع نفسه مع التعليقات
صفحة العضو
التويتر :
صحيفة لعرض التغريدات
صفحة للمغرد
اليوتيوب :
صفحة لعرض الفيديوهات
صفحة لعرض الفيديو
اخي الكريم هل تنصح المبتدئين مثلي بعمل على فريمورك ام لا , يعني انا كشخص يمكنني ان ابرمج اي موقع و لكن استخدم pure php
هل هذا جيد ام لا
و بأي فريمورك تنصحني.
و شكرا مسبقا
أنصحك بأخذ مبادئ هندسة البرمجيات الأولية سيتحسن أسلوبك و تكون لديك نظرة شاملة حول تطوير التطبيقات.
التعليقات