إدارة المشاريع البرمجية وفرق العمل ، أبحث عن بدائل ، أفكار ، تجارب لا عدمناكم

السلام عليكم ورحمة الله وبركاته

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

وجدت ولله الحمد مبرمجين متخصصين بـ laravel للعمل معي ، ولكن لبُعد المسافة يصعب علينا التواصل وتوزيع المهام ومعالجة الأخطاء البرمجية bugs ، وأصبحت أبحث عن حل بديل لإدارة المشاريع.

فمثلاً لدي مشروع برمجة تطبيق إدارة مخازن (على سبيل المثال) ، أريد أن يعمل عليه 5 مبرمجين ( 2 في السعودية والبقية في الخارج).

الإشكاليات التي واجهتها:

أريد تقسيم العمل على جزيئات بحيث يكون كل مبرمج مسؤول عن جزئية معينة توكل إليه ولا يحق له الإطلاع على الأكواد الأخرى ، مثلاً:

المشروع app

controllers/Home.php للمبرمج أحمد

controllers/Tickets.php للمبرمج خالد

.. إلخ

بحيث يقوم المبرمج ببرمجة الملف الخاص فيه بدون إطلاعه أو قراءته لكود بقية الصفحات والتعديل عليه ، والتعديل يرفع مباشرة على remote server ويستطيع تجربته.

كل هذه من باب توزيع المهام وحماية الـكود المصدري للتطبيق من السرقة لا سمح الله أو التعديلات .. إلخ.

** بحثت عن أدوات مفيدة في هذا المجال ولكني فضلت طرح السؤال هنا لأستفيد ويستفيد غيري من المقال فهناك خبراء في الموقع.

لا مانع من طرح روابط مفيدة في هذا المجال.


fsaedy أضف ردا

السلام عليكم ورحمة الله وبركاته

اخي الفاضل العمل بطريقة مثل هذه الطريقة لن يضر الا هوية البرنامج وسوف يكون البرنامج "ترقيع بمعنى الكلمة" ..

البدأ بعدم الثقة مشكلة كبيرة في مجموعات العمل Project team والطريقة المتعارف عليها عالمياً في العمل الجماعي بتكون على مستوى (module) كاملاً، ومن الخطاء ومضيعة للوقت التوزيع على مستوى (model)، فكيف تريد ان توزع عمل على مستوى File .. هذا خطأ كبير

ثم الامر الاخر لا تحتاج اكثر من GitHub و تحكم عبر Repository

مع الثقة الكاملة في المبرمجين والدعاء والاجتهاد ان يحدث التناغم والتكامل والتطابق في اسرع وقت ممكن وارى ان التوزيع يكون على مستوى (module) مع وجود توثيق متطلبات وخط سير بناء هذا اهم وانفع.

ثم توفير Server يقوم بعمل تحديث ذاتي بعد التنبيه ان هناك تحديث على الكود "هذه الخاصية موجودة في github ولكن تحتاج الى مكونة خاصة" تحديث لكامل الموقع لكي يرى المبرمج العمل كامل مع الاخرين بدون روية كود الاخرين لانالموقع في حالة تنفيذ طبعا، للتجربة عمله وتوافقه مع الاخرين ومع framework العام هل هو متناسق او لا ..

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

واذا كنت تعمل بنظام MVC حقيقي معنى ذلك انت تدمر المبرمج ولا يمكن ان اصدق ان مبرمج متمكن يوافق على هذه الطريقة مستحيل،او سيكون مبتدئ وحابب يتعلم ويضيع وقتك معاه .

الخلاصة بالنسبة للبرامج التي تدير مثل هذه الاعمال انا اقترح وبشدة واعتمد عليه منذ فترة

وهو يقوم مقام github اذا احببت ، وانت معتمد عليه لا داعي للخروج منه اضف مميزات اليه من الداخل ادارة المهام وعيش حياتك..

انا ادير عمل اكثر من 25 مبرمج في عدة دول ونعمل على عدة منصات ولغات على مستوى (module) منذ سنوات مضت وبعضهم يدخل موقت ينهي عمله ويمضي ولا يهمني ان ياخذ الـ(module) معه ولا يهمني ان يستفيد منه في برامجه الخاصة الله يباركله، لكن هذا (module) مخصص لمنظومتي في المجال الاول.

اخيرا نصيحة لوجه الله ، رأيت بعيني خلال 20 عام هذه الطريقة واكتشفت ان الحذر يجب ان يكون بحدود فهو اكثر ما يؤخر المشاريع وخاصة المشاريع المكررة ، اذا اردت الخصوصية الكاملة اعتمد على من عندك تحت يديك حتى لا تفقد الهوية للبرنامج فعدد اثنين من المبرمجين متناغمين افضل من 10 بهذه الطريقة

اسف اطلت وكررت لكن اسال الله ان يكون فيها فائدة لك ...