لغات البرمجة المُناسبة لبرامج سطح المكتب العامة

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

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

رأيي كمستخدم ومبرمج أن أنسب لغات برمجة لعمل برامج سطح مكتب يتم توزيعها لعدد كبير من المستخدمين ليس لك علاقة إدارة بهم، هو استخدام لغات البرمجة التي ينتج عنها برامج تنفيذية طبيعية في أنظمة التشغيل المختلفة Native executables مثل لغة س++ ولغة أوبجكت باسكال، واللغات التي لا تصلح هي اللغات التي تحتاج لآلة إفتراضية VM مثل لغة جافا ودوت نت، واﻷسواء هي لغات الـ  scripting  التي تجبر المبرمج على وضع الملفات المصدرية للبرنامج عند المستخدم و تحتاج لتثبيت مفسر حتى يتمكن المستخدم من تشغيل البرنامج.

السبب وراء هذا الافتراض هو اﻵلي:

  1. أن اللغات التي تحتاج لآلة افتراضية تجبر المستخدم بتثبيت تلك الآلة وغالباً يكون هُناك نوع معين، مثلاً نُسخة معينة لمعمارية معينة، حيث أنها ليست من مكونات نظام التشغيل، إنما هي مكتبة لطرف ثالث third party، لاهي جزء من نظام المستخدم ولا هي جزء من مكتبات مطور ذلك البرنامج، ونفس القياس للغات البرمجة المُفسرة scripting. وفي المقابل فإن لغات البرمجة الطبيعية ينتج عنها برامج تنفيذية لنظام التشغيل لا تحتاج لمكتبات أو طبقة وسيطة حتى يعمل البرنامج، لذلك تكون سهلة التثبيت وتعمل مباشرة دون الحاجة لتثبيت إضافات.
  2. البرامج الطبيعية تكون سريعة حيث أنها برامج تنفيذية بلغة اﻵلة، أما المُفسّرة فهي غير تنفيذية ويتم تحويلها إلى لغة اﻵلة أثناء التنفيذ كذلك التي تحتاج لآلة افتراضية
  3. البرامج الطبيعية قليلة استهلاك الموارد خصوصاً الذاكرة، أما المُفسرة أو التي تحتاج لآلة إفتراضية فإن حجم اﻵلة اﻹفتراضية أو المفسر يكون كبير جداً ويستهلك ذاكرة أثناء تشغيل تلك البرامج

جربت عدة برامج طبيعية و أخرى  تحتاج لآلة افتراضية، مثلاً برنامج Transmission bit torrent وهو مكتوب بلغة سي، وهو برنامج خفيف وسريع، وفي المقابل جربت برنامج Vuze والذي يخدم نفس الغرض، إلا أنه بطيء ويستهلك ذاكرة كبيرة جداً وقد تسببت لي مرة في ارتفاع درجة حرارة الجهاز. أيضاً تشغيل برامج جافا لسطح المكتب ليست سهلة، أحياناً يتم تشغيل الملف المضغوط .JAR وأحياناً يتم تشغيل البرنامج بواسطة ملف script لكل نظام تشغيل، و أحياناً يكون هُناك برنامج تنفيذي طبيعي يقوم بتشغيل برنامج الجافا، اعتقد انه مكتوب بلغة سي في هذه الحالة، مثل أداة التطوير Eclipse المكتوبة بالجافا إلا أن بها ملف تنفيذي لتشغيلها في الغالب يكون مكتوب بلغة سي.

ربما يكون فرق السرعة واستهلاك الذاكرة ليس كبيراً مقارنة بالبرامج الصغيرة، لكن كلما زاد حجم البرنامج بالتطوير المستمر فإن ذلك يزيد تلك الهوة بين تلك اللغات. وهذا مثال لاستهلاك الموارد لبرنامج مكتوب بلغة جافا وآخر مكتوب بلغة فري باسكال: والمقارنة لبرنامج يحتوي على فورم وزر ومربع نص :

برنامج الجافا استهلك 30 ميغابايت من الذاكرة، بينما البرنامج المكتوب بواسطة فري باسكال/لازاراس  استهلك 7 ميغابايت فقط، ولم اُجرب برنامج مكتوب بالسي لكن أعتقد أنه سوف يكون اﻷقل استهلاكاً.

المقارنة الثانية لبرامج تعدت المليون سطر، مثل أدوات التطوير نفسها، وفي هذه المقارنة أداة التطوير NetBeans المكتوبة بلغة جافا، ولازاراس المكتوبة بلغة فري باسكال، وMonoDevelop المكتوبة بالنسخة المفتوحة من الدوت نت المسماة Mono

memory

احتلت الـ NetBeans المركز اﻷول في استهلاك الذاكرة حيث بلغت أكثر من 500 ميغابات، ثم MonoDevelop التي استهلكت 127 ميغابايت، ثم لازاراس التي استهلكت فقط 44 ميغابايت من الذاكرة. أيضاً الفرق في سرعة التشغيل كان شاسعاً. حيث احتاجت NetBeans إلى حوالي 16 ثانية لتعمل، أما لازاراس فقد احتاج لثانية واحدة فقط.

كمستخدم أّفضّل البرامج التي لا تحتاج لتثبيت أي مكتبات أو آلة افتراضية خصوصاً إذا كانت هُناك بدائل، وأفضّل البرامج الخفيفة والسريعة. والمُبرمج لا يستطيع فرض البرامج المستهلكة للموارد والتي تحتاج لأعباء إضافية على المستخدمين. كذلك فإن المُبرمج لا يعرف مدى تنوع العتاد و النُسخ المُختلفة لأنظمة التشغيل الذي سوف يتم استخدامه لتشغيل تلك البرامج، لذلك فإن البرامج الطبيعية هي الخيار اﻷمثل، والدليل على ذلك تجد كثير من أجهزة المستخدمين التي بها عدد من البرامج ليست فيها آلة جافا الافتراضية، وهذا يعني أن ليس فيها برنامج واحد مكتوب بلغة جافا، وليس فيها مكتبة دوت نت، وهذا يعني أنه ليس هُناك برنامج مكتوب بالدوت نت، كذلك ليس فها مفسر بايثون، بل كلها برامج طبيعية لنظام التشغيل.

إذا كان الهدف هو عمل برامج للاستخدام الداخلي في المؤسسة التي تم تطوير البرامج لصالحها، فإن هذه المعادلة سوف تتغير، حيث يكون هناك معلومة مُسبقة لنُسخة نظام التشغيل المستخدمة  ومواصفات العتاد، مثل الذاكرة. كذلك يمكن للمطور فرض المكتبات اﻹضافية التي تحتاج إليها تلك البرامج ويُمكن أن يوكل مهمة إعدادها مسبقاً مع أي جهاز جديد للمستخدمين يتم إعداده في قسم  تقنية المعلومات مثلاً.

في الحقيقة هُناك أزمة في لغات البرمجة الطبيعية، حيث أن لغة البرمجة سي وسي ++ هي لغات قديمة ولا تواكب التطور الذي حدث في لغات البرمجة الحديثة عالية المستوى من حيث السهولة واﻹنتاجية، ويمكن قراءة هذه المقالة لأحد المبرمجين القُدامي للغة سي والذي يوضح أنها ليست لغة للمستقبل، كذلك فإن لغة فري باسكال غير مشهورة  بالقدر الكافي في سوق البرمجة، لذلك لجأت شركة مثل قوقل لمحاولة ردم هذه الهوّة بلغة البرمجة Go لكن لا أدري هل سوف تنجح أم في طريقها للفشل.

فجوة الذاكرة

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

وتقبل الله منا ومنكم واعاد الله علينا وعليكم شهر رمضان مرات عديدة بالخير والبركات.

في الحقيقة كُنت منشغل جداً في هذا الشهر، وحيث أنه شهر للعبادة إلا أنه شهر للعمل أيضاً حسب ما اعتدت في العمل، فبفضل الله استطيع إنجاز عمل شهرين وأن اعمل في أكثر من مشروع بخلاف باقي اﻷشهر من السنة، ربما بسبب قلة الشواغل مثل اﻹجتماعات واﻹتصالات، فيكون هُناك سكون يجعل الوقت فيه بركة. لكن هذا ربما  يُقلل من زمن العبادة، إلا أن العمل أيضاً يكون في سبيل الله كما في الحديث: “مر على النبي صلى الله عليه وسلم رجل فرأى أصحاب النبي صلى الله عليه وسلم من جلده ونشاطه ما أعجبهم، فقالوا: يا رسول الله، لو كان هذا في سبيل الله، فقال رسول الله صلى الله عليه وسلم: إن كان خرج يسعى على ولده صغاراً فهو في سبيل الله، وإن خرج يسعى على نفسه يعفها فهو في سبيل الله، وإن كان خرج رياء وتفاخراً فهو في سبيل الشيطان” ويقول تعالى في سورة الجمعة : فَإِذَا قُضِيَتِ الصَّلَاةُ فَانتَشِرُ‌وا فِي الْأَرْ‌ضِ وَابْتَغُوا مِن فَضْلِ اللَّـهِ وَاذْكُرُ‌وا اللَّـهَ كَثِيرً‌ا لَّعَلَّكُمْ تُفْلِحُونَ

