2008/07/04

Programming dream

يسعى العديد من المبرمجين (وأنا منهم) لبرمجة الأنظمة الكاملة المتكاملة التي تستطيع تخصيصها بسهولة حسب رغبة المستخدم عند تركيبها عنده، فعلى سبيل المثال إفترض أنك تريد القيام ببرمجة نظام متكامل لإدارة شركة تجارية، ماهي المنظومات التي تعتقد ستحتاجها؟

ستحتاج الى كل أو جزأ من المنظومات التالية:

  1. التسويق العقاري
  2. نقاط البيع (POS)
  3. الصيانة الوقائية
  4. التكاليف الصناعية
  5. مراقبة الإنتاج وتخطيط الإحتياجات
  6. الحضور والإنصراف (Attendance)
  7. شؤون العاملين
  8. المرتبات
  9. الأصول الثابتة
  10. الإعتمادات المستندية
  11. المشتريات والموردين
  12. العملاء والمبيعات (CRM)
  13. مراقبة وحسابات المخازن
  14. الحسابات المالية

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

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

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

No comments: