ملخص: في عصرنا هذا، أصبح العمل على تطوير البرمجيات جزءاً لا يتجزأ من عمل جميع الشركات. ومع السعي لمواكبة السباق لإنشاء برمجيات جديدة ودفع التحديثات واختبار الشفرات البرمجية مع كل خطوة، تدرك شركات كثيرة أنها لا تملك القوة البشرية اللازمة للقيام بذلك، وأن العثور على مبرمجين جدد قد يكون صعباً. لكن ما لا يدركه الكثيرون هو أنه بإمكان الموظفين الحاليين الاستفادة من التقدم الجديد في الذكاء الاصطناعي والأتمتة. إذ يمكن استخدام الذكاء الاصطناعي في معالجة الأخطاء والمساعدة في كتابة الشفرة البرمجية، وهي فرصة عظيمة لتوفير الوقت في اختبار الوحدات البرمجية، الذي يتم فيه فحص كل وحدة من الشفرة البرمجية على حدة، وهو عمل شاق يستغرق وقتاً طويلاً. يمكن أن يؤدي استخدام الأتمتة هنا إلى منح المبرمجين الوقت للقيام بأعمال أخرى أكثر ربحية، كما يمكنه أيضاً أن يسمح للشركات بإجراء اختبارات أوسع وأعمق من ذي قبل، إذ يعمل على فحص الملايين من أسطر الشفرات البرمجية في الأنظمة القديمة التي ربما جرى تجاهلها لفترات طويلة.
لسرعة الإنجاز أهمية كبيرة في تطوير البرمجيات، فمن يسبق في طرح تحديثات خالية من الأخطاء هو من يكسب السوق. وفي حين أن شركات التقنية تعرف ذلك من قبل، بدأت بقية الشركات الآن بالسعي للحاق بالركب. إذ يدرك كبار القادة أن شركاتهم، سواء كانت تعمل في قطاع تصنيع السيارات أو خدمات الطعام أو التمويل، تتحول أيضاً إلى شركات برمجية. فالبرمجيات اليوم أصبحت تتحكم في المصانع وتدير المخازن وتتداول الأسهم، وهي أهم واجهة للتعامل مع العملاء.
ولكن إذا كانت البرمجيات أساسية للاستمرار في المنافسة، فعلى الشركات رفع إنتاجية المبرمجين المكلفين والنادرين إلى أقصاها، وأسرع طريقة للقيام بذلك هي أتمتة المهام التي تهدر الوقت.
كيفية العمل على تطوير البرمجيات
خذ مثلاً واجهة المستخدم في أنظمة الترفيه الجديدة في السيارات، التي لا يزال شكل معظمها كما كان منذ 5 أعوام؛ ونظام "خرائط جوجل" الذي يفضله معظم السائقين على أنظمة الخرائط الخاصة بسياراتهم نظراً لتفوق واجهة المستخدم فيه ودقته الشديدة؛ وشركات الخدمات الغذائية التي لا تزال تهدر الطعام لأنها غير قادرة على التنبؤ بالطلب. يمكننا رؤية هذه الأمثلة وغيرها في كل مكان، لكن ليس بسبب عدم توفر حلول أفضل، وإنما بسبب تراكم المشاريع وإخضاعها للتجربة مع سعي المبرمجين لمواكبة التطور.
لكن، في حين تتسابق الشركات لمواكبة الركب ستدرك سريعاً أنها تواجه مشكلة صعبة أخرى، وهي أن عدد المبرمجين لديها ليس كافياً لكتابة جميع الشفرات البرمجية اللازمة لتلبية الطلب المتزايد باستمرار. تستغرق كتابة الشفرة البرمجية ساعات من العمل الشاق لصياغة الملايين من أسطر الشفرات البرمجية يدوياً، ثم يستغرق اختبار هذه الشفرات وقتاً طويلاً أيضاً. قال المبرمجون في دراسة استقصائية أجريت في عام 2019 إنهم يقضون 35% من وقتهم في اختبار البرمجيات. مع ازدياد عدد الشركات التي تحرز تقدماً في عمليات التحول الرقمي، تزداد أعباء العمل التي يحملها المبرمجون على كاهلهم، وتزداد صعوبة العثور على موظفين مؤهلين. ونظراً لعدم قدرة الشركات على توظيف مزيد من المبرمجين ببساطة، فليس أمامها سوى خيار واحد، وهو التوصل إلى طريقة لمساعدة موظفيها الحاليين على إنجاز قدر أكبر من العمل.
قد يكون تحقيق ذلك أسهل مما يبدو. يفهم القليل من المسؤولين في المناصب التنفيذية العليا أوجه القصور المتعمقة في عمليات تطوير البرمجيات المتبعة في شركاتهم، وكيف يمكن لمعالجتها مساعدتهم على التقدم واكتساب ميزة أكبر في المنافسة. ومع التقدم في الذكاء الاصطناعي وزيادة الأتمتة (التشغيل الآلي) في عمليات تطوير البرمجيات، تزداد إمكانية إعفاء المبرمجين من مهام روتينية متكررة وضرورية تستهلك نصف وقتهم، مثل كتابة اختبارات الوحدة البرمجية التي تتحقق من أن الشفرة البرمجية تعمل كما هو متوقع.
يجب على الرؤساء التنفيذيين والرؤساء التنفيذيين للتكنولوجيا السؤال عن عدد المرات التي تستخدم فيها مؤسساتهم البرمجيات. إذا كانت تستخدمها بضع مرات أو أقل، فعلى الأرجح أنها ستكون بحاجة إلى مسار مبيعات مؤتمت للبرمجيات بحيث يمكنها الاستمرار في المنافسة. وتدرك الشركات المتنافسة أن أجزاءً من مسار المبيعات هذا تصبح جاهزة للأتمتة كل عام، وأن الآن هو وقت أتمتة عملية الاختبار.
يمكن أن يخلق الذكاء الاصطناعي المعوقات، لكنه يعالجها أيضاً
لا يمكن أتمتة جميع مراحل عملية تطوير البرمجيات، ولكن التحسينات التدريجية في التكنولوجيا جعلت من الممكن أتمتة المهام ذات الأهمية المتزايدة. منذ 20 عاماً، أنشأ أحد المبرمجين في شركة "صن ميكروسيستمز" (SUN Microsystems) نظام تشغيل آلي أطلق عليه لاحقاً اسم "جنكنز" (Jenkins)، تمكن من إزالة المعوقات في مساري برمجيات التكامل المستمر والتسليم المستمر. وقبل 3 أعوام، طرحت شركة "فيسبوك" أداة اسمها "غيتافيكس" (Getafix) تتعلم من تصحيحات الشفرات البرمجية التي قام بها المهندسون سابقاً من أجل اقتراح تصحيحات للأخطاء. في نهاية المطاف، سيؤدي هذا التقدم، الذي يوفر الكثير من الوقت على المبرمجين، إلى الحدّ من حالات فشل البرمجيات وتوقفها عن العمل، وضمان ثباتها ومرونتها، وبالتالي سيؤثر مباشرة على العائدات.
لكن مع تسريع الذكاء الاصطناعي لعملية تطوير البرمجيات، يتزايد مقدار الشفرات البرمجية التي يجب اختبارها لتتراكم على نحو سريع ويصبح صعباً على المبرمجين التعامل معها بفاعلية. لحسن الحظ، يمكن أن تساعد الأتمتة والأدوات الآلية الجديدة في هذا الأمر أيضاً.
لطالما كان من الصعب أتمتة المهام الأساسية التي تتطلب من المبرمجين كتابة شفراتها البرمجية يدوياً. خذ مثلاً اختبار الوحدة البرمجية الذي يعمل على فحص أصغر الأجزاء المنفصلة من الشفرة البرمجية، فقد أصبح حجر الزاوية في البرمجيات المستخدمة في الشركات، وعقبة شائعة أخرى لم يكن بالإمكان معالجتها إلى أن أتيحت الأدوات المؤتمتة مؤخراً. يكتب المبرمجون اختبارات البرمجيات وينفذونها على أقسام التطبيق من أجل ضمان عمل كل قسم كما هو مقرر له. ولأن اختبارات الوحدة البرمجية تنفّذ بسرعة وفي مراحل مبكرة من عملية كتابة الشفرة البرمجية، يمكن للمبرمجين إصلاح المشكلات في أثناء سير العملية، وبالتالي تسليم البرمجيات المنتهية بسرعة أكبر.
لكن كتابة اختبارات الوحدة البرمجية هي عملية شاقة معرضة للأخطاء وتستهلك الوقت، وتعيق من يجرون الاختبارات على عمل زملائهم عن القيام بأعمال إبداعية أكثر تدر الربح على المؤسسة. كما أن إجراء الاختبارات يحتاج بطرق شتى إلى عمل عدد كبير من الموظفين أكثر مما يحتاج إليه بناء البرمجيات، إذ يجب كتابة اختبار للأداء والقدرة الوظيفية والأمان وما إلى ذلك لكل وحدة برمجية. تبلغ قيمة هذا القطاع 12 مليار دولار، لكن يتم إنفاق معظم هذه الأموال على أعمال يدوية يتم إنجاز قسم كبير منها عن طريق التعهيد الخارجي.
وهنا يأتي دور الأتمتة. فالخوارزميات، سواء طورتها المؤسسة نفسها أو اشترتها من مصدر خارجي، أسرع من البشر في كتابة الاختبارات، وتقوم بتنفيذها تلقائياً مع تطور الشفرة البرمجية. علاوة على ذلك، يمكنها كتابة الاختبارات المؤتمتة بطريقة يمكن للبشر فهمها بسهولة، وهذه فرصة رائعة لتوفير جهد العمالة الماهرة، إذ تتضمن التطبيقات اليوم عشرات الملايين من أسطر الشفرات البرمجية.
يوفر اعتماد هذا النوع من الأتمتة للشركات بعض الفوائد المهمة.
فهو أولاً يسمح بإجراء اختبارات لم يكن بالإمكان إجراؤها من قبل ببساطة. إذ يمكن لأتمتة المهام إنجاز الأعمال الضرورية التي تتجاهلها شركات كثيرة حالياً لأنها تحتاج إلى جهد عدد كبير من الموظفين. وأصبح كثير من الخدمات والتطبيقات التي تمد العالم بالطاقة اليوم ضخماً من حيث الحجم، ولا يملك أي شخص رؤية كاملة عن كل ما يحدث. كما تملك الشركات رزماً من الشفرات البرمجية القديمة التي لم تجر عليها اختبارات الوحدة البرمجية كما يجب. ومع تطور الشفرة البرمجية تتطور مشكلات الجودة، لكن الشركات لا تستطيع تحمل تكاليف إعادة كتابة الشفرة البرمجية أو كتابة شفرة جديدة. ومن دون الاختبارات الجيدة التي يتم إجراؤها في مراحل مبكرة، سيكون من السهل جداً ظهور أعطال جديدة عند تكرار تنفيذ البرمجيات وترقيتها، ما يستدعي جهداً كبيراً يستهلك الوقت من أجل العثور على هذه الأعطال وإصلاحها فيما بعد، وهذا يجعل عدد مرات إطلاق الشفرة البرمجية الممكن محدوداً.
خذ مثلاً قطاع المصارف، حيث تدير مئات الملايين من أسطر الشفرات البرمجية أكبر مصارف العالم. وبالنسبة للتطبيقات المصرفية التي تقوم المؤسسة بتطويرها بالكامل، يمكن أن تظهر بعض المشكلات مع تطور البرنامج، لاسيما عندما تقوم الشركات بتسليم الإصدارات الجديدة بسرعة أكبر. أصبح المستهلكون يتوقعون تحديثات تلقائية وقدرات وظيفية تتزايد بمرور الوقت. لذا، لجأت مصارف كثيرة لتبني مبادئ التكامل المستمر والتسليم المستمر للتحديثات البرمجية، ما أدى إلى تقليص زمن إكمال مهمات تطوير الميزات الجديدة أو زمن تعديل الشفرة البرمجية من أشهر إلى دقائق. لمعالجة هذا الأمر، بدأت مصارف مثل "غولدمان ساكس" باستخدام الذكاء الاصطناعي من أجل أتمتة كتابة اختبارات الوحدة البرمجية، وستحذو المؤسسات المالية الأخرى حذوها على الأرجح.
ثانياً، تسمح الأتمتة للمصارف بدفع البرمجيات والتحديثات الجديدة بوتيرة أكبر. في البيانات التي جمعها مؤلفو كتاب "سرّع" (Accelerate)، الذي يعتبر أهم مرجع لهذا النموذج من تطوير البرمجيات، تبين أن معدل الفشل في المؤسسات التي تقوم بدفع الشفرة البرمجية (push code) بوتيرة أكبر يقل بمقدار الخمس وتزداد سرعة التعافي من توقف البرمجيات عن العمل بمقدار 170 مرة مقارنة بالمؤسسات الأخرى.
وأخيراً، يمكن استثمار الوقت الذي وفره المبرمجون في حل مزيد من المشكلات الصعبة والتفكير في طرق جديدة لإسعاد المستخدمين أكثر. كما أن الأتمتة تتمتع بميزة أقل وضوحاً، وهي أنها تمنح المبرمجين مساحة راحة تتيح لهم التعامل مع العمل الطارئ غير المخطط له، أو التغييرات على الخطط المتبعة لتلبية احتياجات العميل، أو القيام بأعمال التحسينات. وهذا يساعد أصحاب العمل على استبقاء المهندسين الموهوبين، كما يتيح للمبرمجين الاستجابة للتطورات على نحو أسرع.
الأتمتة هي مستقبل تطوير البرمجيات
ستصل الأتمتة إلى جميع مراحل عملية التطوير، وقد تصل إلى بعضها قبل البعض الآخر. وستزداد خيارات الأتمتة بازدياد قوة أنظمة الذكاء الاصطناعي. خذ مثلاً نموذج "الجيل الثالث من تقنية المحول المدرَّب لتوليد النصوص" (GPT-3) الهائل الذي صنعته شركة "أوبن أيه آي" (OpenAI)، فمن الممكن استخدامه في ترجمة اللغة البشرية الطبيعية إلى تصميمات لصفحات إلكترونية على الإنترنت، وقد يتم استخدامه في النهاية من أجل أتمتة مهام كتابة الشفرة البرمجية. ولكن في نهاية المطاف، ستتولى الآلات أجزاءً كبيرة من سلسلة بناء البرامج وتسليمها وصيانتها. ومع الوقت، سيعمل الذكاء الاصطناعي على أتمتة عملية كتابة البرمجيات التطبيقية بأكملها.
مبدئياً، يجب على الرؤساء التنفيذيين والرؤساء التنفيذيين للتكنولوجيا التمعن في المجالات التي يمكن تشغيلها آلياً في الوقت الراهن، مثل كتابة اختبارات الوحدة البرمجية وغيرها من الأعمال الثانوية المهمة. ويجب أن يتنبّهوا دائماً للمجالات الأخرى التي يمكنهم من خلالها العمل على تطوير البرمجيات وتشغيلها آلياً فيما بعد مع تطور التكنولوجيا. أخيراً، يجب على القادة دمج هذه التوقعات في خطط العمل طويلة الأجل، وإلا ستقع مؤسساتهم في مأزق صعب للغاية.