في هذه المقالة أريد أن اتكلم عن ظاهرة تحدث معي كثيراً وهي نسيان بعض التفاصيل التي حدثت في يوم أو في فترة معينة، واسرد لكم هذه القصة حتى توضح الفكرة:

قبل أكثر من عشرين عاماً، عندما كُنت في المرحلة المتوسطة ذهبنا في رحلة في جنوب غرب الجزيرة العربية بالقرب من الحدود اليمنية، جنوب مدينة جازان، لا اذكر اسم المنطقة جيداً لكن ربما إسمها الموّسم. وكان معنا في الرحلة بعض الجيران. لازلت اذكر بعض التفاصيل كأنها حدثت قبل شهر، وهي عندما وصلنا إلى شاطيء البحر وجدنا ميدان شاسع جاف به اشجار شديدة الخضرة من اسفلها وجافة وباهتة من أعلاها، فلم نفهم تلك الظاهرة، ثم بعد الميدان دخلنا إلى البحر اﻷحمر ووجدناه ضحل، ووجدنا فيه اﻷسماك الملونة، وكانت أول مرة أرى فيها اسماك ملونة في البحر. تعمقنا فيه مسافة طويلة دون أن نصل إلى منطقة يمكننا السباحة فيها، فمازال ضحلاً مهما ذهبنا. فرجعنا إلى المكان الذي اقمنا فيه. بعد ذلك لا اتذكر شيئاً مما حدث في ذلك اليوم إلا عند العصر عندما رجعنا مرة اخرى لشاطيء البحر فتفاجئنا بأن الميدان غمرته المياه وغمرت الشجر إلى نصفه، وكانت أول مرة نرى فيها ظاهرة المد والجزر. فسبحنا في هذا الميدان، ثم عند مغيب الشمس رجعنا إلى الديار، ومررنا بالجبال مع الحدود اليمنية وكانت البيوت تظهر في الظلام كأنها نجوم من شدة علاها.

redsea

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

تمر على الشخص فترات مكررة في العمل وفي البيت وحتى في العبادة، فلا يتذكر منها شيئاً حتى بعد فترة وجيزة، وهذا حسب هذه الظاهرة يحدث عندما لا يكون هُناك شيئاً مميزاً ويكون إنجازنا لهذه اﻷشياء بطريقة عادية أو ربما نفعلها ونحن لا ننتبه، أي بالعقل الباطن، كقيادة السيارة والمرور بشوارع معينة واﻹلتفاف دون أن نفكر، فقط نهيء أنفسنا بأننا ذاهبون إلى العمل فيتولى العقل الباطن قيادة السيارة.

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

يمكن استخدام تلك الظاهرة ليقيس الشخص بها نفسه مع العمل الذي يعمل فيه، كم لبث في هذا العمل، وكم يتذكر منه. فكلما كانت الفترة طويلة وقلت اﻷشياء التي نتذكرها فهذا يعني أننا في حالة ركود وخمول ورتابة، يحتاج الشخص لعمل شيء مميز لتحريك هذا الركود حتى لو كان أن يترك العمل ويذهب لعمل آخر فيه حياة أكثر بالنسبة له.

من زاوية  أخرى يمكن أن ننظر بنفس الفكرة  للأشخاص الذين يتركون ذكريات كثيرة لزملائهم ولمرؤوسيهم ولمجتمعهم، وهُناك اشخاص يتركون ذكريات قليلة ومنهم من لا يترك أي ذكرى بعد أن يطول الزمان. فهذا مرتبط بمن هو ذاك الشخص، وماذا يفعل وماهو مدى شغفه بما يفعل، وماهي الطريقة التي يسلكها في إنجاز أي عمل، هذا كله يضع الشخص في درجة معينة من حفر ذكريات لا تُنسى أو لكتابة ذكريات في الرمال تنمحي مع أول هبة ريح.

استراحة مبرمج (2)

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

بعد اﻹجازة الماضية والتي سافرت فيها بداية عام 2011 لم تُتح لي الفرصة للسفر مرة أخرى داخل السودان. لكن يوم الجمعة الماضية اتيحت لي الفرصة لحضور زواج زميل لنا من أيام الجامعة، في قرية تبعد عن الخرطوم 300 كلم جنوباً، أقرب إلى سنار، وكانت فرصة لا تعّوض نسبة للإنشغال ومداومة العمل الحرلمحاولة التأسيس والتضحية بأي وقت للراحة  طوال هذه الفترة. التعب الجسدي الذي يحدث عن السفر ينتج عنه راحة نفسية حيث أن اﻹنسان ينشغل بأشياء أخرى تنسيه همومه وهموم العمل. والراحة النفسية ينتج عنها في النهاية راحة للجسد الذي تتعبه الحياة الرتيبة.

سافرنا بسيارة زميلنا، مع اني اصبحت لا احبذ السفر بسيارة صغيرة لمثل هذه المسافة الطويلة والطرق غير جيدة، اﻷفضل منها السفر عن طريق البص باعتباره اكثر أماناً. لكن ميزة السفر بالسيارة هي إمكانية التوقف في أي منطقة والتجوال داخل القرية بحرية. استخدمنا تقنيات لأول مرة في السفر مثل الإعتماد على الـ GPS وخرائط قوقل في معرفة الطريق للوصول إلى تلك القرية، حيث أن نهاية الطريق غير مُعبدة، فكانت مُغامرة لا تُنسى. كذلك كانت مسابقة للزمن لمحاولة حضور صلاة الجمعة وحضور عقد القران، وفي نفس الوقت يوجد رادار في الطريق المحدد سرعته ب 90 كلم في الساعة. ولم نستطع المحافظة على تلك السرعة حيت تجاوزناها قليلاً فكان نصيبنا أن تم توقيفنا وتحرير مخالفة مرورية لنا.

road

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

banana

القرية التي وصلنا إليها اسمها ديم المشايخة، وهي قرية بسيطة بالقرب من النيل تعتمد على الزراعة والرعي، وتتميز بيوتها بمساحاتها الكبيرة بما يُسمى الحوش، حيث تزيد مساحة البيوت احياناً عن الألف متر مربع، معظمها تكون فارغة ، واحياناً تكون بها أشجار، مثل هذه الصورة المأخوذة من داخل البيت:

yard

لم نلحق بصلاة الجمعة ولا عقد القران، وصلنا مع نهاية العقد وباركنا للعريس، لكن حضرنا الوليمة. بعدها ارتحنا قليلاً من تعب السفر ثم توجهنا إلى مزرعة كبيرة بها أشجار مانجو

mangomango2myphoto

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

sedr

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

mango-frout

اهم ما يُميز سُكان اﻷقاليم هي الطيبة وحسن الضيافة، وتتميز مأكولاتهم ومشروباتهم بأنها طبيعية لها طعم مختلف، شربنا كفايتنا من الحليب الطبيعي كامل الدسم مع الشاي

milk

الحياة البدائية مع أنها تحتاج لتعود إلا أن لها طعم خاص، فالماء لا يتوفر في حنفيات كما في المُدن، واﻷرضية داخل البيوت كلها ترابية، واﻹنارة محدودة في الليل، لكن الهواء عليل والسماء صافية وليس هُناك ضوضاء أو إزعاج.

morning

رحلة العودة في الصباح كانت ممتعة أيضاً، ولم نكن في عُجالة، وكانت في الصباح الباكر

off-road

مررنا بطريق مختلف، وهو طريق يمر بمدينة مدني الجميلة

medani

بعدها توقنا في مدينة الكاملين للفطور. تتميز المطاعم في قرى السودان باعتمادها على اللحوم في الوجبات بشكل كبير، واﻷكل في السفر من اﻷشياء التي لا تُنسى ايضاً.

dinner

التقطنا عدد كبير من الصور لتكون تذكار لهذه الرحلة التي لا تُنسى، واتمنى أن احظى برحلة مثلها في السنوات المقبلة بإذن الله.

