الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طريقه ترتيب البرمجه ؟

بدأه Scofiled في 5 أغسطس 2011 · 3 رد · 688 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي شركه لتصميم وبرمجه مواقع الانترنت ولكنى تواجهنى مشكله كبيره

فأنا اعمل على مشروع كبير وهذا سبب افتتاحي للشركه ولكن تقابلنى مشكله انه عند تغيير المبرمجين

يأتى المبرمج التالى ويقول لي انه لا يستطيع العمل على البرمجه السابقه وهذا سياخذ منه وقت طويل

وبالتالى يضطر الى اعاده العمل بأسلوبه وبعد فتره تأتى المشكله العربيه العالميه وهى ان يتحول المبرمج من شخص سريع الى شخص كسول وغير دقيق فى المواعيد

واقوم بالبحث عن البديل ويأتى البديل بنفس المشكله انه لا يستطيع التعديل وسياخذ معه وقت طويل ومن الافضل ان يبدأ من البدايه

لذلك انصحونى بالحل يا اخونى فى مثل هذه الامور

ما هى الطريقه التى يجب ان يتم ترتيب البرمجه بها حتى يستطيع اى مبرمج اخر العمل عليها

وللعلم فانا لست مبرمجا ولكنى مصمم مواقع انترنت واعرف الاساسيات فى البى اتش بى

بالتوفيق وتقبلوا تحياتى

#2

السلام عليكم،

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

- أن يكون لديك Product Manager أو أن تتولى بنفسك هذه المهمة كونك صاحب المشروع وتعرف المتطلبات. مدير المنتج مهمته أن يحدد ما هي المتطلبات التي يجب أن يوفرها البرنامج. المدير وفريق المبرمجين يعملون وفق منهجية SCRUM (

الذي يشرح طريق عمل فرق البرمجة اليوم) وهناك طريقة أخرى تسمى Kanban ومعظم الشركات تستخدم احداها. باختصار شديد على مدير المنتج أن يضع Product Backlog يحدد فيها بشكل قصص ما هي الميزات التي يريد أن يراها في البرنامج مرتبة من الأهم فالأقل أهمية. بعد ذلك يتناول المبرمجون هذه الميزات ويقدرون الزمن الذي يحتاجونه لتطبيق كل قصة (هنا القيد الذي يمنع المبرمج في أن يأخذ كل وقته في تعديل البرنامج اذ انه بتقديره الزمني يقدم وعداً لك بتنفيذ ما تطلبه خلال فترة محددة). بعد ذلك يعملون في فترات أسبوعية أو كل أسبوعين تسمى Sprints ويعملون على البرنامج بحيث يحقق المطلوب. في نهاية كل sprint يحصل اجتماع يقدم فيه المبرمجون عملهم ويجب أن ينال موافقة مدير البرنامج. هذا شرح مبسط جداً طبعاً. المهم أنه يجب عليك استخدام مدير للبرنامج أو أن تتعلم أنت تفسك كيفية العمل بمنهجية Scrum وهو أمر ليس صعباً وبما أنك المصمم فانت عضو في الفريق أيضاً وتقوم بالجزء الخاص بك. اضافة لذلك عند مقابلة مبرمج جديد لتوظيفه يمكن أن تسأل ان كان يعرف هذه الطريقة. معظم الشركات التي تستخدم هذه المنهجية في العمل تستخدم بالحد الأدنى Excel Sheet أو يستخدم أحد البرامج أو المواقع لهذا. في الشركة التي كنت أعمل فيها كنا نستخدم FogBugz ولكن اليوم هناك العديد من المواقع مثل PivotalTracker.

- هناك أداة لا غنى عنها مهما كان حجم البرنامج ومعظم المبرمجين لا بد وأن يعرفوا أحدها وهي برامج حفظ الكود Version Control System. اشهر هذه البرامج اليوم هو git وsubversion. لا بد من حفظ كود البرنامج أو الموقع في أحد هذه البرامج سواء داخل الشركة أو في موقع مثل github.com. هذه البرامج تتيح لك اعادة الكود الى أي فترة زمنية سابقة والغاء التعديلات وطبعاً له فوائد أخرى مثل خلق فروع للكود لتجربة فكرة معينة وادخالها للفرع الأصلي اذا اعجبتك أو طرحها ان لم تعجبك وتجربة أمر آخر.

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

يمكنك أن تقرأ عن Scrum هنا.

1
#3
cljneophyte كتب:

السلام عليكم،

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

