قهوة باردة وبيانات سجينة: قصة بدأت بيأس وانتهت بروبوت
بتذكّرها زي كأنها مبارح. كنا في واحد من المشاريع مع شركة خدمات مالية، وعندهم نظام محاسبة… يا إخوان، قصة لحاله. نظام قديم جداً، شاشة سوداء وحروف خضراء، زي أفلام الهاكرز تاعت التسعينات. النظام هذا فيه كنز من البيانات، كل تاريخ العملاء والمعاملات المالية موجود جواته، لكن المشكلة إنه نظام “عتيق” أو زي ما بنسميه بالانجليزي “Legacy System”. لا بيقبل يتكلم مع أنظمة جديدة، ولا فيه طريقة نطلع منه تقارير زي العالم والناس. لا يوجد ما يسمى API أو واجهة برمجية.
كان المطلوب من فريق المحاسبة كل يوم، الساعة 4 العصر، يجهزوا تقرير عن حركة حسابات أهم 100 عميل. العملية كانت كابوس حرفياً: الموظف يفتح النظام القديم، يدخل رقم حساب العميل الأول، ينسخ الأرقام من الشاشة بعينه، ويروح يكتبها على ملف إكسل. وبعدين يرجع للنظام، يدخل رقم العميل الثاني… وهكذا. شغلانة بتاخد من موظفين اثنين حوالي 3 ساعات كل يوم. 3 ساعات من النسخ واللصق اليدوي! والأدهى من هيك، نسبة الأخطاء البشرية كانت عالية. مرة بننسى صفر، مرة بنبدل رقمين، وتصير مشكلة كبيرة مع العميل أو في الحسابات الختامية.
في يوم من الأيام، دخلت عليهم المكتب الساعة 5 المسا، لقيتهم لسا شغالين، فناجين القهوة بردت جنبهم، والتوتر معبّي المكان. واحد منهم حكالي وهو شبه منهار: “يا أبو عمر، والله زهقنا هالشغلة، حياتنا صارت عبارة عن نسخ ولصق، حاسس حالي رجعت 20 سنة لورا”.
هون لمعت براسي فكرة. قلتله: “طيب شو رأيك لو نجيب ‘موظف’ جديد، ما بتعب، ما بزهق، ما بغلط، وبشتغل 24 ساعة… ومستعد يشتغل هالشغلانة المملة هاي ببلاش؟”. نظر إلي باستغراب وقال: “بتمزح؟ وين هاد نلاقيه؟”. ابتسمت وقلت: “هذا مش إنسان، هاد روبوت برمجي… اسمه RPA”. ومن هنا بدأت رحلتنا لإنقاذهم من هذا الجحيم اليومي.
ما هي “الأنظمة العتيقة” (Legacy Systems) ولماذا هي مشكلة؟
قبل ما نكمل، خلونا نفهم شو يعني “نظام عتيق”. ببساطة، هو أي نظام برمجي قديم ما زال قيد الاستخدام في شركة ما لأنه يؤدي وظيفة حساسة ومهمة، لكنه في نفس الوقت مبني بتقنيات قديمة جداً تجعل من الصعب أو المستحil تطويره أو ربطه بالأنظمة الحديثة.
تخيلها مثل سيارة كلاسيكية قديمة جداً. شكلها حلو وتراثية، ومحركها لسا شغال، لكن ما فيها تكييف، ولا شباك كهربا، ولا GPS، وتصليحها صعب لأنه قطعها نادرة. هاي هي الأنظمة العتيقة: تؤدي الغرض الأساسي، لكنها معزولة عن العالم الحديث.
لماذا لا نستبدلها ببساطة؟
قد يسأل سائل: “طيب ليش ما تغيروها وتجيبوا نظام جديد وخلص؟”. الجواب مش بهالبساطة يا جماعة. هذه الأنظمة غالباً ما تكون:
- مكلفة جداً للاستبدال: قد تكلف عملية الترحيل لنظام جديد ملايين الدولارات وسنوات من العمل.
- عالية المخاطر: أي خطأ في نقل البيانات من النظام القديم للجديد قد يسبب كارثة للشركة.
- متجذرة في عمق العمليات: كل عمليات الشركة مبنية حول هذا النظام القديم، وتغييره يعني تغيير طريقة عمل الشركة بأكملها.
لهذا السبب، تظل هذه الأنظمة كالجزر المنعزلة التي تحتوي على كنوز من البيانات لا يمكننا الوصول إليها بسهولة.
بطلنا المنقذ: أتمتة العمليات الروبوتية (RPA)
هنا يأتي دور بطل قصتنا: أتمتة العمليات الروبوتية (Robotic Process Automation – RPA).
انسَ صورة الروبوتات المعدنية اللي بنشوفها في الأفلام. الـ RPA هو “روبوت برمجي” (Software Bot)، يعني برنامج كمبيوتر مصمم ليحاكي تصرفات المستخدم البشري على الكمبيوتر. هو حرفياً “يقلد” ما تفعله أنت:
- يفتح التطبيقات.
- يسجل الدخول بكلمة سر واسم مستخدم.
- يضغط على الأزرار والقوائم.
- ينسخ البيانات من مكان (مثل شاشة النظام القديم).
- يلصق البيانات في مكان آخر (مثل ملف إكسل أو نظام آخر).
- يقرأ ويكتب في قواعد البيانات.
- يرسل ويقرأ رسائل البريد الإلكتروني.
الجمال في تقنية RPA أنها لا تحتاج إلى واجهات برمجية (APIs). هي تتعامل مع التطبيقات من خلال واجهة المستخدم (UI)، تماماً مثل الموظف البشري. لهذا السبب، هي الحل الأمثل للتعامل مع الأنظمة العتيقة المغلقة.
كيف بنينا أول روبوت لنا: خطوة بخطوة
الآن للجزء العملي. كيف حولنا الفكرة إلى واقع؟ استخدمنا أداة اسمها UiPath (وهناك أدوات أخرى ممتازة مثل Automation Anywhere و Blue Prism)، والخطوات كانت بسيطة ومباشرة.
الخطوة الأولى: تحليل وتوثيق العملية اليدوية
جلسنا مع الموظف الذي كان يقوم بالمهمة، وطلبنا منه أن يشرح لنا كل خطوة يقوم بها بالتفصيل الممل. “أولاً أفتح برنامج X، ثم أضغط على زر ‘بحث’، ثم أكتب رقم العميل في خانة ‘رقم الحساب’…”. قمنا بتسجيل كل نقرة وكل ضغطة مفتاح. هذه أهم خطوة، لأن الروبوت غبي، سيفعل ما تبرمجه عليه بالضبط. “لازم توثّق كل نفس بتتنفسه على الكيبورد”.
الخطوة الثانية: تصميم سير عمل الروبوت (Workflow)
باستخدام واجهة السحب والإفلات (Drag-and-Drop) في UiPath، بدأنا ببناء تسلسل الخطوات التي سيقوم بها الروبوت. العملية كانت تشبه بناء خريطة تدفق (Flowchart).
الخطوة الثالثة: برمجة منطق الروبوت (مثال توضيحي)
لم نكتب كوداً معقداً، بل استخدمنا “الأنشطة” (Activities) الجاهزة في الأداة. منطق الروبوت كان كالتالي (هذا ليس كوداً حقيقياً بل وصف للخطوات):
// 1. الإعداد الأولي
- نشاط: Read Range (Excel)
- الوصف: اقرأ قائمة أرقام حسابات العملاء من ملف "Customers.xlsx".
- الناتج: قائمة بأسماء العملاء (CustomerList).
// 2. فتح النظام القديم
- نشاط: Open Application
- الوصف: افتح برنامج "LegacyAccounting.exe".
- نشاط: Type Into
- الوصف: اكتب اسم المستخدم في حقل اسم المستخدم.
- نشاط: Type Secure Text
- الوصف: اكتب كلمة المرور في حقل كلمة المرور.
- نشاط: Click
- الوصف: اضغط على زر "دخول".
// 3. حلقة تكرارية لمعالجة كل عميل
- نشاط: For Each Row in (CustomerList)
- الوصف: لكل عميل في القائمة التي قرأناها...
// 3.1 البحث عن العميل
- نشاط: Type Into
- الوصف: اكتب رقم حساب العميل الحالي في حقل "بحث".
- نشاط: Click
- الوصف: اضغط على زر "بحث".
// 3.2 استخراج البيانات (Screen Scraping)
- نشاط: Get Text
- الوصف: استخرج النص من حقل "اسم العميل" وخزّنه في متغير (CustomerName).
- نشاط: Get Text
- الوصف: استخرج النص من حقل "رصيد الحساب" وخزّنه في متغير (AccountBalance).
- نشاط: Get Text
- الوصف: استخرج النص من حقل "تاريخ آخر معاملة" وخزّنه في متغير (LastTransactionDate).
// 3.3 كتابة البيانات في ملف إكسل جديد
- نشاط: Append Line (Excel)
- الوصف: أضف سطراً جديداً في ملف "Report.xlsx" يحتوي على (CustomerName, AccountBalance, LastTransactionDate).
// 4. إنهاء العملية
- نشاط: Click
- الوصف: اضغط على زر "خروج" في النظام القديم.
- نشاط: Close Application
- الوصف: أغلق برنامج "LegacyAccounting.exe".
// 5. إرسال إشعار
- نشاط: Send Outlook Mail Message
- الوصف: أرسل بريداً إلكترونياً إلى مدير المحاسبة بعنوان "التقرير اليومي جاهز" مع إرفاق ملف "Report.xlsx".
هذا التسلسل استغرق منا حوالي يومين لبنائه واختباره بشكل كامل. والنتيجة؟ عملية كانت تستغرق 3 ساعات من شخصين، أصبح الروبوت ينهيها في أقل من 10 دقائق، وبدقة 100%.
نصائح أبو عمر الذهبية لبدء رحلتك مع RPA
من خلال تجربتي، تعلمت بعض الدروس التي أحب أن أشاركها معكم:
- ابدأ صغيراً ومملاً: لا تحاول أتمتة عملية معقدة جداً في البداية. اختر مهمة سهلة، متكررة، وقائمة على قواعد واضحة، وتستهلك وقتاً طويلاً. هذه هي “الفريسة” المثالية لأول روبوت لك.
- أشرِك المستخدمين: الموظف الذي يقوم بالمهمة يدوياً هو خبيرك الأول. اجلس معه، افهم معاناته، واجعله جزءاً من الحل. هذا يضمن قبولهم للتقنية بدلاً من الخوف منها.
- خطط للاستثناءات (Exceptions): ماذا لو تعطل النظام؟ ماذا لو لم يجد الروبوت العميل؟ ماذا لو انقطع الإنترنت؟ يجب أن تبرمج الروبوت للتعامل مع هذه “المطبات” بشكل ذكي، كأن يرسل إشعاراً بالمشكلة أو يحاول مرة أخرى.
- الأمان أولاً: عند التعامل مع كلمات المرور والبيانات الحساسة، استخدم الأدوات المخصصة لإدارة بيانات الاعتماد بشكل آمن (Credential Vaults) التي توفرها منصات RPA، ولا تكتبها كنص عادي في الكود.
- الـ RPA جسر وليس وجهة نهائية: تذكر أن RPA هو حل تكتيكي رائع لسد الفجوة مع الأنظمة القديمة. لكنه لا يغني عن التخطيط الاستراتيجي طويل الأمد لتحديث هذه الأنظمة في المستقبل. هو يشتري لك وقتاً ثميناً ويوفر قيمة فورية.
الخلاصة: حرّر موظفيك، لا تستبدلهم 🤖
القصة التي رويتها لكم ليست فريدة من نوعها، بل تتكرر في آلاف الشركات حول العالم. البيانات هي نفط القرن الحادي والعشرين، والكثير من هذا النفط لا يزال محبوساً في آبار قديمة وصدئة. أتمتة العمليات الروبوتية (RPA) هي المثقاب الذي يمكننا من الوصول إلى هذا الكنز.
الأجمل في هذه التقنية أنها لم تأتِ لتستبدل الموظفين، بل لتحررهم. الموظفان في قصتنا تحولا من “ناسخين للبيانات” إلى “محللين للبيانات”. أصبح لديهم الآن الوقت الكافي لدراسة التقرير الذي يأتيهم جاهزاً، واستخلاص رؤى مفيدة للعمل، وتقديم قيمة حقيقية للشركة.
لذا، نصيحتي الأخيرة لك: انظر حولك في عملك. ابحث عن تلك المهمة التي يكرهها الجميع، تلك التي تستهلك الوقت والجهد بلا طائل. اسأل نفسك: هل يمكن لروبوت أن يقوم بها؟ في الغالب، الجواب هو نعم. فلا تتردد في استكشاف هذا العالم، لأنه قد يكون المفتاح لنقلة نوعية في انتاجيتك وإنتاجية فريقك. 👍