أود أن اضيف أن هذا السفركلفني حوالي 27 دولار فقط، وكنا ثلاثة، أي التكلفة الكلية كانت حوالي 80 دولار فقط لذكريات رائعة.

هل تعرف من ملحقات الكمبيوتر ماهو أسوأ من الطابعة؟

السلام عليكم

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

في كثير من المصالح والشركات فإن الورق المطبوع والوثائق الورقية هي ما يُعترف بها، فلا يصلح أن تقوم بإرسال طلب إلكتروني أو صورة من هذه الوثائق مثلاً عند طلب خدمة من مصلحة لا تتعامل مع التقنية أو تتعامل بطريقة بدائية مع التقنية واﻹنترنت واﻹتصالات.

في الحقيقة لازال الورق المطبوع له خصائص لا توجد في اﻷجهزة اﻹلكترونية، و ما دعاني لكتابة هذه التدوينة أن يوم امس كان لدي اجتماع وحاولت طباعة أجندة اﻹجتماع لكن الطابعة تعطّلت، وكان اﻹجتماع طويلاً فإضطررت إلى قراءة اﻷجندة من الكمبيوتر، لكن بعد فترة انقضت الطاقة في بطارية اللابتوب، ومقبس وصلة مصدر الطاقة لللابتوب غير متوافق من المقابس الكهربائية الموجودة في غُرفة اﻹجتماعات، حيث أن التقنية عموماً لديها عدة مشاكل لم تُحل بعد، مثل البطاريات واشكال مقابس الكهرباء المختلفة. الورق كان أفضل، فلا حاجة لبطارية أو مصدر طاقة، واﻷهم من ذلك هو أنه من السهولة التعليق على كل نقطة في الورقة، أو على اﻷقل عمل إشارة إلى أن هذا البند تم وهذا لم يتم.

استخدم طابعة ملونة ماركة HP Desk jet 1050 وعند الرجوع لبرنامج الحسابات المنزلي وجدت أني اشتريتها قبل ثلاث سنوات – وهذه فائدة من فوائد برامج الحسابات، تسجيل المعلومات للرجوع إليها- وهي فترة لا بأس بها، لكن المشكلة أن الطابعة لم تكن تعمل بكفاءة طوال هذه الفترة، فمنذ الشهر اﻷول كانت لديها مشكلة في معرفة أن اﻷوراق موجودة أم لا. كذلك فإن الحبر مكلف جداً لدرجة أن سعره (حبر اسود + ملون) تقريباً يُساوي ثمن الطابعة الملونة. طابعة الليزر لها حبر يدوم أطول، لكنها غير ملونة، الطابعة الملونة مهمة في طباعة أوراق بها ترويسة  بشعار الشركة. لكن سعر حبر طابعة الليزر تقريباً يُساوي سعر طابعتين ملونتين وبها ماسحة. الطابعة الملونة التي بها ماسحة استخدمها في تصوير المستندات ايضاً. في الحقيقة هذه الطابعة خدمت كثيراً، وكل ما احتاجه طابعة أكثر كفاءة منها.

printer

قصتي مع تطوير برنامج TurboBird

السلام عليكمfirebird

قُمت بسرد قصتي مع تطوير برنامج TurboBird لإدارة قواعد بيانات فيربيرد في موقع Arabia.io في هذا الرابط:

https://arabia.io/go/8467

وذلك لأني وجدت اليوم صورة برنامج توربو بيرد في الوكيبيديا في صفحة معلومات قاعدة البيانات فيربيرد

 

المنفعة المتبادلة بين الموظف وصاحب العمل

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

بعد تجربة اﻹدارة لفترة طويلة اصبحت لدي تساؤلات ومفاهيم جديدة لم أكن أتطرق إليها جيداً ولم أكن أنظر لها بنظرة شاملة عندما كُنت موظف، ومن هذه المفاهيم هو المنفعة المتبادلة بين صاحب العمل والموظفين، خصوصاً في مجال البرمجة وتقنية المعلومات حتى لا يكون كلاماً عاماً.

عندما يعمل معك أشخاص في مشروع فإن الهدف اﻷول هو تحقيق ذلك المشروع، لكن توجد إحتياجات جانبية وأهداف مخفية لكل فرد من الفريق أو لصاحب العمل. فصاحب العمل يريد بالإضافة إلى إنجاز المشروع أن تُصبح لديه سمعة جيدة في السوق، وأن يجر له هذا المشروع مشروعات أخرى عند نفس الزبون أو يجلب له زبائن جُدد. أما بالنسبة للموظف أو المتعاقد معه على إنجاز هذا المشروع فيكون له أهداف أخرى مثل اكتساب الخبرة، وأن يظهر في سوق العمل ليجد فرص أخرى ربما تكون أفضل من عمله الحالي أو حتى أن ينال ترقية أو زيادة دخل.