- أن يكون لديك Product Manager أو أن تتولى بنفسك هذه المهمة كونك صاحب المشروع وتعرف المتطلبات. مدير المنتج مهمته أن يحدد ما هي المتطلبات التي يجب أن يوفرها البرنامج. المدير وفريق المبرمجين يعملون وفق منهجية SCRUM (

الذي يشرح طريق عمل فرق البرمجة اليوم) وهناك طريقة أخرى تسمى Kanban ومعظم الشركات تستخدم احداها. باختصار شديد على مدير المنتج أن يضع Product Backlog يحدد فيها بشكل قصص ما هي الميزات التي يريد أن يراها في البرنامج مرتبة من الأهم فالأقل أهمية. بعد ذلك يتناول المبرمجون هذه الميزات ويقدرون الزمن الذي يحتاجونه لتطبيق كل قصة (هنا القيد الذي يمنع المبرمج في أن يأخذ كل وقته في تعديل البرنامج اذ انه بتقديره الزمني يقدم وعداً لك بتنفيذ ما تطلبه خلال فترة محددة). بعد ذلك يعملون في فترات أسبوعية أو كل أسبوعين تسمى Sprints ويعملون على البرنامج بحيث يحقق المطلوب. في نهاية كل sprint يحصل اجتماع يقدم فيه المبرمجون عملهم ويجب أن ينال موافقة مدير البرنامج. هذا شرح مبسط جداً طبعاً. المهم أنه يجب عليك استخدام مدير للبرنامج أو أن تتعلم أنت تفسك كيفية العمل بمنهجية Scrum وهو أمر ليس صعباً وبما أنك المصمم فانت عضو في الفريق أيضاً وتقوم بالجزء الخاص بك. اضافة لذلك عند مقابلة مبرمج جديد لتوظيفه يمكن أن تسأل ان كان يعرف هذه الطريقة. معظم الشركات التي تستخدم هذه المنهجية في العمل تستخدم بالحد الأدنى Excel Sheet أو يستخدم أحد البرامج أو المواقع لهذا. في الشركة التي كنت أعمل فيها كنا نستخدم FogBugz ولكن اليوم هناك العديد من المواقع مثل PivotalTracker.

- هناك أداة لا غنى عنها مهما كان حجم البرنامج ومعظم المبرمجين لا بد وأن يعرفوا أحدها وهي برامج حفظ الكود Version Control System. اشهر هذه البرامج اليوم هو git وsubversion. لا بد من حفظ كود البرنامج أو الموقع في أحد هذه البرامج سواء داخل الشركة أو في موقع مثل github.com. هذه البرامج تتيح لك اعادة الكود الى أي فترة زمنية سابقة والغاء التعديلات وطبعاً له فوائد أخرى مثل خلق فروع للكود لتجربة فكرة معينة وادخالها للفرع الأصلي اذا اعجبتك أو طرحها ان لم تعجبك وتجربة أمر آخر.

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

يمكنك أن تقرأ عن Scrum هنا.

أولا اشكرك جدا على ردك الوافى والرائع واسمحلى ان ارفع القبعه لك

وسأقوم بالعمل بنصيحتك واقرا عن الامر

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

لا اكذب عليك اخي الكريم لدينا مشكله نحن العرب فى الاستمراريه فى العمل بس نحاول ان نخلق لنفسنا اعذار دائما

اشكرك مره اخري وتقبل تحياتى

#4

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

لن أضيف الكثير فما ذكر يكفي بإذن الله ولكن كإضافة بسيطة لما ذكره الأخ cljneophyte لا تنسى أن من أحد مهام المبرمج كتابة Documentation للبرنامج الذي يعمل عليه فمثلا حث هذا المبرمج على كتابة الكود بأسلوب PHPDoc هذا سيساعد كثيراً أي شخص قد يضطر للتعديل على الكود

أمر آخر :

تبديل الموظفين بشكل مستمر ليس بالأمر الجيد, فهذا سيبقيك في مكانك إلى الأبد, فحتى وإن وجدت من موظفك الفتور في العمل حاول أن تحثه وتحفزه ولو بالتشجيع و الشكر طبعاً لا أتحدث عن زيادة راتبه كلما رأيته أبطئ في العمل حتى تحفزه وإنما هناك طرق كثيرة لتحفيز الموظف وإعادة حماسه إلى العمل

فمثلا أحد أهم الأسباب التي تجعل المبرمج يمل و يفتر في عمله هو العمل على أسلوب واحد أو نوع واحد من المشاريع لمدة طويلة, فهذا سيحول عمله إلى Copy/paste من المشاريع القديمة مما سيسبب له الملل الشديد من العمل, فحاول أنت هنا فسح المجال لموظفك بأن يتعلم أساليب وتقنيات جديدة و يعمل عليها في المشاريع الجديدة, حثه على التعلم و التقدم, حتى ولو جعل ذلك المشروع يأخذ أكثر من وقته قليلاً ولكن قد يتعلم تقنية جديدة فتسرع له العمل في المستقبل, بالإضافة إلى أن التجديد المستمر سيخفف كثيراً من تباطئه بالعمل والله أعلم

بتوفيق الله...

تم تعديل هذه المشاركة بواسطة MoHaMMaD Pro في 6 أغسطس 2011 في 06:09

Everything will be fine when we TALK LESS, DO MORE


مواضيع مشابهة