في الحقيقة كثير من هذه اﻷهداف المعلنة وغير المعلنة لا تتعارض مع بعضها، إنما تكون في شكل تبادل منفعة، لذلك على كل طرف أن يحاول اﻹستفادة وإفادة اﻵخرحتى تسير المؤسسة أو الشركة بأفضل ما يُمكن. فكلما أحس الموظف أنه مستفيد من هذا العمل ويحقق أهدافه الخاصة كلما كان إنتاجه أكبر، وكلما وجد صاحب العمل أن هذا العمل يعود له بالنفع فهذا يدفعه للإستثمار أكثر في الكادر البشري.

افضل طريقة في نظري هي أن يقدم كل طرف اﻷولوية لفائدة اﻵخر، مثلاً الموظف يُقدم مصلحة الشركة على منفعته الخاصة، وصاحب العمل يُقدم مصلحة موظفيه على مصلحته الخاصة وعلى مصلحة الشركة، بهذا نضمن السير المتناغم لتلك المؤسسة. لكن ماهي المصلحة اﻷعلى في العموم، هل هي المؤسسة أم الموظفين. بدون المؤسسة يمكن أن يفقد كل الموظفين عملهم. وبدون الموظفين يمكن أن تفقد تلك المؤسسة عملها! فأيهما أولى، في الحقيقة ليست لدي إجابة

تظهر مشكلة عندما تكون مصلحة أحد الطرفين فيها ضرر باﻵخر، مثلاً عندما يقوم موظف بدراسة الماجستير فيتخلف عن العمل، حيث أن دراسة الماجستير مصلحتها المباشرة تكون للموظف، لكن الشركة ربما تتضرر من غياب هذا الشخص أو قلة أداءه لأنه يعطي أولوية لدراسته، فما هو الحل في نظركم، صاحب العمل لا يُريد أن يتضرر الموظف بعدم دراسته للماجستير، والموظف لا يُريد أن تتضرر تلك المؤسسة عندما يكون في الدراسة، فمهاهو الحل؟

كذلك عندما تريد الشركة أن تربح على حساب موظفيها، أي عندما يكون الربح مقدم على المرتبات أو الحوافز، فهذا يضر بالموظف. هذه اﻷشياء تتسبب في إنهيار العلاقة بين الموظف والشركة وربما تتسبب في إنهيار تلك المؤسسة في النهاية. أيضاً كشكل آخر لبداية إنهيار تلك العلاقة هو عندما يكون الموظف هدفه العمل في مؤسسة أخرى، فبهذا يُضيع كل الخطط اﻹستراتيجية التي رسمها صاحب العمل للإستفادة منه في المشروعات المختلفة. وفي الجهة المقابلة عندما يقوم صاحب العمل بإستغلال تفاني الموظف المعين في العمل دون أن ينظر لأهدافه الشخصية، فبهذه الطريقة عندما يتبين للموظف بعد فوات اﻷوان أن صاحب العمل إستغله وهو لم يستفد شيئاً فينتج عن هذا الفعل نشوء سمعة سيئة لتلك المؤسسة.

هل الخُطط المؤرخة ناجحة

السلام عليكم

لاشك أن التخطيط مهم جداً قبل تنفيذ أي عمل، لكن من ناحية عملية هل ينجح اﻹلتزام بتواريخ بداية ونهاية كل جزء من الخطة. لكن دعنا لا نتكلم نظرياً، فالنظري يقول أن الخطط لابد أن تكون مؤرخة ولا بد من التخطيط جيداً قبل أي مشروع، لكن هل كل هذا الكلام النظري صحيح.

من تجربة عملية في تنفيذ مشروعات برمجية لجهات مختلفة دائماً يكون هُناك إنحراف في زمن الخطط، وفي الغالب يكون مقدار اﻹنحراف اﻷكبر من ناحية الزبون، فمثلاً يطلب الزبون تنفيذ نظام معين، وطبعاً يكون دائماً مستعجل - الغريب في آخر مرة ذهبت إلى زبون قال لي في النهاية أنه غير مستعجل، فتعجبت، هذه أول مرة اسمعها- فيكون التخطيط مثلاً أننا سوف نبدأ التطوير في أول هذا الشهر، ثم نقوم بتثبيت النظام بداية الشهر القادم، والزمن الكلي هو شهران، ثم نقوم بحساب التكلفة بناءً على عدد اﻷفراد في فريق العمل بالنسبة للزمن الكلي، وهو شهران. وتكون هُناك متطلبات لابد من اﻹيفاء بها من جانب الزبون المستعجل. لكن يحدث أن ينتهي تطوير البرنامج أحياناً قبل وقته، لكن الزبون يعجز عن تلبية الطلبات في وقتها، فيصبح تنفيذ النظام يحتاج إلى أربعة أشهر بدلاً من شهرين فقط، وفي احد اﻷنظمة إنتهي النظام في شهر واحد وكان المخطط شهران، لكن الزبون عجز عن اﻹيفاء بمتطلباته – بما فيها المالية- حتى بعد خمسة أشهر.

المشكلة تكمن دائماً في اﻹيفاء بالمتطلبات التي ليست من جانبنا، بل من جانب الزبون، وهذا يقود إلى مشكلة أكبر وهي عندما نُخطط مالياً ليكون لنا دخل من المشروع في فترة زمنية معينة، يحدث تأخير لتحصيل هذا الدخل في موعده بسبب تأخر جزئيات معينة من المشروع. وهذا يُمكن أن يؤدي إلى كارثة، مثلاً يمكن أن يؤدي إلى عدم اﻹيفاء بمستحقات الموظفين أو المتعاقد معهم، واحياناً يُمكن أن يؤدي إلى إفلاس الشركة، خصوصاً إذا كانت شركة ناشئة وليس لديها إحتياطي كافي من الميزانية.

كحل لهذه المشاكل التي تعلمنا منها فننصح أولاً بمحاولة تقليل اﻹعتمادية على الزبون في المتطلبات، فإذا كُنت تستطيع أنت عمل المتطلب فاﻷفضل أن تقوم به، مثلاً بدلاً من أن تطلب من الزبون شراء جهاز كمبيوتر ليعمل كمخدم وكان بإستطاعتك أن تقوم أنت بشرائه، فاﻷفضل أن تشتريه أنت، حتى لو لم تكن هُناك فائدة مادية أو ربح جراء عملية الشراء، لكن هذا يرفر لك زمن كبير، حيث أن التأخر في شراء مخدم مثلاً يعطل تجهيزه ويُعطل تثبيت النظام وبالتالي يعطل التدريب، ثم يعطل دفع المستحقات المالية. كذلك عندما تطلب منهم كتابة تحليل كامل لما يحتاجونه، يمكن أن يتطلب ذلك أشهراً من الزبون الذي ربما لا يعرف ما يحتاج بالضبط، بدلاً من ذلك يُمكنك كتابة هذا التحليل والطلبات له ثم عرضها عليه ليزيد أو يغيير فيها.

من الحلول اﻷخرى هو ربط المستحقات بتنفيذ كل جزئية وليس لكل المشروع، مثلاً عند اﻹنتهاء من التطوير يتم دفع ٥٠٪ ولا يُشترط حينها أن يتم تثبيت النظام، فإذا تأخر الزبون في تجهيز المستخدمين أو البيئة التي سوف يعمل فيها النظام لا يضر ذلك بالشركة التي تقوم بتنفيذ هذا المشروع. كذلك يُمكنك تسليم النظام في بيئة التطوير الخاصة بك.

كحل آخر هو عدم اﻹتكال على أن الخطة الزمنية سوف تسري كما هي، مثلاً لا تلتزم مع زبون بأنك سوف تكون متفرغ له تماماً خلال الشهرين القادمين، بدلاً من ذلك يمكنك وضع مشروعات أخرى في نفس الزمن، فإذا فشل الزبون في تلبية المتطلبات أو فشل في أن يكون متفرغاً معك في نفس الوقت، تكون لديك خطة بديلة تُساهم في إنقاذ الوضع المالي بالنسبة للزمن.

هذه حصيلة لبعض ما تعلمناه من العمل الحر خلال العامين الماضيين.

تابع

Get every new post delivered to your Inbox.

Join 61 other followers